sa_ex8_2.m
来自「这个是英文版<<Smart Antennas for Wireles」· M 代码 · 共 41 行
M
41 行
%Maximum SIR beamforming
% example 8.2
d=.5;
N=3;
sig2=.001; % noise variance
theta=-pi/2:.01:pi/2;
ang=theta*180/pi;
th0=pi/6; % receive angle
th1=-pi/6; % first interferer angle
th2=pi/4; % second interferer angle
s=1; %signal amplitude
n=1:N;
a=exp(1j*2*pi*(n-2)*d*sin(th0)).'; % received angle steering vector
Rss=a*a';
n1=exp(1j*2*pi*(n-2)*d*sin(th1)).'; % interferer 1 steering vector
n2=exp(1j*2*pi*(n-2)*d*sin(th2)).'; % interferer 2 steering vector
A=[n1 n2];
Rnn=sig2*eye(N); % noise correlation matrix
Rii=A*A'; % interferer correlation matrix
Ruu=Rii+Rnn; % total undesired signal correlation matrix
R=inv(Ruu)*Rss;
[Ev,v]=eig(R); % calculate eigenvalues and eigenvectors
[Y,Index]=sort(diag(v)); % sorts the eigenvalues from least to greatest
SIRmax=max(Y); % find maximum SIR
w=inv(Ruu)*a/SIRmax; % normalize weight vector or we can find w by
%w=Ev(:,Index(N));
for j=1:length(theta)
th=theta(j);
aa=exp(1j*2*pi*(n-2)*d*sin(th)).'; ;
y(j)=w'*aa;
end
figure;
plot(ang,abs(y)/max(abs(y)),'k')
axis([-90 90 0 1])
xlabel('\theta')
ylabel('|AF(\theta)|')
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?