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

Mr.Right

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

 
 
 

日志

 
 
关于我

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

网易考拉推荐

具有阵列扰动的MPDR_DL波束形成器  

2012-03-16 10:47:00|  分类: 学习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Figure 6.40a
%MPDR_DL, with array perturbation
%Relation between signal mitch and array gain is studied
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
close all

sigmaP = 0.02;

N = 10;
BWNN = 4/N;
n = (-(N-1)/2:(N-1)/2)';
signalRange = 0:BWNN/2/200:BWNN/2;
LNRrange = [10 20 30];
%SNRrange = [-10:5:30];
% uncomment to get figure oin text
SNRrange = [-10:30];
totalTrialNumber = 500;

Ui1 = -0.30;
Ui2 = 0.30;
Us = 0;

C = exp(j*n*pi*[0]);         %MPDR
f = [1];

INR1 = 10^(30/10);
INR2 = 10^(30/10);

Gain = zeros(length(LNRrange),length(SNRrange));
Gain0 = zeros(length(LNRrange),length(SNRrange));

m = 1;
for LNR = 10.^(LNRrange/10);
   disp(['loop ' int2str(m) ' of 3 ...'])
   k = 1;
   for SNR = 10.^(SNRrange/10)

      for trial = 1:totalTrialNumber
        
         d1 = (n/2+sigmaP*randn(N,1))*Ui1 + sigmaP*randn(N,1)*sqrt(1-Ui1^2);
         d2 = (n/2+sigmaP*randn(N,1))*Ui2 + sigmaP*randn(N,1)*sqrt(1-Ui2^2);
         ds = (n/2+sigmaP*randn(N,1))*Us  + sigmaP*randn(N,1)*sqrt(1-Us^2);
        
         Vi1 = exp(j*2*pi*d1);
         Vi2 = exp(j*2*pi*d2);
         Vs  = exp(j*2*pi*ds);
         Ss = SNR*Vs*Vs';
         Sn = eye(N) + INR1*Vi1*Vi1'+ INR2*Vi2*Vi2';
         Sx = Ss + Sn + LNR*eye(N);     % Diagonal Loading

         W = inv(Sx)*C*inv(C'*inv(Sx)*C)*f;           %consider White Noise only
        
         SINR0 = (W'*Ss*W)/(W'*Sn*W);
        
         SINRi = SNR/(1+INR1+INR2);
         Gain(m,k) = Gain(m,k) + SINR0/SINRi;
      end
      k = k+1;
   end
   m = m + 1;
end


Vs = exp(j*n*pi*Us);
Vi1 = exp(j*n*pi*Ui1);
Vi2 = exp(j*n*pi*Ui2);

m = 1;
for LNR = 10.^(LNRrange/10)
   k = 1;
   for SNR = 10.^(SNRrange/10)
         Ss = SNR*Vs*Vs';
         Sn = eye(N) + INR1*Vi1*Vi1'+ INR2*Vi2*Vi2';
         Sx = Ss + Sn + LNR*eye(N);     % Diagonal Loading
         W = inv(Sx)*C*inv(C'*inv(Sx)*C)*f;           %consider White Noise only
         SINR0 = (W'*Ss*W)/(W'*Sn*W);
         SINRi = SNR/(1+INR1+INR2);
         Gain0(m,k) = SINR0/SINRi;
         k = k+1;
   end
   m = m + 1;
end

Gain = Gain/totalTrialNumber;
Gain = 10*log10(abs(Gain));

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

x = SNRrange;
plot(x, Gain0(1,:),'-',x,Gain(1,:),'-*')
hold on
plot(x, Gain0(2,:),'--',x,Gain(2,:),'--*')
hold on
plot(x, Gain0(3,:),'-.',x,Gain(3,:),'-.*')
axis([-10 30 0 50])
grid
xlabel('{\it SNR} (dB)','Fontsize',14)
ylabel('Array gain (dB)','Fontsize',14)
title('MPDR\_DL with perturbation, ua=0, ui=+/-0.30, INR=30dB(each), \sigma_P=0.1*\lambda, 500 trials')
h=legend('{\itLNR}=10 dB, \sigma_{\itp}/\lambda=0','{\itLNR}=10 dB, \sigma_{\itp}/\lambda=0.02', ...
       '{\itLNR}=20 dB, \sigma_{\itp}/\lambda=0','{\itLNR}=20 dB, \sigma_{\itp}/\lambda=0.02', ...
       '{\itLNR}=30 dB, \sigma_{\itp}/\lambda=0','{\itLNR}=30 dB, \sigma_{\itp}/\lambda=0.02',3);
   set(h,'Fontsize',12)

具有阵列扰动的MPDR_DL波束形成器 - 阿英 - Mr.Right

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Figure 6.40b
%MPDR_DL, with array perturbation
%Relation between signal mitch and array gain is studied
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
close all

sigmaP = 0.05;

N = 10;
BWNN = 4/N;
n = (-(N-1)/2:(N-1)/2)';
signalRange = 0:BWNN/2/200:BWNN/2;
LNRrange = [10 20 30];
%SNRrange = [-10:5:30];
% uncomment to get figure oin text
SNRrange = [-10:30];
totalTrialNumber = 500;

Ui1 = -0.30;
Ui2 = 0.30;
Us = 0;

C = exp(j*n*pi*[0]);         %MPDR
f = [1];

INR1 = 10^(30/10);
INR2 = 10^(30/10);

Gain = zeros(length(LNRrange),length(SNRrange));
Gain0 = zeros(length(LNRrange),length(SNRrange));

m = 1;
for LNR = 10.^(LNRrange/10);
   disp(['loop ' int2str(m) ' of 3 ...'])
   k = 1;
   for SNR = 10.^(SNRrange/10)

      for trial = 1:totalTrialNumber
        
         d1 = (n/2+sigmaP*randn(N,1))*Ui1 + sigmaP*randn(N,1)*sqrt(1-Ui1^2);
         d2 = (n/2+sigmaP*randn(N,1))*Ui2 + sigmaP*randn(N,1)*sqrt(1-Ui2^2);
         ds = (n/2+sigmaP*randn(N,1))*Us  + sigmaP*randn(N,1)*sqrt(1-Us^2);
        
         Vi1 = exp(j*2*pi*d1);
         Vi2 = exp(j*2*pi*d2);
         Vs  = exp(j*2*pi*ds);
         Ss = SNR*Vs*Vs';
         Sn = eye(N) + INR1*Vi1*Vi1'+ INR2*Vi2*Vi2';
         Sx = Ss + Sn + LNR*eye(N);     % Diagonal Loading

         W = inv(Sx)*C*inv(C'*inv(Sx)*C)*f;           %consider White Noise only
        
         SINR0 = (W'*Ss*W)/(W'*Sn*W);
        
         SINRi = SNR/(1+INR1+INR2);
         Gain(m,k) = Gain(m,k) + SINR0/SINRi;
      end
      k = k+1;
   end
   m = m + 1;
end


Vs = exp(j*n*pi*Us);
Vi1 = exp(j*n*pi*Ui1);
Vi2 = exp(j*n*pi*Ui2);

m = 1;
for LNR = 10.^(LNRrange/10)
   k = 1;
   for SNR = 10.^(SNRrange/10)
         Ss = SNR*Vs*Vs';
         Sn = eye(N) + INR1*Vi1*Vi1'+ INR2*Vi2*Vi2';
         Sx = Ss + Sn + LNR*eye(N);     % Diagonal Loading
         W = inv(Sx)*C*inv(C'*inv(Sx)*C)*f;           %consider White Noise only
         SINR0 = (W'*Ss*W)/(W'*Sn*W);
         SINRi = SNR/(1+INR1+INR2);
         Gain0(m,k) = SINR0/SINRi;
         k = k+1;
   end
   m = m + 1;
end

Gain = Gain/totalTrialNumber;
Gain = 10*log10(abs(Gain));

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

x = SNRrange;
plot(x, Gain0(1,:),'-',x,Gain(1,:),'-*')
hold on
plot(x, Gain0(2,:),'--',x,Gain(2,:),'--*')
hold on
plot(x, Gain0(3,:),'-.',x,Gain(3,:),'-.*')
axis([-10 30 0 50])
grid
xlabel('{\it SNR} (dB)','Fontsize',14)
ylabel('Array gain (dB)','Fontsize',14)
%title('MPDR\_DL with perturbation, ua=0, ui=+/-0.30, INR=30dB(each), \sigma_P=0.1*\lambda, 500 trials')
h=legend('{\itLNR}=10 dB, \sigma_{\itp}/\lambda=0','{\itLNR}=10 dB, \sigma_{\itp}/\lambda=0.05', ...
       '{\itLNR}=20 dB, \sigma_{\itp}/\lambda=0','{\itLNR}=20 dB, \sigma_{\itp}/\lambda=0.05', ...
       '{\itLNR}=30 dB, \sigma_{\itp}/\lambda=0','{\itLNR}=30 dB, \sigma_{\itp}/\lambda=0.05',3);
   set(h,'Fontsize',12)

具有阵列扰动的MPDR_DL波束形成器 - 阿英 - Mr.Right

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Figure 6.40c
%MPDR_DL, with array perturbation
%Relation between signal mitch and array gain is studied
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all
close all

sigmaP = 0.1;

N = 10;
BWNN = 4/N;
n = (-(N-1)/2:(N-1)/2)';
signalRange = 0:BWNN/2/200:BWNN/2;
LNRrange = [10 20 30];
%SNRrange = [-10:5:30];
% uncomment to get figure oin text
SNRrange = [-10:30];
totalTrialNumber = 500;

Ui1 = -0.30;
Ui2 = 0.30;
Us = 0;

C = exp(j*n*pi*[0]);         %MPDR
f = [1];

INR1 = 10^(30/10);
INR2 = 10^(30/10);

Gain = zeros(length(LNRrange),length(SNRrange));
Gain0 = zeros(length(LNRrange),length(SNRrange));

m = 1;
for LNR = 10.^(LNRrange/10);
   disp(['loop ' int2str(m) ' of 3 ...'])
   k = 1;
   for SNR = 10.^(SNRrange/10)

      for trial = 1:totalTrialNumber
        
         d1 = (n/2+sigmaP*randn(N,1))*Ui1 + sigmaP*randn(N,1)*sqrt(1-Ui1^2);
         d2 = (n/2+sigmaP*randn(N,1))*Ui2 + sigmaP*randn(N,1)*sqrt(1-Ui2^2);
         ds = (n/2+sigmaP*randn(N,1))*Us  + sigmaP*randn(N,1)*sqrt(1-Us^2);
        
         Vi1 = exp(j*2*pi*d1);
         Vi2 = exp(j*2*pi*d2);
         Vs  = exp(j*2*pi*ds);
         Ss = SNR*Vs*Vs';
         Sn = eye(N) + INR1*Vi1*Vi1'+ INR2*Vi2*Vi2';
         Sx = Ss + Sn + LNR*eye(N);     % Diagonal Loading

         W = inv(Sx)*C*inv(C'*inv(Sx)*C)*f;           %consider White Noise only
        
         SINR0 = (W'*Ss*W)/(W'*Sn*W);
        
         SINRi = SNR/(1+INR1+INR2);
         Gain(m,k) = Gain(m,k) + SINR0/SINRi;
      end
      k = k+1;
   end
   m = m + 1;
end


Vs = exp(j*n*pi*Us);
Vi1 = exp(j*n*pi*Ui1);
Vi2 = exp(j*n*pi*Ui2);

m = 1;
for LNR = 10.^(LNRrange/10)
   k = 1;
   for SNR = 10.^(SNRrange/10)
         Ss = SNR*Vs*Vs';
         Sn = eye(N) + INR1*Vi1*Vi1'+ INR2*Vi2*Vi2';
         Sx = Ss + Sn + LNR*eye(N);     % Diagonal Loading
         W = inv(Sx)*C*inv(C'*inv(Sx)*C)*f;           %consider White Noise only
         SINR0 = (W'*Ss*W)/(W'*Sn*W);
         SINRi = SNR/(1+INR1+INR2);
         Gain0(m,k) = SINR0/SINRi;
         k = k+1;
   end
   m = m + 1;
end

Gain = Gain/totalTrialNumber;
Gain = 10*log10(abs(Gain));

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

x = SNRrange;
plot(x, Gain0(1,:),'-',x,Gain(1,:),'-*')
hold on
plot(x, Gain0(2,:),'--',x,Gain(2,:),'--*')
hold on
plot(x, Gain0(3,:),'-.',x,Gain(3,:),'-.*')
axis([-10 30 0 50])
grid
xlabel('{\it SNR} (dB)','Fontsize',14)
ylabel('Array gain (dB)','Fontsize',14)
%title('MPDR\_DL with perturbation, ua=0, ui=+/-0.30, INR=30dB(each), \sigma_P=0.1*\lambda, 500 trials')
h=legend('{\itLNR}=10 dB, \sigma_{\itp}/\lambda=0','{\itLNR}=10 dB, \sigma_{\itp}/\lambda=0.1', ...
       '{\itLNR}=20 dB, \sigma_{\itp}/\lambda=0','{\itLNR}=20 dB, \sigma_{\itp}/\lambda=0.1', ...
       '{\itLNR}=30 dB, \sigma_{\itp}/\lambda=0','{\itLNR}=30 dB, \sigma_{\itp}/\lambda=0.1',3);
   set(h,'Fontsize',12)

具有阵列扰动的MPDR_DL波束形成器 - 阿英 - Mr.Right
  评论这张
 
阅读(503)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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