MATLAB的离散傅里叶变换的仿真
更新时间:2024-04-13 22:12:01 阅读量: 综合文库 文档下载
应用MATLAB对信号进行频谱分析及滤波
设计目的
要求学生会用MATLAB语言进行编程,绘出所求波形,并且运用FFT求对连续信号进行分析。
一、设计要求
1、用Matlab产生正弦波,矩形波,并显示各自的时域波形图;
2、进行FFT变换,显示各自频谱图,其中采样率、频率、数据长度自选,要求注明;
3、绘制三种信号的均方根图谱;
4、用IFFT回复信号,并显示恢复的正弦信号时域波形图。 二、系统原理
用FFT对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行频谱分析的信号是模拟信号和时域离散信号。频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现频率分辨率是2π/N。
x(n)是一个长度为M的有限长序列,则x(n)的N点离散傅立叶变换为:
N?1kn?x(n)WNWn?0X(k)=DFT[x(n)]=,k=0,1,...,N-1
1N?12?N?jN?e
逆变换:x(n) =IDFT[X(k)]=
Nn?0?X(k)WN?kn,k=0,1,...,N-1
但FFT是一种比DFT更加快速的一种算法,提高了DFT的运算速率,为数字信号处理技术应用于各种信号处理创造了条件,大大提高了数字信号处理技术的发展。本实验就是采用FFT,IFFT对信号进行谱分析。
三、程序设计
fs=input('please input the fs:');%设定采样频率 N=input('please input the N:');%设定数据长度 t=0:0.001:1;
f=100;%设定正弦信号频率
1
%生成正弦信号 x=sin(2*pi*f*t); figure(1); subplot(211);
plot(t,x);%作正弦信号的时域波形 axis([0,0.1,-1,1]); title('正弦信号时域波形'); z=square(50*t); subplot(212) plot(t,z)
axis([0,1,-2,2]);
title('方波信号时域波形');grid; %进行FFT变换并做频谱图 y=fft(x,N);%进行fft变换 mag=abs(y);%求幅值
f=(0:N-1)*fs/N;%横坐标频率的表达式为f=(0:M-1)*Fs/M; figure(2); subplot(211);
plot(f,mag);%做频谱图 axis([0,1000,0,200]); title('正弦信号幅频谱图'); y1=fft(z,N);%进行fft变换 mag=abs(y1);%求幅值
f=(0:N-1)*fs/N;%横坐标频率的表达式为f=(0:M-1)*Fs/M; subplot(212);
plot(f,mag);%做频谱图 axis([0,1000,0,200]);
title('方波信号幅频谱图');grid; %求功率谱
2
sq=abs(y); power=sq.^2; figure(3) subplot(211); plot(f,power);
title('正弦信号功率谱');grid; sq1=abs(y1); power1=sq1.^2; subplot(212); plot(f,power1);
title('方波信号功率谱');grid; %用IFFT恢复原始信号 xifft=ifft(y); magx=real(xifft);
ti=[0:length(xifft)-1]/fs; figure(4); subplot(211); plot(ti,magx); axis([0,0.1,-1,1]);
title('通过IFFT转换的正弦信号波形'); zifft=ifft(y1); magz=real(zifft);
ti1=[0:length(zifft)-1]/fs; subplot(212); plot(ti1,magz);
title('通过IFFT转换的方波信号波形');grid; 四、仿真结果及分析
3
由图可以看出正弦波周期T=0.01,采样点N=1024.程序为: x=sin(2*pi*f*t); figure(1); subplot(211);
plot(t,x);%作正弦信号的时域波形 axis([0,0.1,-1,1]); title('正弦信号时域波形'); z=square(50*t); subplot(212) plot(t,z)
axis([0,1,-2,2]);
title('方波信号时域波形');grid;
4
2、对正弦波、方波信号进行FFT变换程序: y=fft(x,N);%进行fft变换 mag=abs(y);%求幅值
f=(0:N-1)*fs/N;%横坐标频率的表达式为f=(0:M-1)*Fs/M; figure(2); subplot(211);
plot(f,mag);%做频谱图 axis([0,1000,0,200]); title('正弦信号幅频谱图'); y1=fft(z,N);%进行fft变换 mag=abs(y1);%求幅值
f=(0:N-1)*fs/N;%横坐标频率的表达式为f=(0:M-1)*Fs/M; subplot(212);
plot(f,mag);%做频谱图 axis([0,1000,0,200]);
title('方波信号幅频谱图');grid;
正弦信号、方波信号功率谱程序: sq=abs(y); power=sq.^2;
5
figure(3) subplot(211); plot(f,power);
title('正弦信号功率谱');grid; sq1=abs(y1); power1=sq1.^2; subplot(212); plot(f,power1);
title('方波信号功率谱');grid;
对两个信号进行恢复程序: xifft=ifft(y); magx=real(xifft);
ti=[0:length(xifft)-1]/fs; figure(4); subplot(211); plot(ti,magx); axis([0,0.1,-1,1]);
title('通过IFFT转换的正弦信号波形'); zifft=ifft(y1);
6
magz=real(zifft);
ti1=[0:length(zifft)-1]/fs; subplot(212); plot(ti1,magz);
title('通过IFFT转换的方波信号波形');grid;
当采样频率小于2fc或N小于M时恢复信号就会出现失真,频谱会发生馄叠。
7
正在阅读:
MATLAB的离散傅里叶变换的仿真04-13
小学生二年级家乡美景的作文06-13
两堂一舍管理制度10-31
福建三农集团股份有限公司 福建三农集团股份有限公司06-06
ch9 光纤传感器及其应用xxx07-22
《走进我的家乡》综合实践活动案例05-26
优环境促发展谱写乡镇高质量跨越式发展新篇章—乡镇年度工作总结及明年工作要点08-04
西工大软件技术实验六报告01-21
学校帮扶工作总结精选集锦05-25
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 离散
- 变换
- 仿真
- MATLAB
- 傅里
- 《中国古代文学史(二)》(宋 - 近代)知识点滴
- 青年的陷阱阅读答案
- 2010年全国职称英语综合类(B级)考试真题
- 贞观
- 初中主题班会教案汇编(共20个主题)
- 重庆大学2014年光电工程学院研究生复试公示结果名单 - 图文
- 马临中学2010届毕业班工作方案
- 最高人民检察院关于进一步加强对诉讼活动法律监督工作的意见
- 工程材料简答题答案
- 材料成型基础课后习题答案
- 一个真正的革命烈士一冤多辈
- 建设工程施工现场安全生产标准化图集(2014最新版 81页)ser
- 郴州市城市防洪排涝情况调研报告
- 宝鸡市高效课堂 - 图文
- 数字PID控制算法仿真研究
- 努力奉献,做快乐医生!考试答案
- 科技研发工作总结与计划范文
- 竞聘学生处处长演讲稿
- 关于编制工矿无极灯项目可行性研究报告编制说明
- 2011-2013选择判断 2 - 图文