没有傅立叶变换的相位旋转
信息处理
傅里叶变换
阶段
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,因此您需要那么多延迟和一半的乘法器。您可以尝试多相方法,这将减少延迟的数量,但不会减少乘数。
其它你可能感兴趣的问题