- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)