[音源定位] MATLABの異なる空間スペクトル推定に基づく音源定位アルゴリズムの比較[Matlabソースコード545を含む]

1.はじめに

MUSICアルゴリズムは、行列の特徴空間分解に基づく方法です。幾何学的な観点から、信号処理の観測空間は信号部分空間とノイズ部分空間に分解できますが、明らかにこれら2つの空間は直交しています。信号部分空間は、アレイが受信したデータ共分散行列の信号に対応する固有ベクトルで構成され、ノイズ部分空間は、共分散行列のすべての最小固有値(ノイズ分散)に対応する固有ベクトルで構成されます。
1アルゴリズムの原理
MUSICアルゴリズムは、空間スペクトル推定方向探知理論の重要な基礎です。次のように:

(1)方向探知アンテナアレイの形状や入射波の入射角の次元に関係なく、アレイがM個の要素で構成されていると仮定すると、アレイ出力モデルの行列形式を表すことができます。として:Y(t)= AX(t)+ N(t)

その中で、Yは配列出力データの観測された複素数ベクトル、Xは未知の空間信号複素数ベクトル、Nは配列出力ベクトルの加法性ノイズ、Aは配列の方向行列、ここではA行列の式です。アトラスサイードによって決定されます。

MUSICアルゴリズムの処理タスクは、アレイに入射する空間信号の数D、空間信号ソースの強度、および入射波の方向を推定することです。

(2)実際の処理では、Yによって取得されるデータは、限られた時間内に限られた数のサンプル(スナップショットまたはスナップショットとも呼ばれます)です。この間、着信波の方向は変化せず、ノイズは信号と同じです。無相関ホワイトノイズは、アレイ出力信号の2番目のモーメントRyを定義します。

(3)MUSICアルゴリズムの中核は、Ryで固有値分解を実行し、固有ベクトルを使用して2つの直交部分空間、つまり信号部分空間とノイズ部分空間を構築することです。Ryの特徴的な分解は、アトラスの式が成り立つようにすることです。

(4)Uは非負の明確なエルミート行列であるため、固有分解によって得られる固有値はすべて非負の実数であり、Dの大きな固有値とMDの小さな固有値があり、大きな固有値に対応する固有ベクトルで構成されています。 Usは信号部分空間であり、小さな固有値に対応する固有ベクトルで構成される空間Unはノイズ部分空間です。

(5)ノイズ固有ベクトルは、ノイズ固有行列を形成するための列ベクトルとして使用され、信号部分空間に直交するMD次元のノイズ部分空間Unに展開されます。また、Usの列空間ベクトルは信号部分空間と一致するため、Usの列ベクトルとノイズ部分空間も直交するため、空間スペクトル関数を構築できます。

(6)空間スペクトル領域でスペクトル関数の最大値を取得します。スペクトルピークに対応する角度は、入射波の方向角の推定値です。

2理論的開発と応用
MUSIC(Multiple Signal Classification)アルゴリズムは、1979年にアメリカのROSchmidtによって提案され、空間スペクトル推定の方向探知が繁栄の段階に入ったことを示しています。空間スペクトル推定の分野に「ベクトル空間」の概念を導入し、30年の発展を経て、その理論は比較的成熟したと言えます。

1980年代以降、人々は固有分解に基づく超解像空間スペクトル推定アルゴリズムについて広範囲かつ詳細な研究を行い、一連の効率的な処理方法を提案してきました。その中で最も古典的なのはマルチ信号分類(MUSIC)です。 )アルゴリズム。アルゴリズムは、ソースのソースを見つけるために1次元検索を実行する必要があり、相対最大尤度(ML)や加重部分空間フィッティング(WSF)などの多次元検索アルゴリズムの計算の複雑さが軽減されました。たくさん。MUSICで表されるアルゴリズムには欠点があります。つまり、コヒーレント信号処理には理想的ではありません。コヒーレント信号源の一連の処理スキームの中で、より古典的なものは、空間平滑化(SS)および修正空間平滑化(MSS)アルゴリズムなどの空間平滑化手法です。ただし、空間平滑化手法は、アレイの有効アパーチャを失うという代償を伴い、等間隔の均一線形アレイ(ULA)にのみ適しています。

実際、空間スペクトル推定アルゴリズムは、既知の信号源の数の下で計算されますが、これは実際のアプリケーションでは不可能です。信号源の数は、観測データに基づいてのみ推定できます。彼の古典的な作品で、ROSchmidtは、配列共分散行列の固有値の分布に基づいて信号源を推定する方法を提案しました。この方法は理論的には完璧であり、少なくとも独立したソースといくつかの関連ソースに対しては正しいですが、実際には、データ長が限られているため、ソースの数を決定するのは主観的な判断にのみ依存できます。

第二に、ソースコード

clc;
clear all;
close all;
set(0,'defaultaxesfontsize',9);            %设置字体大小
load s.mat;
wnd=256;
inc=128;

[Angle1]=Spectrum_Method('capon',s1,s2,wnd,inc,45);
subplot(311)
plot(Angle1,'*'),axis tight
title('Capon')
xlabel('帧数')
ylabel('角度/度')

[Angle2]=Spectrum_Method('music',s1,s2,wnd,inc,45);
subplot(312)
plot(Angle2,'*'),axis tight
title('Music')
xlabel('帧数')
ylabel('角度/度')
function frameout=enframe(x,win,inc)

nx=length(x(:));            % 取数据长度
nwin=length(win);           % 取窗长
if (nwin == 1)              % 判断窗长是否为1,若为1,即表示没有设窗函数
   len = win;               % 是,帧长=win
else
   len = nwin;              % 否,帧长=窗长
end
if (nargin < 3)             % 如果只有两个参数,设帧inc=帧长
   inc = len;
end
nf = fix((nx-len+inc)/inc); % 计算帧数
frameout=zeros(nf,len);            % 初始化
indf= inc*(0:(nf-1)).';     % 设置每帧在x中的位移量位置
inds = (1:len);             % 每帧数据对应1:len
frameout(:) = x(indf(:,ones(1,len))+inds(ones(nf,1),:));   % 对数据分帧

3、実行中の結果

ここに画像の説明を挿入します

四、備考

