svdl.m

来自「用matlab中的SVD函数实现线阵或圆阵的music算法的仿真」· M 代码 · 共 23 行

M
23
字号
function p=svdl()
N=8;
K=100;
p=10;
I=eye(8);
SNR=10^(p/10);
s=sqrt(SNR/2)*randn(3,K)+j*sqrt(SNR/2)*rand(3,K);
Xn=sqrt(1/2)*randn(N,K)+j*sqrt(1/2)*rand(N,K);
n=[-(N-1)/2:1:(N-1)/2]';
Vs1=exp(-j*pi*cos(1)*n);
Vs2=exp(-j*pi*cos(2)*n);
Vs3=exp(-j*pi*cos(0.5)*n);
As=[Vs1,Vs2,Vs3];
Xs=As*s;
X=Xs+Xn;
[U,S,V]=svd(X);
F=U(:,1:3);
xa=[0:1:180]*pi/180;
    for m=1:length(xa)
        Va=exp(-j*pi*cos(xa(m))*n);
        p(m)=1/(Va'*(I-F*F')*Va);
    end
plot(xa,10*log10(p));

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?