matlab で音楽アルゴリズムGPR echo
を使用して信号の到着時間を推定したいのですが、フーリエ変換の双対性を使用しています。
最初に得られた信号に FFT を適用してから、これらをパラメーターとして関数に渡しますがpmusic
、周波数領域で結果を取得しています。
簡単な回答:ここで間違った関数を使用しています。
私が知る限り、Matlab のpmusic
関数は入力信号の疑似スペクトルを返します。
疑似スペクトルのリンクをクリックすると、信号の疑似スペクトルが周波数領域にあることがわかります。特に、プロットを見てください。
(Matlab のドキュメントから: 疑似スペクトル データのプロット)
結果が周波数領域にあることに注意してください。
GPR が地中レーダーを意味すると仮定すると、レーダーまたはソナーエコー検出アプローチを試して、双方向の通過時間を推定します。
これは可能であり、その理論はいくつかの論文で発表されています。たとえば、ここを参照してください。
その論文では、時空間推定 (つまり、到着の時間と方向の両方の推定) について説明していますが、単一アンテナ受信機を使用している場合は、空間部分を無視して時間推定のみを行うことができます。
おそらく、Matlab の pmusic 関数を直接使用したくないでしょう。この種の関数を自分で作成する方が常に速くて簡単なので、実際に何が起こっているかがわかります。MUSICの場合:
% Get noise subspace (where M is number of signals)
[E, D] = eig(Rxx);
[lambda, idx] = sort(diag(D), 'descend');
E = E(:, idx);
En = E(:,M+1:end);
% [Construct matrix S, whose columns are the vectors to search]
% Calculate MUSIC null spectrum and convert to dB
Z = 10*log10(sum(abs(S'*En).^2, 2));