?? mus_svd.m
字號:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 空間譜估計中 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clearclose allclc%%%%%%%%%%%%%%%%%%%%%%% generate signal %%%%%%%%%%%%%%%%%f0=5000; %入射信號頻率fs=1000; %采樣頻率ts=1/fs; %采樣間隔M=8; %陣元數L=100; %快拍數SNR=20; %信噪比 %%%%%% the0=[-10 20];Q=length(the0); %信號源數c=1500;lamda=c/f0;d=lamda/2; %c為水下聲速,d為陣元間距t=(1:L)*ts; % 采樣時刻序列K=sqrt(2*10^(SNR/10)); %信號的幅度,Pn=1,the load impedance is 1 ohm.u1=10;s1=K*exp(j*(2*pi*u1*(t-1)+pi/6));s2=K*exp(j*(2*pi*u1*(t-1)+pi/3)); % s3=K*exp(j*(2*pi*u1*(t-1)+pi/2)); %相干信源ss=[s1;s2]%;s3]; %相干信號源矩陣 基帶信號%%%%%%%%%%%%%%%%%%%%% 生成導向矢量矩陣 %%%%%%%%%%%%%%%%%%%m=0:M-1;A=exp(-j*2*pi*m'*d/lamda*sin(the0*pi/180));%%%%%%%%%%%%%%%%%%%%% 數據協方差矩陣%%%%%%%%%%% Nn = wgn(M,L,0,'complex');% M columns vector of length 100 containing complex white Gaussian noise, each component of which has a noise power of 0 dBWX=A*ss+Nn; %陣列接收的相干信號, 情況2 R=X*X'/L; %陣列采樣數據協方差矩陣[U S V]=svd(R);e=U(:,1); %最大特征值對應的特征矢量x=X*X(1,:)'/L; %數據矢量%%%%%%%%%%%%%%%%%%% 構造矩陣Y %%%%%%%%%%%%%%%%%%%mm=4;p=5;Y=zeros(mm,p);for k=1:p Y1(:,k)=e(k:k+mm-1); Y2(:,k)=x(k:k+mm-1);end%%%%%%%%%%%% 解相干后的噪聲子空間 %%%%%%%%%%%%%%%%[U1 S1 V1]=svd(Y1);Un1=U1(:,Q+1:mm);[U2 S2 V2]=svd(Y2);Un2=U2(:,Q+1:mm);%%%%%%%%%%% 基于矢量奇異值算法的MUSIC %%%%%%%%%%%%%%%%%%%%u=-90:0.5:90; %搜索范圍for ii=1:length(u) Au=exp(-j*2*pi*m'*d/lamda*sin(u(ii)*pi/180)); %搜索范圍的導向矢量陣 P_esvd(ii)=1/abs(Au(1:mm)'*Un1*Un1'*Au(1:mm)); P_dsvd(ii)=1/abs(Au(1:mm)'*Un2*Un2'*Au(1:mm)); endplot(u,10*log10(P_esvd),'s-r',u,10*log10(P_dsvd),'x-g')%,u,10*log10(Pfb),'--b',u,10*log10(P),'-k');legend('ESVD','DSVD,'),xlabel('入射角度'),ylabel('空間方位譜(dB)'),title('矢量奇異值算法'),grid on;%mm=4,p=5%Q=3時, (1)[-5 0 5]無法完全分辨 , 直至(2)[-10 0 10]才能有誤差的分辨, 至(3)[-13 0 13]能無誤差地分辨%Q=2時,(1)[0 5]剛好能分辨 ,(2)[-10 20]
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -