假设有一个离散信号是正弦曲线的总和,可以用
来描述
,其中是未知但我的信号的固定参数,是我的采样率,是在时间测量的样本。
在这个信号中,我测量了前个样本(),并且我还在点个样本。我现在对估计/预测/推断恰好位于我测量的块之间的单个。我不关心间隙中的所有其他样本。
估计我想要的样本的最佳和最有效的方法是什么?请注意,介于 100 到 1000 和我的采样率之间。
假设有一个离散信号是正弦曲线的总和,可以用
来描述
,其中是未知但我的信号的固定参数,是我的采样率,是在时间测量的样本。
在这个信号中,我测量了前个样本(),并且我还在点个样本。我现在对估计/预测/推断恰好位于我测量的块之间的单个。我不关心间隙中的所有其他样本。
估计我想要的样本的最佳和最有效的方法是什么?请注意,介于 100 到 1000 和我的采样率之间。
一种自然的方法是使用总共个样本的两个块)来估计参数。幅度、频率和相位估计都是教科书式的方程,你可以查到,所以这里的问题是它们都混在一起了。如果您假设您不知道混合了多少正弦曲线,那么您还必须检测存在多少。基本的伪代码是:
Detect how many sinusoids there are
For each sinusoid:
Estimate amplitude
Estimate frequency
Estimate phase
end
Reconstruct signal at n = N + 10000
您可以通过检测信号的 FFT 中有多少个峰值来做到这一点。正弦曲线将在其频率处出现峰值。在峰值处,曲线的斜率将从正变为负,因此斜率在峰值处有过零。对于离散信号,有不同的方法来计算斜率/导数,但我会先从简单的开始,然后再转向更复杂的方法。计算导数的一种简单方法就是差分会发生过零。这将为您提供零交叉的数量以及它们发生的位置。
编辑
问题中提出的模型是无噪声模型,所描述的检测依赖于此。您仍然可以将这种过零方法用于噪声信号,但需要应用阈值,因为噪声会导致出现许多小峰值。需要阈值以仅保留具有足够能量的阈值。应该选择阈值以满足您想要的一些错误警报度量的概率。
正如我上面提到的,估计正弦曲线的幅度、频率和相位可以通过 FFT 峰值查找方法找到(我们已经找到了峰值的位置),所以我们都准备好了。
现在我们有了所有的估计,您可以使用您的估计来计算您的方程。
假设鼻窦的数量小于,这个问题就可以通过最小均方来解决。在相等的情况下,应该通过通常的矩阵发明来解决。
线性形式是通过用余弦
一旦估计了所有变量,就可以通过将新点简单地替换到表达式中来完成插值。
编辑
另一种选择是在未采样的位置填充零并使用通常的 FFT 频谱估计