gpt4 book ai didi

正弦波一个周期的 Matlab fft 返回 -pi/2 的相位。为什么?

转载 作者:行者123 更新时间:2023-12-01 11:24:30 26 4
gpt4 key购买 nike

在尝试理解快速傅立叶变换时,我遇到了相位问题。我已将其分解为下面的简单代码。计算 50Hz 正弦波的一个周期,并应用 fft 算法:

    fs = 1600;
dt = 1/fs;
L = 32;
t=(0:L-1)*dt;
signal = sin(t/0.02*2*pi);

Y = fft(signal);
myAmplitude = abs(Y)/L *2 ;
myAngle = angle(Y);

Amplitude_at_50Hz = myAmplitude(2);
Phase_at_50Hz = myAngle(2);

虽然振幅还可以,但我不明白相位结果。为什么我得到 -pi/2 ?由于只有一个纯正弦波,我预计相位为 0。我的数学错误,或者我对 Matlab 的使用,或者两者都有......(自制的 fft 给了我相同的结果。所以我想我是绊倒我的数学。)

这里有一个类似的帖子:MATLAB FFT Phase plot .但是,建议的“展开”命令无法解决我的问题。

谢谢和最好的问候,

丹克

最佳答案

FFT 相位角为零的默认波形是余弦波,它在 FFT 窗口中以 1.0 开始和结束(而不是在 FFT 窗口中以 0.0 或其零交叉点开始和结束的正弦波)。是因为常见的命名法是将 FFT 基向量(复指数)的余弦函数分量称为“实数”分量。正弦函数基分量称为“虚数”,因此推断出非零复相位。

关于正弦波一个周期的 Matlab fft 返回 -pi/2 的相位。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38881026/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com