matlab fft 历程,MATLAB利用FFT分析不足一个完整周期的信号时的问题
本帖最后由 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 sinusoid of amplitude 0.7 and a 120 Hz
% sinusoid of amplitude 1.
S = 1+2*sin(2*pi*50*t) + 3*sin(2*pi*1500*t);
%%
% Corrupt the signal with zero-mean white noise with a variance of 4.
X = S + 2*randn(size(t));
%%
% Plot the noisy signal in the time domain. It is difficult to identify
% the frequency components by looking at the signal |X(t)|.
% plot(1000*t(1:50),X(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('t (milliseconds)')
ylabel('X(t)')
%%
% Compute the Fourier transform of the signal.
Y = fft(X);
%%
% Compute the two-sided spectrum |P2|. Then compute the single-sided
% spectrum |P1| based on |P2| and the even-valued signal length |L|.
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
%%
% Define the frequency domain |f| and plot the single-sided amplitude
% spectrum |P1|. The amplitudes are not exactly at 0.7 and 1, as expected, because of the added
% noise. On average, longer signals produce better frequency approximations.
f = Fs*(0:(L/2))/L;
plot(f,P1)
title('Single-Sided Amplitude Spectrum of X(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')
%%
% Now, take the Fourier transform of the original, uncorrupted signal and
% retrieve the exact amplitudes, 0.7 and 1.0.
Y = fft(S);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
% plot(f,P1)
bar(f,P1,1)
title('Single-Sided Amplitude Spectrum of S(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')
N=128.png
(67.56 KB, 下载次数: 6)
2017-2-28 11:23 上传
N=128时正常的图
2.png
(70.26 KB, 下载次数: 1)
2017-2-28 11:25 上传
N=64时幅度不正常
matlab fft 历程,MATLAB利用FFT分析不足一个完整周期的信号时的问题相关推荐
- 利用过采样技术提高ADC测量微弱信号时的分辨率
1. 引言 随着科学技术的发展,人们对宏观和微观世界逐步了解,越来越多领域(物理学.化学.天文学.军事雷达.地震学.生物医学等)的微弱信号需要被检测,例如:弱磁.弱光.微震动.小位移.心电.脑电等[1 ...
- 【 MATLAB 】信号处理工具箱之 fft 案例分析
上篇博文:[ MATLAB ]信号处理工具箱之fft简介及案例分析介绍了MATLAB信号处理工具箱中的信号变换 fft 并分析了一个案例,就是被噪声污染了的信号的频谱分析. 这篇博文继续分析几个小案例 ...
- 【 MATLAB 】信号处理工具箱之fft简介及案例分析
目录 Syntax Description Y = fft(X) Y = fft(X,n) Y = fft(X,n,dim) Examples Noisy Signal Syntax Y = fft( ...
- MATLAB利用FFT对信号进行频谱分析
1.实验目的 (1)进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质). (2)熟悉FFT算法原理和FFT程序的应用. (3) ...
- 信号功率谱密度matlab,Matlab2019b中常用的音频信号分析,快速傅里叶(FFT),功率谱密度(PSD),以及通过FFT求取功率谱密度的问题...
本应该为基础知识的维纳辛钦定理的证明,在matlab调试中遇到的大坑.为了验证,本人编写了一个从求取FFT,到多种方法求取PSD的matlab程序. 问题主要集中在x轴和y轴应该如何取值的问题上,单纯 ...
- 在matlab上利用fft进行信号频谱分析_使用示波器进行信号频谱分析(FFT)的设置教学...
对信号中的频率分量进行分析是十分重要的,因为他们常常会在设计中引起噪声,一旦超出允许的公差,就可能进而导致器件发生故障功能失常.严重的还可能导致电压尖峰,损坏器件.如果我们在设计的时候没有进行正确的测 ...
- 离散傅里叶变换DFT与FFT,MATLAB的FFT函数使用(原创)——如何使用fft()绘制出真正的频谱图像
以前一直对MATLAB中fft()函数的使用一直存在疑惑,为什么要加一 些参数,并且如何确定这些参数,也查了许多资料,但很多都感觉只是 表面一说根本没有讲清其本质.但随着学习的推进,慢慢有所领悟,所 ...
- 如何避免FFT(matlab)计算傅里叶级数与傅里叶变换时存在的混叠(aliasing)和泄露(leakage)问题
文章目录 前言 1. 周期信号的傅里叶级数 1.1 周期信号的多种傅里叶表示形式 1.2 周期信号傅里叶级数系数的计算 2 非周期信号的傅里叶变换 2.1 非周期信号的傅里叶变换 2.2 傅里叶级数与 ...
- Matlab数字图像的傅里叶变换(FFT)
查看全文 http://www.taodudu.cc/news/show-6182241.html 相关文章: 使用matlab对图像进行傅里叶变换 [ MATLAB ]离散傅里叶变换(DFT)以及逆 ...
- [Matlab科学计算] 频谱分析和FFT算法总结
频谱分析是一种非常重要的信号处理方法,在机械设备故障诊断.振动系统分析.电力系统.无线电通信.信息图像处理和自动控制等学科中都有重要应用.频谱分析的核心是1965年Cooely-Tukey发表的快速傅 ...
最新文章
- nslookup默认服务器修改,Nslookup命令的使用 - [详细]
- python pyside简单布局_python – pyside显示/隐藏布局
- 做了一个网页,顺便录制了一个视频,大家看看高端不
- 基于MM2的跨IDC kafka热备多活方案
- 分页的limit_Presto分页功能概述
- python画猴子_Python学习笔记(1)
- Linux磁盘分区/格式化/挂载目录
- 为什么需要使用Git客户端?
- 开放大学计算机应用基础第三次,江苏开放大学-计算机应用基础第三次.doc
- 区块链应用大数据的优势有哪些
- 如何提升Java应用程序性能
- 计算机知识竞赛策划案,计算机基础知识竞赛策划书.doc
- pc安装android,在电脑上安装安卓的过程
- 网络发现已关闭。网络计算机和设备不可见。请启用网络和共享中心中的网络发现。
- c语言学生班级通讯录,C语言做学生通讯录
- consonant combination
- Ubuntu 升级显卡驱动
- 【对比Java学Kotlin】协程-创建和取消
- The specified target project directory 项目名\src\main\resources does not exist 问题解决
- 年货节买蓝牙耳机哪个品牌最好?数码达人力荐的几大机型!