Matlab实现傅里叶性质
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号与系统课程设计报告书
用MATLAB实现傅里叶变换的对称性课题名称
质和频移性质
姓名
学号
院、系、部电子系
专业电子信息工程
指导教师
201 年月日
-
【设计题目】
试用MATLAB实现傅里叶变换的
(1)对称性质,以Sa(w0t)和gτ(t)为例
(2)频移性质,以ε(t)和cosw0(t)ε(t)为例
【设计目的】
1.学习完信号与系统这门课后,按照基本原理,综合运用所学知识,理解了题目的基本意思。
2.学会在MATLAB上实现傅里叶变换.了解程序算法
3.学会在MATLAB中仿真显示幅度谱
【设计要求】
1.设计的程序能够正常运行。
2.可读性:源代码清晰,有层次。
【设计原理】
正交级数的展开是傅里叶变换的理论基础!将一个在时域收敛的函数展开一系列不同频率谐波的叠加,从而达到解决周期函数问题的目的。在此基础上进行推广,从而可以对一个非周期函数进行时频变换。从分析的角度看,是用简单的函数去逼近(或替代)复杂函数,从几何的角度看,他是以一族正交函数为基向量,他建立了周期函数与序列的对应关系,而从物理意义上看,他将信号分解为一些列的简谐波复合,从而建立了频谱理论。
- 【具体算法】
1.时-频对称性F(t)↔2pi*f(w)
2.频移特性f(t)*e^±jw0t=F[(w±w0)]
【实验程序】
频移性质
N=256;M=500; t=linspace(-2,2,N);
w=linspace(-10*pi,10*pi,M); %在[-10*pi,10*pi]内进行频率分割
dt=4/(N-1);
f=heaviside(t);
f1=f.*cos(20*t);
f2=f.*exp(-j*20*t);
F=f*exp(-j*t'*w)*dt; %求f(t)的傅立叶变换
F1=f1*exp(-j*t'*w)*dt;
%F2=f2*exp(-j*t'*w)*dt;
subplot(2,1,1);
plot(w,real(F),w,real(F1),'r'),
grid on
xlabel('w');ylabel('real(F(w))');
title('信号傅立叶变换的实部')
subplot(2,1,2);
plot(w,abs(F),w,abs(F1),'r'),
- grid on
xlabel('w');ylabel('abs(F(w))');
title('信号的幅度谱')
对称性质
N=3001;
t=linspace(-15,15,N);
f=pi*[heaviside(t+1)-heaviside(t-1)];
dt=30/(N-1); M=500;
w=linspace(-5*pi,5*pi,M);
F=f*exp(-j*t'*w)*dt;
subplot(2,2,1),plot(t,f);grid on
axis([-2,2,-1,4]);
xlabel('t');ylabel('f(t)');
subplot(2,2,2), plot(w,real(F)); axis([-20,20,-3,7]);
xlabel('w');ylabel('F(w)=F[f(t)]'); f1=sinc(t/pi);
F1=f1*exp(-j*t'*w)*dt;
subplot(2,2,3),plot(t,f1);
xlabel('t');ylabel('f1(t)=F(t)/2*pi'); subplot(2,2,4),plot(w,real(F1)); axis([-2,2,-1,4]);
xlabel('w');
ylabel('F1(w)=F[f1(t)]=f(w)');
【实验调试】
实验中在编写代码的时候遇到一些特殊的算法不会,通过网上查找资料和询问同学得以解决,代码输入的时候也出现一些错误,改正后才正常运行。
【实验总结】
通过本次课程设计,我对傅里叶性质有了更深层次的了解,熟悉了MATLAB软件的应用,同时也发现自己在理解问题,解决问题时还有很多不足。虽然在理论上对问题有一点的了解,但在实际应用中有很多问题,不过在同学和老师的帮助下都得以解决。