在频域低通滤波

29日视图(30天)
穆罕默德Zulqarnain
穆罕默德Zulqarnain 2019年5月2日
评论道: (Akhil2022年11月29日
你好,
我有一个信号时域“InputSine”说,我把它的fft,然后用巴特沃斯滤波器低通滤波。最后,我必须采取低通滤波信号的传输线时域的信号。我得到正确的结果,直到低通滤波步骤。之后,我没有得到正确的重构信号在时间域。我认为问题在于我试图重建单侧fft的时域信号。任何建议来识别问题将高度赞赏。
M = csvread (“InOut.csv”2);
时间= M (: 1);
InputSine = M (:, 2);
Fs = 1 /(时间(2)- (1));%采样频率
x = InputSine;%输入信号
N =长度(x);
X_Mag = abs (fft (x));
Bin_Vals = 0: n - 1;
Freq_Hz = (Bin_Vals * Fs / N);
甲烷=装天花板(N / 2);
semilogx (Freq_Hz(1:甲烷),20 * log10 (X_Mag(1:甲烷)/ (N / 2)));
n = 1000;%的过滤器
wc = 2 * 3.14 * 125;%切断频率
h = 1. / (1 + (2 * 3.14 * Freq_Hz(1:甲烷))。/ wc) ^ 2 * n);%滤波器传递函数
h = h ';
Filtered_response = (X_Mag(1:甲烷)/ (N / 2)。* h;
Inverse_Fourier =传输线(Filtered_response);
振幅=√Inverse_Fourier。*连词(Inverse_Fourier));
x_recon = (abs(振幅));
t =[0:1:长度(x_recon) 1] / Fs;
情节(t, x_recon);
1评论
(Akhil
(Akhil 2022年11月29日
如何让一个圆形的半径面具吗

登录置评。

答案(1)

克一个
克一个 2019年5月3日
fft (x)通常是一个复杂的返回值。X_Mag = abs (fft (x));——从这里你失去信息的实部和虚部信号在频域。如果你想要正确的再转换回时域,你必须处理信号的振幅,而不是大小。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!