Matlab中信号的到达时间估计

时间:2013-01-23 17:47:32

标签: matlab fft

我想在matlab中使用音乐算法来估计GPR echo信号的到达时间,我正在使用傅立叶变换的对偶属性。

我首先对获得的信号应用FFT,然后将这些作为参数传递给pmusic函数,我仍然在频域中得到结果。?

3 个答案:

答案 0 :(得分:1)

简答:你在这里使用了错误的功能。

据我所知,Matlab's pmusic函数返回输入信号的pseudospectrum

如果单击伪谱链接,您将看到信号的伪谱位于频域中。特别要看情节:

(来自Matlab的文档:绘制伪谱数据)

请注意,结果是在频域中。

Pseudospectrum result

假设GPR是指探地雷达,然后尝试使用雷达或声纳回波探测方法估算双向通行时间。

答案 1 :(得分:0)

这可以做到,理论已经发表在几篇论文中。例如,见:

STAR Channel Estimation in DS-CDMA Systems

该论文描述了时空估计(即时间和到达方向的估计),但如果您有单天线接收器,则可以忽略空间部分并进行时间估计。

您可能不希望直接使用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));

答案 2 :(得分:0)

如果要使用单个命令使用不同的算法估计DOA,可以使用MATLAB的Phased array system toolbox。例如对于Root MUSIC,它是phased.RootMUSICEstimator phased.ESPRITEstimator

然而,正如Harry提到的那样容易编写自己的函数,一旦定义了信号子空间和接收向量,就可以直接在MUSIC函数中应用它来找到它的峰值。 这是另一个很好的参考。

http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1143830