版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MATLAB 中FFT的使用方法 一.调用方法 X=FFT(x); X=FFT(x , N); x=IFFT(X); x=IFFT(X,N) 用MATLAB进行谱分析时注意: (1 )函数FFT返回值的数据结构具有对称性。 例: N=8; n=0:N-1; xn=4 3 2 6 7 8 9 0; Xk=fft(xn) 39.0000 -10.7782 + 6.2929i 0 - 5.0000i4.7782 - 7.7071i5.0000 4.7782 + 7.7071i 0 + 5.0000i -10.7782 - 6.2929i Xk与xn的维数相同,共有8个元素。Xk的第一个数对应于直流分
2、量,即频率值为 (2)做FFT分析时,幅值大小与 FFT选择的点数有关,但不影响分析结果。在 IFFT时已经做了处理。 要得到真实的振幅值的大小,只要将得到的变换后结果乘以 2除以N即可。 二.FFT应用举例 例 1 : x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t) 。采样频率fs=100Hz,分别绘制 N=128、1024点幅频图。 clf; fs=100;N=128;%采样频率和数据点数 n=0:N-1;t=n/fs;% 时间序列 x=0.5*sin(2* pi*15*t)+2*sin(2* pi*40*t); % 信号 y=fft(x,N);%对信号进行快速
3、Fourier变换 mag=abs(y); %求得Fourier变换后的振幅 f=n*fs/N;%频率序列 sub plot(2,2,1), plot(f,mag);%绘出随频率变化的振幅 xIabelC 频率 /Hz); ylabelC 振幅);title(N=128);grid on; subplot(2,2,2),plot(f(1:N/2),mag(1:N/2); %绘出 Nyquist 频率之前随频率变化的振幅 xIabelC 频率 /Hz); ylabel(振幅);title(N=128);grid on; %对信号采样数据为1024点的处理 fs=100;N=1024;n=0:N-
4、1;t=n/fs; x=0.5*sin(2* pi*15*t)+2*sin(2* pi*40*t); % 信号 y=fft(x,N);%对信号进行快速Fourier变换 mag=abs(y); %求取Fourier变换的振幅 f=n*fs/N; sub plot(2,2,3), plot(f,mag); %绘出随频率变化的振幅 xlabel(频率 /Hz); ylabel(振幅);title(N=1024);grid on; sub plot(2,2,4) plot(f(1:N/2),mag(1:N/2); %绘出Nyquist频率之前随频率变化的振幅 xlabel(频率 /Hz); ylab
5、el(振幅);title(N=1024);grid on; 运行结果: 频率阳艺 N=1024 频率他 14=1024 SOO Ins 200 _ J - ,J .J r J 1 400 Ids 600 600 400 200 F 1 P P _卞 h 1 h 1 -4 -4-4. 1 _J _ _. J k fs=100Hz,Nyquist 号中含有两种频率成 50 频率/He 100 2040 频率恤 频率为fs/2=50Hz。整个频谱图是以 分:15Hz和40Hz。由此可以知道 Nyquist频率为对称轴的。并且可以明显识别出信 FFT变换数据的对称性。因此用 FFT对信号做谱 (2)
6、N=32 , NFFT=128 ; (3) N=136,NFFT=128 ; (4) N=136,NFFT=512。 分析,只需考察0Nyquist频率范围内的福频特性。若没有给出采样频率和采样间隔,则分析通常对归一 128点和1024点的相同频率的振幅是有 化频率01进行。另外,振幅的大小与所用采样点数有关,采用 不同的表 现值,但在同一幅图中,40Hz与15Hz振动幅值之比均为 4: 1,与真实振幅0.5 : 2是一致的。 为了与真实振幅对应,需要将变换后结果乘以2除以N。 x=0.5*sin(2* pi*15*t)+2*sin(2* pi*40*t),fs=100H z,绘制: (1)
7、数据个数 N=32,FFT所用的采样点数 NFFT=32 ; clf;fs=100; %采样频率 Ndata=32; %数据长度 N=32; %FFT的数据长度 n=0:Ndata-1;t=n/fs;%数据对应的时间序列 y=fft(x,N); %信号的 Fourier 变换 mag=abs(y);%求取振幅 f=(0:N-1)*fs/N; % 真实频率 sub plot(2,2,1), plot(f(1:N/2),mag(1:N/2)*2/N); % 绘出 Nyquist 频率之前的振幅 xIabelC 频率 /Hz);ylabel(振幅); title(Ndata=32 Nfft=32);
8、grid on; Ndata=32; %数据个数 N=128; %FFT采用的数据长度 n=0:Ndata-1;t=n/fs;% 时间序列 x=0.5*sin(2* pi*15*t)+2*sin(2* pi*40*t); y=fft(x,N); mag=abs(y); f=(0:N-1)*fs/N; % 真实频率 sub plot(2,2,2), plot(f(1:N/2),mag(1:N/2)*2/N); % 绘出 Nyquist 频率之前的振幅 xlabel(频率 /Hz);ylabel(振幅); title(Ndata=32 Nfft=128);grid on; Ndata=136;%数
9、据个数 N=128; %FFT采用的数据个数 n=0:Ndata-1;t=n/fs; % 时间序列 x=0.5*sin(2* pi*15*t)+2*sin(2* pi*40*t); y=fft(x,N); mag=abs(y); f=(0:N-1)*fs/N;% 真实频率 sub plot(2,2,3), plot(f(1:N/2),mag(1:N/2)*2/N); % 绘出 Nyquist 频率之前的振幅 xlabel(频率 /Hz);ylabel(振幅); title(Ndata=136 Nfft=128);grid on; Ndata=136; %数据个数 N=512; %FFT所用的数
10、据个数 n=0:Ndata-1;t=n/fs; % 时间序列 x=0.5*sin(2* pi*15*t)+2*sin(2* pi*40*t); y=fft(x,N); mag=abs(y); f=(0:N-1)*fs/N;% 真实频率 sub plot(2,2,4), plot(f(1:N/2),mag(1:N/2)*2/N); %绘出 Nyquist频率之前的振幅 xIabelC 频率 /Hz);ylabel(振幅); title(Ndata=136 Nfft=512);grid on; 1g 频率他 频率性 砒at 沪口吕 06 IS GO 04 0.2 1 1 1 1 1 1 *-|*|
11、 1 1 i 1 1 p 1 1 1 1 1 _ _ _ _ _ _ _ J PIPL* *4. D.S 60 2D40 频率/Hk 3040 频率阳辽 结论: (1 )当数据个数和FFT采用的数据个数均为 32时, 频率分辨率较低,但没有由于添零而导致的其他频率 成分。 (2)由于在时间域内信号加零,致使振幅谱中出现很多其他成分,这是加零造成的。其振幅由于加了多个 零而明显减小。 (3)FFT程序将数据截断,这时分辨率较高。 FFT振幅谱也基本不受影响。 (4 )也是在数据的末尾补零,但由于含有信号的数据个数足够多, 对信号进行频谱分析时,数据样本应有足够的长度,一般FFT程序中所用数据点数
12、与原含有信号数据点数 相同,这样的频谱图具有较高的质量,可减小因补零或截断而产生的影响。 例 3 : x=cos(2*pi*0.24*n)+cos(2*pi*0.26*n) 信号紅n), 3Q0 含有叨个寧的1CI0个数据点惜号 0 时间/ 点信号的FFT 10 -2 100 信号減ri)” n=0-99 0 501( 50 时间起 含有兀亍零的100个数据点的FFT 100牛數ffi点信号的FFT 0 0 0.20.4 频率/H工 (1) 数据点过少,几乎无法看出有关信号频谱的详细信息; (2) 中间的图是将x(n)补90个零,幅度频谱的数据相当密,称为高密度频谱图。但从图中很难看出信号 的
13、频谱成分。 0.24Hz,个是0.26Hz,称为高分 (3) 信号的有效数据很长,可以清楚地看出信号的频率成分,一个是 辨率频谱。 可见,采样数据过少,运用 FFT变换不能分辨出其中的频率成分。添加零后可增加频谱中的数据个数,谱 的密度增高了,但仍不能分辨其中的频率成分,即谱的分辨率没有提高。只有数据点数足够多时才能分辨 其中的频率成分。 Fs = 100; T = 1/Fs; L = 50; t = (0:L-1)*T; x = sin (2* pi*10*t); % Sam pli ng freque ncy % Samp le time % Len gth of sig nal % Ti
14、me vector NFFT = 25 ext po w2(L); Y = fft(x,NFFT)/L; f = Fs/2*l insp ace(0,1,NFFT/2+1); % Plot sin gle-sided amp litude sp ectrum. plot(f,2*abs(Y(1:NFFT/2+1) title(Si ngle-Sided Amp litude Sp ectrum of y(t) xlabel(Freque ncy (Hz) ylabel(|Y(f)|) 1。为什么用2八nextpow2(L)而不直接是L ? 2。Y = fft(x,NFFT)/L 为什么除以 L
15、。 3。f = Fs/2*linspace(0,1,NFFT/2+1);为什么用 0,1,NFFT/2+1。 最后2*abs(Y(1:NFFT/2+1)是什么意思? 答案: 1、 一般频域的采样点要大于时域的采样点,最好是2的幕数,便于计算。可 以看看数字信号处理这类的书 2、假设采样频率为Fs,信号频率F,采样点数为N。那么FFT之后结果就是 一个为N点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频 率值下的幅度特性。具体跟原始信号的幅度有什么关系呢?假设原始信号的峰值 为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是 A 的N/2倍 所以这里应该是 3linspace(x0,x1,n)其中n代表的是点的数目,即分成n-1等分。其实 Fs/2*linspace(0,1,NFFT/2+1);就是在 0 到 1 之间分成 NFFT/2 份,也就是 FS/NFFT,也就是设置间隔点的频率。 最后2*abs(Y(1:NFFT/2+1)因为前面丫 = fft(x,NFFT)/ NFFT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全教育考核试题及答案
- 妇科罕见肿瘤手术淋巴结处理策略
- 女职工健康档案数字化管理路径
- 大数据支持下的职业病高危行业预警分级模型
- 初中语法考试及答案解析
- 2026年口腔护理(牙周病护理)试题及答案
- 2025年中职西餐烹饪(披萨制作)试题及答案
- 2025年高职给排水工程技术(排水系统维护)试题及答案
- 2025年中职汽车美容与装潢(汽车美容技术)试题及答案
- 2025年大学化学(化学教育)试题及答案
- 某220千伏变电站10千伏电容器开关柜更换工程的安全措施与施工方案
- 钳工个人实习总结
- 大健康养肝护肝针专题课件
- 道路高程测量成果记录表-自动计算
- 关于医院“十五五”发展规划(2026-2030)
- DB31-T 1587-2025 城市轨道交通智能化运营技术规范
- 2025水泥厂生产劳务承包合同
- 施工项目高效人员配置与设备管理方案
- 采血后预防淤青的按压方式
- 医学师承出师考核申请表
- 光伏电站基础知识500题及答案
评论
0/150
提交评论