给定一个大小的图| H( ω ) ||H(ω)|和它的角度,你怎么能找到H( ω )H(ω)?

信息处理 傅里叶变换 连续信号 阶段 频率响应 震级
2022-02-16 19:22:29

我专门尝试使用逆傅里叶变换来查找h(t),但我发现很难得到H(ω)首先。

我的教科书给我的印象是H(ω)=|H(ω)|ejarg{H(ω)}, 然后h(t)只是那个的逆傅立叶变换。

1个回答

是的你是对的。让我们用 Matlab / Octave 实际实现它。

N = 8;
h = [1,2,3,4,4,3,2,1];    % just an impulse response (FIR)

H = fft(h,N);             % DFT H[k] of h[n] as samples of H(w) at w = 2*pi*k/N

Hm = abs(H);              % extract the magnitude of H[k]
Hp = angle(H);            % extract the phase angle of H[k]

Hr = Hm.*exp(j*Hp);       % Reconstruct H[k] from its magnitude and phase

hr = ifft( Hr, N);        % reconstruct h[n] from the reconstructed Hr[k]