资源简介
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)]; % 构造
- 上一篇:认知无线电中的能量检测算法matlab代码
- 下一篇:matlab GUI录音程序
评论
共有 条评论