📄 sa_ex8_2.m
字号:
%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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -