スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【MUSIC】SCILAB版 その2

SCILAB版を作成。

/////////////////////////////////////////////
//// MUSIC処理
//// 生成ファイル"music_data.dat"
//// scilab変数を保存したファイル
/////////////////////////////////////////////

clear

FILE_PASS = 'C:\scilab_works\MUSIC\';
FILE_NAME_R = 'array_data.dat';
FILE_NAME_W = 'music_data.dat';

load (FILE_PASS + FILE_NAME_R) // 受信信号 読込み

j = sqrt(-1); // jは複素数
pa = 3; // 推定する信号の個数

// 固有値(特異値)分解
[Uxx, Sxx, Vxx] = svd(Rxx);
sv = diag(Sxx);
Us = Uxx(:,1:pa);
Un = Uxx(:,pa+1:m);
// ステアリングベクトル(行列)の計算
th=[-90:1:90]';
A = exp(-j*2*%pi*([0:m-1]'*sin(th'*deg2rad))*d/wavelen)/sqrt(m);
// MUSICスペクトラムの計算
num = diag(A'*A);
En = Un'*A;
den = diag(En'*En);
doa = 10*log10(num./den);

// 推定結果の表示
// MUSIC Spectrum の表示
subplot(2,1,1);
plot(th, doa)
title('MUSIC DOA Estimator');
xlabel('Angle [deg.]')
ylabel('DOA Spectrum [dB]')
xgrid;

// 固有値の分布を表示
subplot(2,1,2);
plot(sv,'o')
title('Distribution of Eigenvalues');
xlabel('Index');
ylabel('Value')
xgrid;

save (FILE_PASS + FILE_NAME_W);
スポンサーサイト

コメント

非公開コメント
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。