完全なコードまたは書き込み追加QQ1564658423過去のレビュー
>>>>>>
[機能の抽出] matlabウェーブレット変換に基づくオーディオ透かしの埋め込みと抽出[Matlabソースコード053を含む]
[音声処理] matlabGUIに基づく音声信号処理[Matlabを含むソースコードの問題290]
[音声取得] matlabGUI音声信号収集に基づく[Matlabソースコード291を含む]
[音声変調] matlabGUI音声振幅変調に基づく[Matlabソースコード292を含む]
[音声合成] matlabGUI音声に基づく合成[Matlabソースコードの問題293を含む]
[音声暗号化] matlabGUI音声信号の暗号化と復号化に基づく[Matlabソースコード295を含む]
[音声拡張] Matlabウェーブレット変換ベースの音声拡張[Matlabソースコード296]
[音声認識] matlabGUI音声ベース周波数認識に基づく[Matlabソースコード294を含む]
[音声拡張] Matlab GUIWienerフィルタリングベースの音声拡張[Matlabソースコード298を含む]
[音声処理] matlabGUI音声信号処理に基づく[Matlabソースコード299を含む]
[信号処理] Matlab音声信号スペクトルアナライザーに基づく[Matlabソースコード325を含む]
[変調信号] matlabGUIに基づくデジタル変調信号シミュレーション[Matlabソースコード336を含む]
[感情認識] matlabBPニューラルに基づく音声感情認識ネットワーク[Matlabソースコード349の​​問題を含む]
[音声ステガノグラフィー] Matlabウェーブレット変換に基づく定量化されたオーディオデジタルウォーターマーキング[Matlabソースコードの問題351を含む]
[特徴抽出] matlabオーディオ透かしの埋め込みと抽出に基づく[Matlabソースコード350期間を含む]
[音声ノイズ除去] matlabローパスと適応フィルターノイズ除去に基づく[Matlabソースコード352期間を含む]
[感情認識] matlabGUI音声に基づく感情分類認識[Matlabソースコード354期間を含む]
[基本処理] Matlabベースの音声信号前処理[Matlabソースコード364期間を含む]
[音声認識] Matlabフーリエ変換0-9デジタル音声認識[Matlabソースコード384期間を含む]
[音声認識] 0-9 matlab GUIDTWに基づくデジタル音声認識[Matlabソースコード385を含む]
[音声再生] Matlab GUIMP3設計[Matlabソースコード425を含む]
[音声処理]人間の耳のマスキング効果に基づく音声強調アルゴリズムノイズ比の計算[Matlabソースコード428を含む]
[音声ノイズ除去] matlabスペクトル減算ノイズ除去に基づく[Matlabソースコード429を含む]
[音声認識] matlabの運動量項目に基づくBPニューラルネットワーク音声認識[Matlabソースコード430を含む]
[音声ステガノグラフィ] matlabLSB音声隠蔽に基づく[Matlabソースコード431を含む]
[音声認識] matlabの男性と女性の音声認識に基づく[Matlabソースコード452を含む]
[音声処理] matlab音声ノイズの追加とノイズリダクション処理に基づく[MatlabソースコードIssue473を含む]
[音声ノイズ除去] matlab最小二乗(LMS)適応フィルターに基づく[ Matlabソースコード481を含む]
[音声強調] matlabスペクトル減算、最小平均二乗、およびWienerフィルター音声強調に基づく[Matlabを含むソースコード482期間】
[通信] matlab GUIデジタル周波数帯域(ASK、PSK、QAM)変調シミュレーションに
基づく[ Matlabソースコード483を含む] [信号処理] matlabECG信号処理に基づく[Matlabソースコード484を含む]
[音声ブロードキャスト] matlabに基づく音声ブロードキャスト[Matlabソースコード507を含む]
[信号処理] EEG信号特徴抽出に基づくMatlabウェーブレット変換[Matlabソースコード511を含む]
[音声処理] matlab GUIデュアルトーンマルチ周波数(DTMF)信号検出に基づく[Matlabを含むソースコード512】
【音声ステガノグラフィ】音声信号のデジタル透かしを実現するmatlabLSBに基づく【Matlabソースコード513を含む】
【音声強調】matlab整合フィルターに基づく音声認識【Matlabソースコード514を含む】
【音声処理】ベースmatlabGUI音声周波数ドメインスペクトログラム分析[Matlabソースコード527を含む]
[音声ノイズ除去] matlab LMSに基づく、RLSアルゴリズム音声ノイズ除去[Matlabソースコード528を含む]
[音声ノイズ除去] matlabLMSスペクトル減算音声ノイズ除去[Matlabを含むソースコードの問題529]
[音声ノイズ除去] matlabソフトしきい値、ハードしきい値、妥協しきい値に基づく音声ノイズ除去[Matlabソースコード530を含む]
[音声認識] matlab特定の人の音声認識識別に基づく[Matlabソースコード534を含む]
[音声[ノイズ除去] matlabウェーブレットソフトしきい値音声ノイズリダクションに
基づく[ Matlabソースコード531を含む] [音声ノイズ除去] matlabウェーブレットハードしきい値音声ノイズリダクションに基づく[ Matlabソースコード532を含む]
[音声認識] matlabMFCCおよびSVM固有のヒューマンに基づく性別認識[Matlabソースコード533を含む]
[音声認識] MFCCに基づくGMM音声認識[Matlabソースコード535を含む]
[音声認識] matlabVQに基づく特定の人の孤立した単語音声認識[Matlabソースコード536を含む]
[音声認識] matlabGUIに基づく音声認識[含むMatlab]ソースコードの問題537]
[取得と読み取り] matlab音声収集と読み取りに基づく[Matlabソースコード538を含む]
[音声編集] matlab音声編集に基づく[Matlabソースコード539を含む]
[音声モデル] matlab音声に基づく信号数学モデル[Matlabソースコード540を含む]
[音声の健全性] matlabの音声強度とラウドネスに基づく[Matlabソースコード541を含む]
[感情認識] matlabK最近傍分類アルゴリズムに基づく音声感情認識[Matlabソースコード542を含む]
[感情認識] matlabサポートベクトルマシン(SVM)に基づく音声感情認識[Matlabソースコード543を含む]
[感情認識]ニューラルネットワークベースの音声感情認識[Matlabソースコード544を含む]

おすすめ

転載: blog.csdn.net/TIQCmatlab/article/details/114954882