注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mr.Right

不顾一切的去想,于是我们有了梦想。脚踏实地的去做,于是梦想成了现实。

 
 
 

日志

 
 
关于我

人生一年又一年,只要每年都有所积累,有所成长,都有那么一次自己认为满意的花开时刻就好。即使一时不顺,也要敞开胸怀。生命的荣枯并不是简单的重复,一时的得失不是成败的尺度。花开不是荣耀,而是一个美丽的结束,花谢也不是耻辱,而是一个低调的开始。

网易考拉推荐

不同约束条件下最优对角加载的性能比较  

2012-03-16 14:39:11|  分类: 学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Figure 6.70
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear all
close all

N = 10;
BWNN = 4/N;
n = (-(N-1)/2:(N-1)/2)';
ud = 0.1;
signalRange = [-ud:1/500:ud];
INRrange = [10 30];
SNRrange = [-10:2:40];
LNRrange = [-20:2:50];

ui1 = -0.30;
ui2 = 0.30;

Vi1 = exp(j*n*pi*ui1);
Vi2 = exp(j*n*pi*ui2);

% MPDR
C1 = exp(j*n*pi*[0]);
f1 = [1];

% directional
u1 = 0.0866;
uc = [0, -u1, u1];
C2 = exp(j*n*pi*uc);
f2 = [1;sin(-(N/2)*pi*u1)./(N*sin(-.5*pi*u1));sin((N/2)*pi*u1)./(N*sin(.5*pi*u1))];

% derivative
coef = 0.8;
C3 = [ones(N,1),j*n,-n.^2];
f3 = [1;0;coef*(1-N^2)/12];

% Taylor
SLL=20;
nBar=2;
Ne = 2;

scale = N*0.5;
A = 1/pi*acosh(10^(SLL/20));
uroot=[1:1:floor((N-1)/2)]/scale;     % (N-1)/2 for odd and N/2 - 1 for N even
for m = 1:nBar-1
    Vn = nBar*sqrt( (A^2+(m-0.5)^2)/(A^2+(nBar-0.5)^2) );
    uroot(m) = Vn/scale;
end
if rem(N,2) == 0 % even
    roots = [0 uroot -uroot 1];
else
    roots = [0 uroot -uroot];
end

Vr = exp(j*n*pi*roots);
w0 = inv(Vr')*[1;zeros(N-1,1)];

wdBar = w0/norm(w0)^2;
PcWdBar = eye(N) - wdBar*inv(wdBar'*wdBar)*wdBar';
for h1 = 1:N
    for h2 = 1:N
        Rs(h1,h2) = 2*ud*sinc( (h1-h2)*ud );
    end
end
RsBar = PcWdBar*Rs*PcWdBar;
[U,lambda,V] = svd(RsBar);
Cs = V(:,1:Ne); %select 3 eigenvectors
C4 = [wdBar,Cs];
f4 = [1;zeros(Ne,1)];

Gain1 = zeros(length(INRrange),length(SNRrange),length(LNRrange));
Gain2 = zeros(length(INRrange),length(SNRrange),length(LNRrange));
Gain3 = zeros(length(INRrange),length(SNRrange),length(LNRrange));
Gain4 = zeros(length(INRrange),length(SNRrange),length(LNRrange));

k1 = 1;
for INR = 10.^(INRrange/10)
    disp(['loop ' int2str(k1) ' of 2 ...'])
    k2 = 1;
    for SNR = 10.^(SNRrange/10)
        k3 = 1;
        SINRi = SNR/(1+2*INR);
        for LNR = 10.^(LNRrange/10)
            for ua = signalRange
                Vs = exp(j*n*pi*ua);
                Ss = SNR*Vs*Vs';
                Sn = eye(N) + INR*Vi1*Vi1'+ INR*Vi2*Vi2';
                Sx = Ss + Sn + LNR*eye(N);     % Diagonal Loading
                % MPDR
                W = inv(Sx)*C1*inv(C1'*inv(Sx)*C1)*f1;           %consider White Noise only
                SINR0 = real((W'*Ss*W)/(W'*Sn*W));
                Gain1(k1,k2,k3) = Gain1(k1,k2,k3)+SINR0/SINRi;
                
                % Directional
                W = inv(Sx)*C2*inv(C2'*inv(Sx)*C2)*f2;           %consider White Noise only
                SINR0 = real((W'*Ss*W)/(W'*Sn*W));
                Gain2(k1,k2,k3) = Gain2(k1,k2,k3)+SINR0/SINRi;
                
                % Derivative
                W = inv(Sx)*C3*inv(C3'*inv(Sx)*C3)*f3;           %consider White Noise only
                SINR0 = real((W'*Ss*W)/(W'*Sn*W));
                Gain3(k1,k2,k3) = Gain3(k1,k2,k3)+SINR0/SINRi;
                
                % Taylor
                W = inv(Sx)*C4*inv(C4'*inv(Sx)*C4)*f4;           %consider White Noise only
                SINR0 = real((W'*Ss*W)/(W'*Sn*W));
                Gain4(k1,k2,k3) = Gain4(k1,k2,k3)+SINR0/SINRi;
            end  % end of ua
            k3 = k3 + 1;
        end % end of LNR
        k2 = k2 + 1;
    end % end of SNR
    k1 = k1 + 1;
end % end of INR

Gain1 = 10*log10( abs(Gain1)/length(signalRange) ) ;
Gain2 = 10*log10( abs(Gain2)/length(signalRange) ) ;
Gain3 = 10*log10( abs(Gain3)/length(signalRange) ) ;
Gain4 = 10*log10( abs(Gain4)/length(signalRange) ) ;

for k1 = 1:size(Gain1,1)
    for k2 = 1:size(Gain1,2)
        [A1(k1,k2),I(k1,k2)] = max(Gain1(k1,k2,:));
        [A2(k1,k2),I(k1,k2)] = max(Gain2(k1,k2,:));
        [A3(k1,k2),I(k1,k2)] = max(Gain3(k1,k2,:));
        [A4(k1,k2),I(k1,k2)] = max(Gain4(k1,k2,:));
    end
end

figure
plot(SNRrange,A1(1,:),'-',SNRrange,A2(1,:),'--',...
   SNRrange,A3(1,:),'-.',SNRrange,A4(1,:),':');
不同约束条件下最优对角加载的性能比较 - 阿英 - Mr.Right
 
hold on 
xlabel('{\it SNR} (dB)')
ylabel('Optimal gain (dB)')
legend('MPDR','DIR,u_c=[0,0.0866,-0.0866],g=[1;B_C;B_C]',...
   'DER,C=[1,d(0),d(0)],\alpha=0.8','QP,Taylor(-20dB,{\it n}=3),Ne=2','location','southwest')
title('performance comparison with optimal LNR,ui=-0.3 & +0.3, INR=10dB(each), N=10')
axis([-10 40 5 25])
grid on

figure
plot(SNRrange,A1(2,:),'-',SNRrange,A2(2,:),'--',...
   SNRrange,A3(2,:),'-.',SNRrange,A4(2,:),':');
不同约束条件下最优对角加载的性能比较 - 阿英 - Mr.Right
 
hold on 
xlabel('{\it SNR} (dB)')
ylabel('Optimal gain (dB)')
legend('MPDR','DIR,u_c=[0,0.0866,-0.0866],g=[1;B_C;B_C]',...
   'DER,C=[1,d(0),d(0)],\alpha=0.8','QP,Taylor(-20dB,{\it n}=3),Ne=2','location','southwest')
title('performance comparison with optimal LNR,ui=-0.3 & +0.3, INR=30dB(each), N=10')
axis([-10 40 20 45])
grid on

  评论这张
 
阅读(499)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016