【雷达通信】阵列信号处理(Matlab代码实现)

news2024/12/22 14:51:42

 👨‍🎓个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


💥1 概述

频谱设备的多样化应用带来了日益复杂的电磁环境,同时也给担负重要军事任务的机动作战平台带来一定的挑战。为了更好的适应以及应对复杂多变的电磁对抗,机动作战平台需要装备大量的电子设备。例如美国F-22战机装备的电子设备已超过了14个[1。电子设备的增多必然导致机动作战平台空间、能耗的紧张。雷达和通信作为机动作战平台执行任务不可缺少的重要功能,对其天线进行一体化设计成为提升机动作战平台性能的一种有效方式。

与线性阵列相比,平面阵列天线可以在两个方向上控制波束指向,应用场景更加广泛。稀疏布阵和子阵交错技术的出现为天线共享计提供了新的解决方案。稀疏布阵是在满阵列的基础上对阵列进行稀疏化,即采用较少的阵元便可在主要指标上达到原阵列的性能。子阵交错技术是在稀疏阵列的基础上,将多个阵列交错放置,使得天线阵列在同一孔径可以实现多功能。随着计算机技术的发展,快速算法智能优化算法逐渐应用到平面阵列的共享设计上。
 

比较了不同设计准则下的输出信干噪比(OSINR),包括MPDR、SMI、RMI、对角加载(DL)、子空间投影(SISP)
 

📚2 运行结果

 

 

部分代码:

%初始化输出信干噪比矩阵
osinr_mpdr=zeros(length(snr),N);
osinr_smi=zeros(length(snr),N);
osinr_rmi=zeros(length(snr),N);
osinr_dl=zeros(length(snr),N);
osinr_sip=zeros(length(snr),N);

%初始化失配广义夹角矩阵
angle_mismatched_mpdr=zeros(1,length(snr));
angle_mismatched_smi=zeros(1,length(snr));
angle_mismatched_rmi=zeros(1,length(snr));
angle_mismatched_dl=zeros(1,length(snr));
angle_mismatched_sisp=zeros(1,length(snr));


theta0=0;
theta1=60;
theta2=-60;
a0=exp(1i*2*pi*d*sin(theta0*pi/180)*(0:L-1)');
a1=exp(1i*2*pi*d*sin(theta1*pi/180)*(0:L-1)');
a2=exp(1i*2*pi*d*sin(theta2*pi/180)*(0:L-1)');
b0=exp(1i*2*pi*d*sin((theta0+2)*pi/180)*(0:L-1)');
for m=1:length(snr)
    sigma0=sigma*10^(snr(m)/20);
    %两个干扰源,信干噪比为-30dB
    inr1=snr(m)+30;
    inr2=snr(m)+30;
    sigma1=sigma*10^(inr1/20);
    sigma2=sigma*10^(inr2/20);
        
    Rxx = sigma0^2*(a0*a0')+sigma1^2*(a1*a1')+sigma2^2*(a2*a2')+sigma^2*eye(L);
    Rin = sigma1^2*(a1*a1')+sigma2^2*(a2*a2')+sigma^2*eye(L);
    
    for i = 1:N
        st0=(randn(1,K)+1i*randn(1,K))/sqrt(2)*sigma0;
        st1=(randn(1,K)+1i*randn(1,K))/sqrt(2)*sigma1;
        st2=(randn(1,K)+1i*randn(1,K))/sqrt(2)*sigma2;
        nt =(randn(L,K)+1i*randn(L,K))/sqrt(2)*sigma;
        
        xt = a0*st0+a1*st1+a2*st2+nt;
        sRxx = xt*xt'/ K;
        
        [eive,eiva] = eig(sRxx);         %eive是特征向量,eiva是特征值
        [temp,order] = sort(diag(eiva)); %order排序后对应原向量元素位置;temp 排序后的元素;从小到大排序
        sigma_e = sqrt(sum(temp(1:L-M)));
        Us = eive(:,order(L-M+1:L));
        Rin_e = a1*a1'/(a1'*inv(sRxx)*a1) + a2*a2'/(a2'*inv(sRxx)*a2) + sigma_e^2*eye(L);%?小特征值对应噪声功率

        w_mpdr = inv(Rxx)*a0 /(a0'*inv(Rxx)*a0);
        w_smi  = inv(sRxx)*b0/(b0'*inv(sRxx)*b0);
        w_rmi  = inv(Rin_e)*b0/(b0'*inv(Rin_e)*b0);
        w_dl   = inv(sRxx+1*sigma_e^2*eye(L))*b0/(b0'*inv(sRxx+1*sigma_e^2*eye(L))*b0); %rou=10
        w_sip  = inv(sRxx)*Us*Us'*b0;
        
        osinr_mpdr(m,i)=sigma0^2*(abs(w_mpdr'*a0))^2/abs(w_mpdr'*Rin*w_mpdr);
        osinr_smi(m,i) =sigma0^2*(abs(w_smi'*a0))^2/abs(w_smi'*Rin*w_smi);
        osinr_rmi(m,i) =sigma0^2*(abs(w_rmi'*a0))^2/abs(w_rmi'*Rin*w_rmi);
        osinr_dl(m,i)  =sigma0^2*(abs(w_dl'*a0))^2/abs(w_dl'*Rin*w_dl);
        osinr_sip(m,i) =sigma0^2*(abs(w_sip'*a0))^2/abs(w_sip'*Rin*w_sip);
        
        a0_mpdr=Rxx*inv(Rxx)*a0;
        a0_smi=Rxx*inv(sRxx)*b0;

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]李志勇,娄昊,韩文婷,周余昂.雷达-通信一体化平面阵列天线共享设计[J].信号处理,2021,37(07):1332-1338.DOI:10.16798/j.issn.1003-0530.2021.07.024.

🌈4 Matlab代码实现

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/22448.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

聊聊Go里面的闭包

以前写 Java 的时候,听到前端同学谈论闭包,觉得甚是新奇,后面自己写了一小段时间 JS,虽只学到皮毛,也大概了解到闭包的概念,现在工作常用语言是 Go,很多优雅的代码中总是有闭包的身影&#xff0…

嵌入式图形开发框架Qt——让牙科手术开始迈入机器人时代

Neocis软件工程总监,Jim Tieman: “我们Neocis是一家致力于提高科医生能力和促进病人护理的牙科机器人公司。之前我们有一个Microsoft Foundations Class (MFC)的应用程序,由于现在团队擅长MFC开发的技术员并不多,维护起来也很费劲。之前这个…

AST 初探深浅,代码还能这样玩?

AST 听起来好像是个很新的东西,那么具体有什么用,好不好用就在这篇文章中找到答案吧~ 我们简单将这个词拆分抽象、语法、树,如果我们能够顺利将这个词拆分,那么我们也就掌握了其核心所在 抽象:抽象的反义词是具象&…

微信小程序|使用小程序制作一个2048小游戏

文章目录一、文章前言二、创建小程序三、功能开发一、文章前言 此文主要通过小程序实现2048游戏,游戏操作简单,容易上手。 规则:正常打开游戏的界面,会只有两个2,每次移动后都会出现一个2,数字大了之后会出…

RabbitMQ初步到精通-第八章-Java-AMQP-Client源码分析

目录 第八章-Java-AMQP-Client源码分析 1、背景 1.1 客户端介绍 1.2 看源码好处 1.3 如何看源码 2、生产者 3、消费者监听 4、创建连接 5、消费者消费 6. 总结: 第八章-Java-AMQP-Client源码分析 1、背景 1.1 客户端介绍 通过前面几章的学习,大家对…

工作以来一直在CRUD,Spring源码该怎么阅读?这份价值百万的源码解析让你如有神助!

初学SpringBoot框架时,第一次启动服务,直呼什么鬼?只需要简单的几步配置,几个核心的注解,就可以快速实现工程的搭建和运行; 虽然从Spring框架迁移到SpringBoot框架,在初期会有很多的不适应&…

谈谈对跨域(跨源)的一些理解

一、相关概念 1、什么是跨域? 跨域又称为跨源,是指在违反了浏览器的同源政策,也就是协议、域名和端口号三者不完全一致的情况下产生的。只要客户端与浏览器的三者有一项不同,就属于不同源,就会产生跨域。 很多初级开…

G 蛋白偶联受体与小分子化合物的相互作用

化学遗传学 (Chemogenetics) 是指一种蛋白被改造与先前未被识别的小分子化合物相互作用的过程。多种蛋白的改造已被报道,包括激酶、非激酶的酶类、G 蛋白偶联受体 (GPCRs) 和配体门控离子通道。化学遗传学技术 DREADDs (Designer receptors exclusively activated b…

MapReduce分区、排序、Combiner

Shuffle MapReduce的Map阶段与Reduce阶段之间有一个Shuffle的过程,包括分区、排序等内容。数据从Map阶段出来后,会进入一个环形缓冲区(默认100M),环形缓冲区中会同时记录数据和索引,当使用了80%的时候&…

PostgreSQL主从数据库数据同步

运行环境 操作系统:Debian 11.5 数 据 库:PostgreSQL 14.6 主数据库:192.168.8.68 从数据库:192.168.8.69 使用apt-get安装postgresql,安装方法可以参考 https://blog.csdn.net/itbs/article/details/127909359?…

智能家居环境小护士(原理图、pcb、源码、设计报告)

目录 ARM-STM32校园创新大赛 1 题 目: 智能家居环境小护士 1 摘要 1 引言 2 系统方案 3 整套系统的工作原理是:单片机是整套系统的控制核心,温湿度传感器负责测试环境中的温湿度;烟雾传感器负责检测空气中的有毒气体,…

数据同步工具DataX介绍和原理

目录1. DataX介绍2. 框架设计3. 架构1. DataX介绍 DataX是一个各种数据源之间的离线数据同步工具 DataX的设计理念是一种星型数据链路。DataX作为中间传输载体负责连接各种数据源,通过reader从一个数据源读取数据,再通过writer将数据写入另一个数据源。…

Hadoop运行模式

hgfhfg Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。 Hadoop官方网站:Apache Hadoop 一、本地运行模式 官方Grep案例 1. 创建在hadoop-2.7.2文件下面创建一个input文件夹 mkdir input 2. 将Hadoop的xml配置文件复制到input cp et…

FTP替代产品方案的优异性体现在哪些方面?

多年来,FTP一直是最常见的交换文件的方式,FTP-FTPS-SFTP似乎是FTP的不断迭代更新,但是究竟是技术更新导致FTP过时?还是它真的已经满足不了企业的需求了? 之前,大家选择FTP往往是因为它简单易得的特性&…

在 MySQL 中模拟外部联接 (LEFT、RIGHT、INNER JOIN、OUTER JOIN)

上周的文章详细介绍了 SELECT 查询中的外部联接。它是一种 JOIN 类型,可以从相关表中返回匹配和不匹配的行。遗憾的是,并非所有数据库(DB)供应商都支持它,包括 MySQL。但这没关系,因为可以通过组合其他三种…

【Java】构造方法及类的初始化

一. 利用构造方法给对象初始化 1. 构造方法的概念 构造方法(也称为构造器)是一个特殊的成员方法,其名字必须与类名相同,在创建对象时,由编译器自动调用,并且在整个对象的生命周期内只调用一次。 构造方法的作用就是给对象中的成…

心知天气api接口怎么用?

心知天气是什么?心知天气提供API吗? 心知天气是国内领先的气象服务商,由中国气象局官方授权的商业气象服务公司,基于气象数值预报和人工智能技术,提供高精度气象数据、天气监控机器人、气象数据可视化产品&#xff0c…

基于PHP+MySQL美食分享网站的设计与实现(含论文)

本系统是一个基于PHP和MySQL的美食分享网站,在本网站中用户可以通过注册登录来查看其他人分享的美食,查看周边好吃的店铺,分享和管理自己的美食,并且可以对他人分享的美食进行评论等一系类操作,通过这些操作可以让大家更加愉快的就美食进行交流 通过上图我们可以看到美食网站的…

Web APIs——DOM

JS 的组成 Web API Web API 是浏览器提供的一套操作浏览器功能和页面元素的 API ( BOM 和 DOM )。 现阶段我们主要针对于浏览器讲解常用的 API , 主要针对浏览器做交互效果。 比如我们想要浏览器弹出一个警示框, 直接使用 alert(‘弹出’) MDN 详细 API : https://d…

如何在Github精准地搜索项目

文章目录1、Github的项目有什么组成?2、如何搜索?in:name 条件in:readme 条件in:description 条件language:条件pushed: 条件stars: 条件awesome 关键字3、查看阅读项目https://blog.csdn.net/qq_45069279/article/details/107809617 https://blog.csdn.…