matlab傅立叶定理验证,傅里叶变换及带通滤波器仿真Matlab试验报告.doc

傅里叶变换及带通滤波器仿真Matlab试验报告

傅里叶变换及带通滤波器仿真Matlab试验报告

一.实验目的

学习软件matlab的编辑语言、绘图、函数等功能的运用

了解傅里叶级数的复数形式表示方波,并运用matlab绘出。

熟悉带通滤波器的工作原理,并用matlab仿真带通滤波器,绘出相应的图形,最后用pspice验证。

二.实验平台

1. Matlab7.0

2. Pspice

三.实验内容

实验一

用matlab模拟计算傅里叶分量叠加近似方波的过程,并将叠加过程用图形表示,最后画出谐波的振幅频谱。

实验原理

根据傅里叶定理,任何一个角频率为ω的周期函数都可以表示成无穷多个频率为ω整数倍的正弦函数和余弦函数之和。

将傅里叶级数交流分量各项相叠加后,可得到原始的方波信号。参加叠加的傅里叶分量越多,其和就越接近原来的方波。

谐波的振幅随频率的增加而快速减少。

实验步骤

设计叠加傅里叶交流分量的算法。

打开Matlab,编辑程序实现算法。

运用Matlab的绘图函数将叠加过程用图形表示。

用Matlab绘出振幅频谱图。

实验程序代码

%时间t从0到2,每隔0.001秒取一点

t=0:0.001:pi;

y=0;

%通过循环绘出a小于等于5和a=16时的图像

for a=1:6

n=2*a-1

y=y+4./(n*pi)*sin(n*pi*t);

figure(1)

subplot(2,3,a);

plot(t,y,'-g')

xlabel('Time');

ylabel('F');

end

s=0;

for b=1:16

s=s+4./((b*2-1)*pi)*sin((b*2-1)*pi*t);

end

plot(t,s,'-g')

%绘出振幅频谱图像

figure(2)

k=1:2:12;

A=4./(k*pi);

bar(k,A,0.1);

实验结果

傅里叶波形图

振幅频谱图

实验结果分析与结论

根据傅里叶波形图可以看出,通过逐项叠加傅里叶级数交流分量可以形成原始方波。并且参加叠加的傅里叶分量愈多,其和就越接近原始方波。

由于无法求和无穷多项傅里叶分量,实验中取N=31为无穷。通过观察可知此时图像与原始方波很接近,但仍存在振荡。由此可知,当N趋向无穷时,傅里叶分量之和仍在实际值上下所波动,即存在吉伯斯现象。

根据观察振幅频谱图可以发现,随着频率的增加,振幅大幅度减少,到一定程度后缓慢减少。

实验过程中的问题及解决方法

实验中首先遇到的问题是对方波函数傅里叶级数的不熟悉。不知道如何设计算法将方波函数的傅里叶级数交流分量叠加。通过查找,在书中找到了常见函数的傅里叶级数。其中方波函数的傅里叶级数为f(t)=(4A/π)∑(1/(2n-1))sin(2n-1)ωt。

设计程序时,不熟悉matlab的语言,尝试用学过的c++语言解决,结果程序运行过程中发生了很多错误,于是自学了部分matlab语言,运用其中的函数如plot函数绘图,最终得出了实验成果。

程序无法叠加无穷项数据,因此后来选择了31项作为无穷项的参照。

刚开始绘图时发现绘出的图像是一样的,经过检查,发现是程序中的循环语句出现了错误,导致傅里叶分量没有叠加。修改程序后,终于解决了问题。

在程序绘图时,下一幅图经常覆盖上一幅图像,导致在刚开始绘制频谱图时傅里叶波形图被覆盖。经过查找资料,发现可用figure创建一新的绘图窗口解决。

实验二

用Matlab设计不同带宽的带通滤波器。绘出图像后用Pspice作电路仿真,并用检验所设计带通滤波器是否正确。电路图如下图所示。

F0 =10KHz,BW=200Hz、1kHz、10kHz

实验原理

在R、L、C串联电路中,当正弦交流信号源频率f变化时,电路中的感抗、容抗亦随之改变,电路中电流也随f改变。若以频率f为横坐标,电流I为纵坐标,绘出光滑曲线,即为幅频特性曲线。

当f=f0时,即幅频特性曲线尖峰所在频率点,该频率称为谐振频率,此时电路呈纯阻性,电路阻抗的模最小。

实验步骤

设计算法计算R、L、C的值。

设计算法绘出当L、C的值固定,改变R值时谐振电路的幅频特性曲线、相频曲线和以db为单位的幅频特性曲线。

用Matlab实现所设计的算法。

用Pspice仿真电路验证所设计滤波器的正确性。

试验程序代码

f=1e+2:1e+2:1e+6;

f0=1e+4;

i=sqrt(-1);

c=1e-7;

l=1/(4*c*(f0*pi)^2);

r1=200*l;

r2=1000*l;

r3=10000*l;

Zc=1./(i*2*pi*f*c);

Zl=i*2*pi*f*l;

ft1=r1./(r1+Zc+Zl);

ft2=r2./(r2+Zc+Zl);

ft3=r3./(r3+Zc+Zl);

figure(1)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值