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

📄 fig7_15.m

📁 《最优阵列处理》一书第七章的MATLAB例程
💻 M
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Figure 7.15
% Gerry Tian, Lillian Xu 
% Updated by K. Bell 1/30/04
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
close all

N=10;
amf=[-(N-1)/2:(N-1)/2]';

us=0;
Vs=exp(j*pi*amf*us);
SNR=10^(20/10);
ui=0.29;
Vi=exp(j*pi*amf*ui);
INR=10^(30/10);

% Dolph-Chebychev weights
R = 10^(30/20);
x0 = cosh(acosh(R)/(N-1));
z = exp(j*2*acos(cos((2*[1:1:N-1]-1)*pi/(2*(N-1)))/x0));
wt = poly(z).';
Wdq = wt/sum(wt);

C=Vs;
f=1;
Pct=eye(N)-C*inv(C'*C)*C';
Wqui=Pct*Wdq + C*inv(C'*C)*f;

K=[1:6]*N;
u=[-1:0.01:1];
L=200;

% opt
Sn=Vi*INR*Vi'+eye(N);
Pn=Sn/(INR+1);
Rxo=Vs*SNR*Vs'+Sn;
Wo=inv(Sn)*Wqui;
Wo=Wo/sum(Wo);
Ag=abs(Wo'*Vs)^2/real(Wo'*Pn*Wo);
	
for n=1:length(K)
    vp=0;
    for l=1:L
        
        % generating matrices
        Xs=Vs*sqrt(SNR/2)*(randn(1,K(n))+j*randn(1,K(n)));
        Xi=Vi*sqrt(INR/2)*(randn(1,K(n))+j*randn(1,K(n)));
        Xw=(randn(N,K(n))+j*randn(N,K(n)))/sqrt(2);
        
        Xn=Xi+Xw;  Xx=Xn+Xs;
        Rx=Xn*Xn'/K(n);
        
        W=inv(Rx)*Wqui;
        W=W/sum(W);
        
        vp=vp+abs(W'*Vs)^2/real(W'*Pn*W);
    end
    ra(n)=10*log10(Ag/(vp/L));
end
figure
plot(K,ra,'*-.')
xlabel('Number of snapshots ({\it K})')
ylabel('Array gain reduction (dB)')

⌨️ 快捷键说明

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