%%
%% 例題3.3  
%% 2素子MSNアダプティブアンテナの指向性パターン
%%

% 初期設定
clear all

% 入力パラメータ設定
derad=pi/180;   % deg->rad
twpi=2*pi; 

kelm=2;                              % 素子数
dspc=0.5;                            % 素子間隔(*λ)
dx=linspace(0,dspc*(kelm-1),kelm);   % 素子位置

theta = [30,  -60]*derad;    % 所望波（第一成分），不要波の到来角
Pw    = [1.0, 1.0];          % 所望波（第一成分），不要波の入力電力
Pn=0.01;                     % 雑音電力

V=exp(-j*twpi*dx.'*sin(theta));
% V = [Vs, Vu1, Vu2,...]　所望波，不要波のアレー応答ベクトルからなる行列

S=exp(-j*twpi*dx.'*sin(theta(1))); % ステアリングベクトル

% 相関行列の計算
Rxx=V*diag(Pw)*V'+Pn*eye(kelm); 

% ウエイトの計算
Wopt=inv(Rxx)*S

% 指向性パターンの計算
D=abs(Wopt'*exp(-j*twpi*dx.'*sin((-90:0.1:90)*derad))).^2;
D=D/max(D);

% グラフプロット
plot(-90:0.1:90,10*log10(D))
axis([-90 90 -60 0]);
set(gca, 'XTick',[-90:30:90])
xlabel('angle[degree]');
ylabel('power[dB]');
grid on
hold on
