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

Mr.Right

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

 
 
 

日志

 
 
关于我

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

网易考拉推荐

导数约束LCMV波束形成器  

2012-03-16 13:56:42|  分类: 学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Figure 6.58
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Example 6.7.9  LCMV, No Loading
%This routine is to test the Array Gain, when there is signal mismatch
% Derivative Constraints


clear all
close all

N = 10;
BWNN = 4/N;
n = (-(N-1)/2:(N-1)/2)';
SNR = 10^(20/10);
signalRange = 0:BWNN/2/200:BWNN/2;

C = [ones(N,1),j*n,-n.^2];
m = 1;

for coef = [0 0.4 0.9 1.0]
    f = [1;0;coef*(1-N^2)/12];
    k = 1;
    for ua = signalRange
        Vs = exp(j*n*pi*ua);
        Sn = eye(N);
        Ss = SNR*Vs*Vs';
        W = inv(Sn)*C*inv(C'*inv(Sn)*C)*f;           %consider White Noise only
        SINRo = (W'*Ss*W)/(W'*Sn*W);
        SINRi = SNR;
        A(m,k) = SINRo/SINRi;         %(6.438)
        k = k+1;
    end
    m = m + 1;
end

 

A = 10*log10(abs(A));

plot(signalRange/BWNN,A(1,:),'-',signalRange/BWNN,A(2,:),'--',signalRange/BWNN,A(3,:),'-.',signalRange/BWNN,A(4,:),':');
grid
xlabel('{\itu}_{\ita} /{\itBW}_{\itNN}','Fontsize',14)
ylabel('Array gain (dB)','Fontsize',14)
h=legend('{\itg}=0','{\itg}=0.4*{\itB}_{\itc}(0)\prime\prime','{\itg}=0.9*{\itB}_{\itc}(0)\prime\prime','{\itg}={\itB}_{\itc}(0)\prime\prime',3);
set(h,'Fontsize',12)
title('LCMV, White Noise, 2nd derivative constaints, SNR=20dB')  
axis([0 0.25 4 10])     

导数约束LCMV波束形成器 - 阿英 - Mr.Right

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Figure 6.59
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Example 6.7.10  LCMP, with Loading
%This routine is to test the Array Gain, when there is signal mismatch
% Derivative Constraints


clear all
close all

N = 10;
BWNN = 4/N;
n = (-(N-1)/2:(N-1)/2)';
signalRange = 0:BWNN/2/500:BWNN/2;

C = [ones(N,1),j*n,-n.^2];
coef = 0.8;
f = [1;0;coef*(1-N^2)/12];

SNR = 10^(20/10);
INR = 10^(30/10);
Vi1 = exp(j*n*pi*0.30);
Vi2 = exp(-j*n*pi*0.30);

m = 1;
for LNR = 10.^([0 10 20 30]/10)
k = 1;
for ua = signalRange
   Vs = exp(j*n*pi*ua);
   Sn = eye(N) + INR*Vi1*Vi1' + INR*Vi2*Vi2' ;
   Ss = SNR*Vs*Vs';
   Sx = Ss + Sn + LNR*eye(N);       %LCMP with loading
   W = inv(Sx)*C*inv(C'*inv(Sx)*C)*f;           %
   SINRo = (W'*Ss*W)/(W'*Sn*W);
   SINRi = SNR/(2*INR+1);
   A(m,k) = SINRo/SINRi;
   k = k+1;
end
m = m + 1;
end

 

A = 10*log10(abs(A));

plot(signalRange/BWNN,A(1,:),'-');            %BWnn = 4/N
hold on
plot(signalRange/BWNN,A(2,:),'--');            %BWnn = 4/N
hold on
plot(signalRange/BWNN,A(3,:),'-.');            %BWnn = 4/N
hold on
plot(signalRange/BWNN,A(4,:),':');            %BWnn = 4/N


grid
xlabel('{\itu}_{\ita} /{\itBW}_{\itNN}','Fontsize',14)
ylabel('Array gain (dB)','Fontsize',14)
h=legend('{\itLNR}=0 dB','{\itLNR}=10 dB','{\itLNR}=20 dB','{\itLNR}=30 dB',3);
set(h,'Fontsize',12)
%title('LCMP\_DL, SNR=20dB ,Ui=+/-0.30, INR=30dB, g\prime = [1, 0, 0.8*B_c(0)\prime\prime]')  
axis([0 0.25 20 45])


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Figure 6.60
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%Example 6.7.10  LCMP, with Loading
%This routine is to test the Array Gain, when there is signal mismatch
% Derivative Constraints

clear all
close all

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

C = [ones(N,1),j*n,-n.^2];
coef = 0.8;
f = [1;0;coef*(1-N^2)/12];

Vi1 = exp(j*n*pi*0.30);
Vi2 = exp(-j*n*pi*0.30);

k1 = 1;
for INR = 10.^(INRrange/10)
    disp(['loop ' int2str(k1) ' of 3 ...'])
    k2 = 1;
    for SNR = 10.^(SNRrange/10)
        k3 = 1;
        SINRi = SNR/(2*INR+1);
        for LNR = 10.^(LNRrange/10)
            Gain(k1,k2,k3) = 0;
            for ua = signalRange
                Vs = exp(j*n*pi*ua);
                Sn = eye(N) + INR*Vi1*Vi1' + INR*Vi2*Vi2' ;
                Ss = SNR*Vs*Vs';
                Sx = Ss + Sn + LNR*eye(N);       %LCMP with loading
                W = inv(Sx)*C*inv(C'*inv(Sx)*C)*f;           %
                SINRo = (W'*Ss*W)/(W'*Sn*W);
                Gain(k1,k2,k3) = Gain(k1,k2,k3) + SINRo/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


Gain = 10*log10( abs(Gain)/length(signalRange) );  

for k1 = 1:length(INRrange)
   for k2 = 1:length(SNRrange)
      [A(k1,k2), I(k1,k2)] = max( Gain(k1,k2,:) );
   end
end

for h1 = 1:3
   [x,y] = min ( abs(    A(h1,:)-max(A(h1,:)) +3 ));
   c(h1) = -10 + 2*(y-1);
   d(h1) = A(h1, y);
end

plot(SNRrange,A(1,:),'-',SNRrange,A(2,:),'--',SNRrange,A(3,:),'-.')
hold on
plot(c,d,'-o')

axis([-10 40 0 50])
xlabel('{\itSNR} (dB)','Fontsize',14)
ylabel('Optimal {\itE}(gain) (dB)','Fontsize',14)
h=legend('{\itINR}=10 dB','{\itINR}=20 dB','{\itINR}=30 dB','3 dB points',3);
set(h,'Fontsize',12)
%title('LCMP\_DL(2nd DER), ui=+/-0.30, ua~U(-0.1, 0.1), N=10, g = [1; 0; 0.8*B_C(0)\prime\prime]')
grid

导数约束LCMV波束形成器 - 阿英 - Mr.Right
  评论这张
 
阅读(521)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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