私は最近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 ポイントに設定すると、同じ位相結果が得られません。マグニチュードの結果は似ていますが、わずかに異なります。
よろしくお願いします。