📄 snr_max.m
字号:
%最大输出信噪比准则;
clear;
D=3; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%空间源信号的个数;
M=8;%%%%%%%%%%%%%%%%%%%%%%%%圆阵列的个数;
rd=1.5;%%%%%%%%%%%%%%%%%%%%%%%%孔径比;
% snr=[20,10,10 10];
% amp=10.^(snr/20);
% Bd=42.6;
BB=[50 95 140 ];%45 ];% 66.8 123.5 ];
% w=1000000;
% ws=2.5*w;
% Ns=10000;
for j2=1:D;
j1=1:M;
A(:,j2)=exp(j*2*pi*rd*cos(2*pi*(j1'-1)/M-BB(j2)*pi/180));%方向矢量
end
% fre1=[1000 400 600]; %%input('analong frequency is:'); modsg
% fre2=[25000 26000 24000]; %%input('carrying frequency is:'); If
% % fre3=input('sampling frequency is:'); Fs
% mod=[.4 .4 .4]; %%input('modulation factor is:'); Ka 调幅指数
snr=[10 30 30]; %%input('signal to noise ratio is:'); snr
%doa=[20 40]; %%input('direction of arrival is:'); doa
% dw=.5; %%input('d to lamda ratio is:'); dw
%M=16; % M=9
Ns=500; % 采样点数
%n=0:Ns-1;
%m=0:M-1;
amp=10.^(snr/20); %幅度和SNR的换算
Ds=[1 1 0 0 1 0 1 0 1 1 0 1];%%%%%%%%%%%%%%%数字信号;
ns=8;
Ns=length(Ds)*ns;
s1=dsign(1,Ds,ns,2500000,1000000,amp(1));
s2=dsign(2,Ds,ns,2500000,3500000,amp(2));
s3=dsign(3,Ds,ns,2500000,1500000,amp(3));
%s4=dsign(4,Ds,ns,2500000,4500000,amp(4));
S=[s1;s2;s3];%;s4];
% for k=1:3;
% S(k,:)=amp(k)*(1+mod(k)*sin(2*pi*fre1(1,k)/100000*n)).*cos(2*pi*fre2(1,k)/100000*n); %AM
% % DirectionMatrix(:,k)=exp(j*2*pi*dw*m'*sin(doa(k)*pi/180)); %直线阵
% end
%S=[amp(1)*cos(2*pi*w*(1:Ns)/ws);
% amp(2)*(1+0.6*cos(2*pi*5000*(1:Ns)/ws)).*cos(2*pi*1.5*w*(1:Ns)/ws);
%amp(3)*(1+0.3*cos(2*pi*3000*(1:Ns)/ws)).*cos(2*pi*w*(1:Ns)/ws)
%amp(4)*(1+0.75*cos(2*pi*4500*(1:Ns)/ws)).*cos(2*pi*2.5*w*(1:Ns)/ws)
%]; %%源信号采样;
Noise=randn(M,Ns);
%N=hilbert(Noise)/sqrt(2);
N=(Noise+j*Noise)/sqrt(2);
X=A*S+N;
Rx=X*X'/Ns;
Rxd=X*s1'/Ns;
Wopt=inv(Rx)*Rxd;
%Wopt=A(:,1)/sqrt(A(:,1)'*A(:,1));
R=0;
for j1=0:0.1:180;
j2=1:M;
R=R+1;
Direction(:,R)=exp(j*2*pi*rd*cos(2*pi*(j2'-1)/M-j1*pi/180));%方向搜索
end
Patten=abs(Wopt'*Direction);
patten_max=max(Patten);
Patten=Patten/patten_max;
% for j=1:180;
% j1=1:M;
% G(j)=20*log(abs(Wopt'*exp(i*2*pi*rd*cos(2*pi*(j1'-1)/M-j*pi/180))));
% end
figure(1)
b=0:0.1:180;
plot(b,20*log10(Patten) ,'b');
xlabel('方位角');
ylabel('P(dB)');
title('阵列输出的方向图');
text(91,-5,'\fontsize{26}\downarrow\fontsize{16}\fontname{隶书}零陷');
text(136,-5,'\fontsize{26}\downarrow\fontsize{16}\fontname{隶书}零陷');
%text(98,-10,'\fontsize{16}\uparrow');
axis([0 180 -70 0])
grid on;
% figure(2)
% b=b*pi/180;
% polar(b,20*log10(Patten));
% R=0;
% for j1=0:0.1:180;
% R=R+1;
% j2=1:M;
% a=exp(j*2*pi*rd*cos(2*pi*(j2'-1)/M-j1*pi/180));
% P(R)=abs((a'*(Rx)*a)/(a'*a));
% end
% figure(2)
% b=0:0.1:180;
% plot(b,20*log10(P) ,'b');
% grid on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -