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

上传人:scccc 文档编号:14715325 上传时间:2022-02-16 格式:DOCX 页数:7 大小:147.18KB
返回 下载 相关 举报
Matlab信号处理——FFT变换后的幅频相频曲线.docx_第1页
第1页 / 共7页
Matlab信号处理——FFT变换后的幅频相频曲线.docx_第2页
第2页 / 共7页
Matlab信号处理——FFT变换后的幅频相频曲线.docx_第3页
第3页 / 共7页
Matlab信号处理——FFT变换后的幅频相频曲线.docx_第4页
第4页 / 共7页
Matlab信号处理——FFT变换后的幅频相频曲线.docx_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Matlab信号处理——FFT变换后的幅频相频曲线.docx》由会员分享,可在线阅读,更多相关《Matlab信号处理——FFT变换后的幅频相频曲线.docx(7页珍藏版)》请在三一文库上搜索。

1、用matlab编程:构造一个信号函数x = A*sin(2* pi * f * t+phi),用FFT变换后, 做出其幅频及相位的曲线。1、流程图2、程序代码%用fft求幅频相频clc;%清空clear all;% 清除所有变量close all;% 关闭所有窗口A=10;%g 幅fw=50;%固有频率phi=pi/3;% 相位step=1000;t=0:1/step:10*pi;% 时间 ty=A*sin(2*pi*fw*t+phi);% 正弦函数 yf=step*(0:256)/512;% 频率subplot(3,1,1);%三行一列第一幅图plot(t,y);%绘制图形xlabel(t/

2、s,fontsize,13);%横坐标显示 t/s ,字号 13ylabel(y,fontsize,13);% 纵坐标显示 y,字号 13title(正弦函数曲线,fontsize,13);%显示标题Y=fft(y,512);% 对y进行傅里叶变换subplot(3,1,2);%三行一列第二幅图plot(f,abs(Y(1:257);%绘制图形xlabel(f/Hz,fontsize,13);%横坐标显示 f/Hz ,字号 13ylabel(幅优,fontsize,13);% 纵坐标显示幅值,字号13title(幅频特性曲线,fontsize,13);%显示标题value,index=max(

3、abs(Y);% 将abs (Y)最大值点的横坐标、纵坐标分别赋给value和 indextext(f(index),value,sprintf(maxpiont=(%f,%f),f(index),value),fontsize,13);%显示最大值点坐标subplot(3,1,3);%三行一列第三幅图plot(f,angle(Y(1:257)*180/pi);% 绘制图形xlabel(f/Hz,fontsize,13);%横坐标显示 f/Hz ,字号 13ylabel(相位/ 0 ,fontsize,13);%纵坐标显示相位/。,字号13title(相位特性曲线,fontsize,13);%

4、显示标题3、程序运行结果图1 N=9时fft结果4、困惑及自我理解为什么最大值的横坐标为50.781250 ,而不是50,是不是因为f=step*(0:256)/512并不能将所有的f列出,所以修改程序如下:%用fft求幅频相频clc;%清空clear all;%清除所有变量close all;%关闭所有窗口A=10;%g 幅fw=50;%固有频率phi=pi/3;% 相位step=1000;t=0:1/step:10*pi;% 时间 ty=A*sin(2*pi*fw*t+phi);%正弦函数 yN=input(请输入2的指数N=);f=step*(0:2A(N-1)/2AN;%频率subpl

5、ot(3,1,1);% 三行一列第一幅图plot(t,y);% 绘制图形xlabel(t/s,fontsize,13);%横坐标显示t/s ,字号 13ylabel(y,fontsize,13);%纵坐标显示 y,字号 13title( 正弦函数曲线,fontsize,13);% 显示标题Y=fft(y,2AN);% 对y进行傅里叶变换subplot(3,1,2);% 三行一列第二幅图plot(f,abs(Y(1:2A(N-1)+1);% 绘制图形xlabel(f/Hz,fontsize,13);% 横坐标显示f/Hz ,字号 13ylabel( 幅值 ,fontsize,13);% 纵坐标显

6、示幅值,字号13title( 幅频特性曲线,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:2A(N-1)+1)*180/pi);% 绘制图形xlabel(f/Hz,fontsize,13);% 横坐标显示f/Hz ,字号 13ylabel( 相位 / ,fontsize,13);% 纵坐标显示相位/ ,字号 13title( 相位特性曲线,fontsize,13);% 显示标题当N=12时,结果如图3图3当N=20时,结果如图4图4通过观察比较图1到图4,可以很明显的看到最大值点的横坐标越来越接近 50,自然会想到当N趋于无穷时,那么横坐标的值就是 50。由此给我们的启示 是,在以后求fft时,尽量将N取大,尤其是噪声信号与有用信号的频率很接近 时,这样能保证有更高的精度。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1