• 大小: 4KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: Matlab
  • 标签: MVDR  

资源简介

DOA 估计中的MVDR算法,也称Capon算法,的Matlab程序的仿真与实现

资源截图

代码片段和文件信息


%capon波束形成器,也称MVDR波束形成器。
%它试图使噪声以及来自非θ方向的任何干扰所贡献的功率为最小但又能保持在观测方向θ上的信号功率不变

%当权向量的方向角选择得和发送信号都不符合时,方向图零点的个数等于M-1;
%当权向量的方向角选择得和发送信号之一符合时,另一个信号的强烈干扰置为0
%信号中不再含有强干扰
%保证输出功率最小的同时,约束条件为W‘*a(theta0)=1)

close all;    %关闭所有正在运行的窗口
clear all;    %清空缓存
clc;          %清屏 命令窗口
M=8;          %假设空间 阵列的 阵元数目 M=8
%X=[];         %阵元接收信号矢量为x(t)。某一固定时刻,接收信号是一个列向量X=[];
theta=[-20 60 80];       %设置仿真所用的信号 入射角度,单位是度。仿真中,构造信号时作为已知量,估计的时候是不知道的
theta=theta.*pi/180;     %对上述单位为 度 的交度进行转换,化为 弧度 形式
d_=0.5;                   %因为距离d一般设置为波长λ的一半,所以此处直接令:d/λ=0.5
W=2*pi*d_.*sin(theta);    % 导向矢量中,三个信号源的 空间相位

%%%%      构造发送信号  
N=1000;                    %假设快拍数  N=1000
n=1:N;                     % n从1开始,以步长1 增长到 1000
s1=(10)*cos(2*pi*0.01*n);  %不考虑载波,此处设置三个信号s1s2s3 为幅度,频率都不相同的信号,
                           %因为信号频率不同,因此一定是非相干信号,其中的 n 代表该采样信号的采样时刻
                           % n 从1 到1000 ,每个信号Si 分别采样1000次,即每个信号有1000个样本点
s2=(17)*cos(2*pi*0.15*n);
s3=(28)*cos(2*pi*0.35*n);
noise=wgn(MN0);          %产生一个M*N 的高斯白噪声矩阵,噪声能量为 0dB。因为,假设已知噪声功率为1所以:10*log1=0
                           % 注意:每个采样点在每个天线阵元上都要加入高斯白噪声
%%%%%%%    接收信号X 
                                 % 注意,此处求接收信号矩阵X,是先求该矩阵中第m个阵元,q时刻的接收信号向量X(mq)
 for m=1:M                       % 大循环为 天线阵元M
     for q=1:N                   % 小循环 为每个天线阵元上接收到的1000个采样信号点的值,q从1 到1000,默认步长为1
         Y=[s1(q) s2(q) s3(q)];  % 构造

评论

共有 条评论