⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snr_max.m

📁 波束合成的最大输出信噪比准则
💻 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 + -