我刚读了一篇论文,其中给出了一个7元件的FIR希尔伯特变压器:
[-0.1270413, 0 -0.6012845, 0, 0.6012845, 0, 0.1270413]这可以在Rabiner和Schafer,1974的“关于Minimax FIR数字希尔伯特变形金刚的行为”中找到。我想知道如何使用变压器系数进行希尔伯特变换,等效于使用基于hilbert()的fft函数。
例如,我有一个简单的谐波信号:
y = ac*cos(2*pi*fx*x)hilbert()函数可以通过以下方式获得振幅交流:
ac = abs(hilbert(y))我的问题是如何利用七元件希尔伯特变压器获得振幅?
我试图将y与这些系数直接转换,然后发现信号相移,但其幅度衰减很大。

发布于 2022-10-02 03:23:57
振幅不匹配的原因是由于给定的Hilbert解的频率响应,如下面的图所示,与3个样本的匹配补偿延迟相比,振幅和相位是一致的。在下面的幅值响应中,与图中的幅值差应该与给定频率的幅值完全匹配。

OP的正弦波振幅差约为-4.5 dB,频率约为0.4rad/样品。
作为比较,下面是以牺牲幅度误差为代价扩展带宽的另一种解决方案:
coeff = [ 0.16761102, -0, 0.62093698, -0, -0.62093698, -0,-0.16761102])

另一个解决办法是增加系数的数目。下面显示了用15个水龙头实现的性能。

用51个水龙头..。

https://stackoverflow.com/questions/47226296
复制相似问题