从两个信号域计算频率响应时间在matlab
67(30天)
显示旧的评论
你好,我在时间域数组样本的输入和输出信号。向量是2002个样本的大小。我想找到频率响应。我写[h, w] = freqz (y、x, 2002);图()图(abs (h))但我非常奇怪的图。我想看到过滤器。我要计算频率响应的智能手机(音频过滤器)我做错了什么?
答案(1)
明星黾
2018年1月2日
你不能得到任何有用的信息从你的数据,因为噪音。然而,使用正确的采样频率(你没有状态,或给一次向量),这将给你的所有信息可以得到从你的数据:
D1 =负载(x.mat);
D2 =负载(y.mat);
x = D1.x;
y = D2.y;
L =元素个数(x);%长度的信号
Fs = 1;%采样频率
Fn = f / 2;%奈奎斯特频率
FTx = fft (x) / L;
FTy = fft (y) / L;
阵线= linspace(0, 1,修复(L / 2) + 1) * Fn;%频率向量
4 = 1:长度(艘);%指数向量
TFyx = FTy. / FTx;
图(1)
次要情节(2,1,1)
semilogx(阵线,20 * log10 (abs (TFyx (Iv))))
ylabel (“| H (f) | (dB)”)
次要情节(2,1,2)
semilogx(阵线,角(TFyx (Iv)) * 180 /π)
ylabel (“阶段(°)”)
包含(的频率(赫兹))
注意,您只能使用一个频率,所以如果你想在频率、频率响应的振幅
“y”
的振幅
“x”
。如果你想要的频率响应,输入必须是一个扫描信号(如啁啾)或宽带噪声(实质上是一个脉冲响应)。当你这样做,我的代码将为宽带工作输入信号产生宽带输出信号。