MATLAB的离散傅里叶变换的仿真
更新时间:2024-02-01 02:30: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的离散傅里叶变换的仿真02-01
销售助理工作总结2篇(精选多篇)09-28
ydcc-xz组织内部沟通方式07-17
八年级上学期作文计划11-08
影视配音艺术大纲05-12
c语言期末考试题及其答案01-04
6.3实数(1)doc04-02
五个基本,七个体系02-20
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 离散
- 变换
- 仿真
- MATLAB
- 傅里
- 《基础会计》八-十二练习
- 基层施工指导书 - 图文
- 中共温州市委温州市人民政府关于进一步整治规范建设工程招投标市场的若干规定(试行)
- 数电第二章习题
- 供应链管理实务习题答案
- 党课笔记 生态文明建设与节能环保
- 初中主题班会教案汇编(共20个主题)
- 一个真正的革命烈士一冤多辈
- 《面向对象程序设计》实验指导书
- 神经干复合动作电位与骨骼肌收缩的关系
- 营业税改征增值税政策业务问答之五(定稿)
- 万古霉素临床应用剂量中国专家共识
- 2007-2012中国文化概论自考考试试题及答案
- 三年级安全常识课第八课:认识火灾 - 图文
- 威宁县东风镇第二中学中学生《挫折教育》主题班会 2
- 重庆南开(融侨)中学初2017级初三下阶段测试二英语试题
- 2019年高考语文-中国古代文化常识题库-含答案及解析(1)
- 浅析项目工程安全管理与质量控制
- .2015国考申论高分技巧之一式两招完胜贯彻执行题目
- 南大-电子商务概论第(2)次作业