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

资源简介

多级维纳滤波器MATLAB代码,能够正常运行,在小快拍的情况下产生宽零陷,能降低权值计算求解的计算复杂度。

资源截图

代码片段和文件信息

%数据中含有或不含有期望信号对方向图有影响,当MWF也采用理想数据时,性能相同且采样数可以大大减小;
%当变换B_0、h0为B、Wq,则为LC-MWF
clc;
clear all;
close all;
N=8;%辅助天线的数目
d=0.5;
theta=-90:0.5:90;
theta_signal=0;            %来波方向
theta_jamming1=-45;        %干扰方向
theta_jamming2=25;         %干扰方向
theta_jamming3=55;         %干扰方向
L=128;%采样单元数
steer_signal=exp(1i*2*pi*d*sin(theta_signal*pi/180)*[0:N-1]‘); %期望信号导向矢量
%干扰信号导向矢量
steer_jamming1=exp(1i*2*pi*d*sin(theta_jamming1*pi/180)*[0:N-1]‘); 
steer_jamming2=exp(1i*2*pi*d*sin(theta_jamming2*pi/180)*[0:N-1]‘);
steer_jamming3=exp(1i*2*pi*d*sin(theta_jamming3*pi/180)*[0:N-1]‘);
%训练数据中不含期望信号时和含有期望信号时
for i=1:L;
    amp_signal=sqrt(2*10)*randn(1);%信号的幅度随机产生,保证信号之间是不相关的
    amp_jamming1=sqrt(2*10^4)*randn(1); %4
    amp_jamming2=sqrt(2*10^3.5)*randn(1); %3.5
    amp_jamming3=sqrt(2*10^5)*randn(1); %5
    amp_noise=sqrt(2);
    jam(:i)=amp_jamming1*exp(1i*2*pi*d*sin(theta_jamming1*pi/180)*[0:N-1]‘)...
             +amp_jamming2*exp(1i*2*pi*d*sin(theta_jamming2*pi/180)*[0:N-1]‘)...
             +amp_jamming3*exp(1i*2*pi*d*sin(theta_jamming3*pi/180)*[0:N-1]‘)...
             +amp_noise*(randn(N1)+1i*randn(N1));%干扰+噪声
    s(:i)=amp_signal*exp(1i*2*pi*d*sin(theta_signal*pi/180)*[0:N-1]‘)...
           +amp_jamming1*exp(1i*2*pi*d*sin(theta_jamming1*pi/180)*[0:N-1]‘)...
           +amp_jamming2*exp(1i*2*pi*d*sin(theta_jamming2*pi/180)*[0:N-1]‘)...
           +amp_jamming3*exp(1i*2*pi*d*sin(theta_jamming3*pi/180)*[0:N-1]‘)...
           +amp_noise*(randn(N1)+1i*randn(N1));%接收信号(信号+干扰+噪声)
end
Rs=10*steer_signal*steer_signal‘;%期望信号自相关矩阵,相当于X(t)
Rj=10^4*steer_jamming1*steer_jamming1‘...
   +10^3.5*steer_jamming2*steer_jamming2‘...
   +10^5*steer_jamming3*steer_jamming3‘;
Rn=eye(N);
Rx=Rs+Rj+Rn;%接收信号协方差矩阵?
%R=s*s‘/L;
%Sx=1/L*s*s‘; %接收信号协方差矩阵
Sx=1/L*jam*jam‘;
us=d*sin(theta_signal*pi/180); %期望信号方向空间频率;
d0

评论

共有 条评论

相关资源