Matlab信号处理——FFT变换后地幅频相频曲线.doc

Matlab信号处理——FFT变换后地幅频相频曲线.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用标准文案 精彩文档 用matlab编程:构造一个信号函数,用FFT变换后,做出其幅频及相位的曲线。 1、流程图 2、程序代码 %用fft求幅频相频 clc;%清空 clear all;%清除所有变量 close all;%关闭所有窗口 A=10;%振幅 fw=50;%固有频率 phi=pi/3;%相位 step=1000; t=0:1/step:10*pi;%时间t y=A*sin(2*pi*fw*t+phi);%正弦函数y f=step*(0:256)/512;%频率 subplot(3,1,1);%三行一列第一幅图 plot(t,y);%绘制图形 xlabel(t/s,fontsize,13);%横坐标显示t/s,字号13 ylabel(y,fontsize,13);%纵坐标显示y,字号13 title(正弦函数曲线,fontsize,13);%显示标题 Y=fft(y,512);%对y进行傅里叶变换 subplot(3,1,2);%三行一列第二幅图 plot(f,abs(Y(1:257)));%绘制图形 xlabel(f/Hz,fontsize,13);%横坐标显示f/Hz,字号13 ylabel(幅值,fontsize,13);%纵坐标显示幅值,字号13 title(幅频特性曲线,fontsize,13);%显示标题 [value,index]=max(abs(Y));%将abs(Y)最大值点的横坐标、纵坐标分别赋给 value和index text(f(index),value,sprintf(maxpiont=(%f,%f),f(index),value),fonts ize,13);%显示最大值点坐标 subplot(3,1,3);%三行一列第三幅图 plot(f,angle(Y(1:257))*180/pi);%绘制图形 xlabel(f/Hz,fontsize,13);%横坐标显示f/Hz,字号13 ylabel(相位/°,fontsize,13);%纵坐标显示相位/°,字号13 title(相位特性曲线,fontsize,13);%显示标题 3、程序运行结果 图1 N=9时fft结果 4、困惑及自我理解 为什么最大值的横坐标为50.781250,而不是50,是不是因为f=step*(0:256)/512并不能将所有的f列出,所以修改程序如下: %用fft求幅频相频 clc;%清空 clear all;%清除所有变量 close all;%关闭所有窗口 A=10;%振幅 fw=50;%固有频率 phi=pi/3;%相位 step=1000; t=0:1/step:10*pi;%时间t y=A*sin(2*pi*fw*t+phi);%正弦函数y N=input(请输入2的指数N=); f=step*(0:2^(N-1))/2^N;%频率 subplot(3,1,1);%三行一列第一幅图 plot(t,y);%绘制图形 xlabel(t/s,fontsize,13);%横坐标显示t/s,字号13 ylabel(y,fontsize,13);%纵坐标显示y,字号13 title(正弦函数曲线,fontsize,13);%显示标题 Y=fft(y,2^N);%对y进行傅里叶变换 subplot(3,1,2);%三行一列第二幅图 plot(f,abs(Y(1:2^(N-1)+1)));%绘制图形 xlabel(f/Hz,fontsize,13);%横坐标显示f/Hz,字号13 ylabel(幅值,fontsize,13);%纵坐标显示幅值,字号13 title(幅频特性曲线,fontsize,13);%显示标题 [value,index]=max(abs(Y));%将abs(Y)最大值点的横坐标、纵坐标分别赋给value和index text(f(index),value,sprintf(maxpiont=(%f,%f),f(index),value),fontsize,13);%显示最大值点坐标 subplot(3,1,3);%三行一列第三幅图 plot(f,angle(Y(1:2^(N-1)+1))*180/pi);%绘制图形 xlabel(f/Hz,fontsize,13);%横坐标显示f/Hz,字号13 ylabel(相位/°,fontsize,13);%纵坐标显示相位/°,字号13 title(相位特性曲线,fontsize,13);%显示标题 当N=10时,结果如图2 图2 当N=12时,结果

文档评论(0)

dmz158 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档