matlab fft 历程,MATLAB利用FFT分析不足一个完整周期的信号时的问题

本文探讨了使用MATLAB的FFT函数分析不足一个完整周期的50Hz信号时出现的误差问题。当采样点数L为64时,频谱幅值出现较大误差,而L为128及以上时分析正常。问题在于FFT可能需要至少一个完整周期的数据以获得准确结果。此外,作者提出在频谱图中标注频率值以区分相近频率的建议。
摘要由CSDN通过智能技术生成

本帖最后由 yszh0836 于 2017-2-28 17:40 编辑

案例场景:

现通过AD采集电网信号进行谐波分析的课题研究,电网为正弦波,周期50Hz(周期20ms),AD采样率6400(即每个电网周期采样128个点)。

现在用matlab进行前期仿真分析来分析一个直流+50Hz+1500Hz的正弦波叠加后的波形。

代码基本按照matlab的fft帮助文件里的代码修改过来,代码可以正常运行。问题描述如下:

1:Fs=6400,L=128 或者更高的2^N时,分析没有问题,3条幅度从左往右依次是1,2,3。

2:Fs=6400,L=64,则分析后显示频谱幅值就有比较大的误差了,取32就更不对。

我的问题:

1:按理说,L取64时相当于刚好分析半个电网周期的数据,难道FFT分析时一定要分析至少一个完整周期的信号?

2:plot后频谱图上如果两个频率相差太近,可以在每条频谱线的X轴标上频率 值?

代码如下:

Fs = 6400;            % Sampling frequency

T = 1/Fs;             % Sampling period

L = 64;             % Length of signal

t = (0:L-1)*T;        % Time vector

%%

% Form a signal containing a 50 Hz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值