我最近一直在使用fft()
来查找我的数据的频率响应,并将其与fvtool
. 我发现虽然幅度看起来相同,但相位看起来完全不同。
我想知道如何fvtool
创建相位响应。
对于 fft,我只使用angle()
afterfft()
并将其与频率(与幅度响应相同的 X 轴)绘制。
对于fvtool
,我尝试在分析参数中更改 FFT 的点数,但相位响应仍然不同。
例如,给定样本信号x(t)
,例如(32 个样本):
0.0627905195293134
0.125333233564304
0.187381314585725
0.248689887164855
0.309016994374947
0.368124552684678
0.425779291565073
0.481753674101715
0.535826794978997
0.587785252292473
0.637423989748690
0.684547105928689
0.728968627421412
0.770513242775789
0.809016994374948
0.844327925502015
0.876306680043864
0.904827052466020
0.929776485888251
0.951056516295154
0.968583161128631
0.982287250728689
0.992114701314478
0.998026728428272
1
0.998026728428272
0.992114701314478
0.982287250728689
0.968583161128631
0.951056516295154
0.929776485888252
0.904827052466020
使用:
angle = plot(samplingFrequency/2, angle(fft(x, 32)))
对比
fvtool(x)
为 32 个点设置分析参数不会产生相同的相位结果。幅度结果看起来相似,但略有不同。
预先感谢您的任何帮助。