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

上传人:wj 文档编号:2504241 上传时间:2023-05-03 格式:DOCX 页数:6 大小:160.10KB
下载 相关 举报
Matlab信号处理FFT变换后的幅频相频曲线.docx_第1页
第1页 / 共6页
Matlab信号处理FFT变换后的幅频相频曲线.docx_第2页
第2页 / 共6页
Matlab信号处理FFT变换后的幅频相频曲线.docx_第3页
第3页 / 共6页
Matlab信号处理FFT变换后的幅频相频曲线.docx_第4页
第4页 / 共6页
Matlab信号处理FFT变换后的幅频相频曲线.docx_第5页
第5页 / 共6页
Matlab信号处理FFT变换后的幅频相频曲线.docx_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

用matlab编程:

构造一个信号函数,用FFT变换后,做出其幅频及相位的曲线。

1、流程图

2、程序代码

%用fft求幅频相频

clc;%清空

clearall;%清除所有变量

closeall;%关闭所有窗口

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、程序运行结果

图1N=9时fft结果

4、困惑及自我理解

为什么最大值的横坐标为50.781250,而不是50,是不是因为f=step*(0:

256)/512并不能将所有的f列出,所以修改程序如下:

%用fft求幅频相频

clc;%清空

clearall;%清除所有变量

closeall;%关闭所有窗口

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时,结果如图3

图3

当N=20时,结果如图4

图4

通过观察比较图1到图4,可以很明显的看到最大值点的横坐标越来越接近50,自然会想到当N趋于无穷时,那么横坐标的值就是50。

由此给我们的启示是,在以后求fft时,尽量将N取大,尤其是噪声信号与有用信号的频率很接近时,这样能保证有更高的精度。

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2