进行正弦回归以从给定信号中恢复参数

信息处理 离散信号 信号分析
2022-01-29 22:36:18

我有一个离散信号。我想做正弦回归来估计振幅、相位、频率等参数。

重要的是要注意我只有信号值,没有时间记录这些值。

我怎么可能做正弦回归?

谢谢。

2个回答

如果您的样本是等距的,您可以使用像

x^(n)=asin(bn+c)+d
这样的模型函数,其中n是您的样本索引。您可以通过设置超定非线性方程组来计算参数a,b,c,d

x(n)成为您的信号。然后你会有

asin(b0+c)+d=x(0)asin(b1+c)+d=x(1)asin(b2+c)+d=x(2)

(当然,等式只是近似等式。)您可以使用非线性方法,例如牛顿法来求解这个非线性超定系统。唯一的问题是您需要一个足够好的初始解决方案。尝试通过检查找到一个简单的初始猜测(如果您的数据看起来完全像正弦曲线......)。对于你可以简单地使用ad

a0=max(|x(n)|),d0=1Nn=0N1x(n)

作为初始猜测(是数据点的数量)。N

假设您的信号开始时大致为正弦曲线:

如果您不知道频率是多少,请在足够大的间隔上执行 DFT,以包含几个周期,采样足够密集,以便每个周期至少获得 3 个样本。

找到峰值箱。找到较大的相邻垃圾箱。

使用两个垃圾箱应用此解决方案。

如果您大致知道频率,请选择一个周期数为整数加一半的间隔。确保每个周期至少有 3 个样本,然后只需要计算两个相邻的 DFT 箱,而不是整个 DFT。

这解决了最合适的问题,而不是朝着它迭代。

您获得的参数与您使用的框架有关。即,频率以每帧周期为单位,并且时间在样本零处为零。