没有傅立叶变换的相位旋转

信息处理 傅里叶变换 阶段
2022-02-14 17:51:40

是否有任何已知的数学方程或其他方法可以对信号执行相位旋转而不将其分解到频域?

在频域中是显而易见的。您只需要为每个频率执行相移。但是将信号从时域分解到频域,然后对每个频率执行相移,然后再次将其合成到时域,这对于频率丰富的信号来说计算量非常大。

这就是为什么我想知道是否可以在不将信号分解到频域的情况下实现它?

为了清楚起见,我想对信号执行类似的操作:

在此处输入图像描述

但我不知道信号中的频率。我只有时域信号。那可能吗?

1个回答

您可以使用希尔伯特变换,然后将实部乘以您要变换的角度的正弦,然后将虚部乘以余弦。Octave中的快速代码:

t=[0:0.01:4];
s=hilbert(1-2*mod(t,1));
a=real(s);
b=imag(s);
phi=[0:0.5:6];
test=a.*sin(phi)+b.*cos(phi);
plot(a+4,"",test');

结果

我知道有使用 IIR 进行的希尔伯特变换,但它们的相位并不完全是线性的,所以 FIR 是一个更好但成本更高的选择。它的顺序将是感兴趣的最低频率的函数,这将被视为过渡宽度。如果你的带宽很大,订单就会很大。


FIR是一个滤波器,这意味着它在时域中起作用(但隐含地,频域会受到影响)。举个例子,您显示的信号为 1 Hz,以 32 Hz 采样,用 FIR 过滤,带有 As=60 和 1 Hz 转换宽度的 Kaiser 窗口:

冷杉

输出没有被采样,因为我正在粗暴地添加两个输入,但这就是结果的样子。绿色数字是订单。这是一个对称的 FIR,因此您需要那么多延迟和一半的乘法器。您可以尝试多相方法,这将减少延迟的数量,但不会减少乘数。