信号与系统实验--matlab-软件部分
信号与系统实验指导书信号与系统matlab实验

信号与系统实验指导书信号与系统matlab实验信号与系统实验指导书一、实验目的1、掌握用Matlab绘制波形图的方法,学会常见波形图的绘制。
2、掌握用Matlab编写函数的方法3、通过对周期信号和非周期信号的观察,加深对周期信号的理解。
二、实验内容1、实验原理与计算实例1.1 绘制波图的基本函数 Matlab是一种基于矩阵和数组的编程语言,它将所有的变量都看成矩阵。
它不仅有强大的计算功能,还有各种各样的画图功能。
这里主要介绍信号与系统分析中常见的几个Matlab函数,包括Matlab提供的内部函数和自定义函数。
我们可以在命令窗口中每次执行一条Matlab语句;或者生成一个程序,存为M文,供以后执行;或是生成一个函数,在命令窗口中执行。
下面介绍几个基本函数。
(1)单位阶跃函数 M文名:u.m%单位阶跃函数(连续或离散)%调用格式 y=u(t)产生单位阶跃函数 function y=u(t) y=(t>=0)(2)门函数 M文名:rectplus.m,是Matlab的内部函数。
调用格式 y=rectplus(t)产生高度为1,宽度为1的门函数调用格式y=rectplus(t,W) 产生高度为1,宽度为W的门函数(3)三角脉冲函数 M文名:tripuls.m,是Matlab的内部函数。
调用格式 y=tripuls(t) 产生高度为1,宽度为1的三角脉冲函数调用格式 y=tripuls(t,w) 产生高度为1,宽度为w的三角脉冲函数调用格式 y=tripuls(t,w,s)产生高度为1,宽度为w的三角脉冲函数,-1<s<1。
当s=0时,为对称三角形;当S=-1时,为三角形顶点左边。
(4)抽样函数 M文名:Sa.m %抽样函数(连续或者离散)% 高度为1 % 调用格式 y=Sa(t),产生高度为1,第一个过零点为π function f=Sa(t)f=sinc(t./pi) %sinc(t)=sin(πt)/(πt)是MATLAB函数(5)符号函数 M文名:sign.m是Matlab的内部函数。
matlab信号与系统实验报告

实验一 基本信号的产生与运算一、 实验目的学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。
二、 实验原理MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。
这些信号是信号处理的基础。
1、 利用MATLAB 产生下列连续信号并作图。
(1)51),1(2)(<<---=t t u t x (2)300),32sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、>> t=-1:0.02:5; >> x=(t>1);>> plot(t,-2*x);>> axis([-1,5,-3,1]);>> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');(2)、>> t=0:0.02:30;>> x=exp(-0.3*t).*sin(2/3*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰axis([0,15,-0.2,0.6]);(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x);>> title('杨婕婕朱艺星');>>xlabel('x=cos(100*t)+cos(3000*t)');因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t);plot(t,x);title('杨婕婕')>> t=-0.1:0.0001:0.1;x=cos(100*t)+cos(3000*t);>> plot(t,x);title('杨婕婕朱艺星');>> xlabel('x=cos(100*t)+cos(3000*t)');(4)、t=0:0.01:200;>> x=cos(0.1*pi*t).*cos(0.8*pi*t);>> plot(t,x);>> title('杨婕婕朱艺星');>> xlabel('x=cos(0.1*pi*t).*cos(0.8*pi*t)');因为为周期函数,可以将横坐标t间隔扩大以便于观察图像>> axis([0,30,-1,1]);2、利用MATLAB 产生下列离散序列并作图。
信号与系统matlab实验及答案

产生离散衰减正弦序列()π0.8sin 4n x n n ⎛⎫= ⎪⎝⎭, 010n ≤≤,并画出其波形图。
n=0:10;x=sin(pi/4*n).*0.8.^n;stem(n,x);xlabel( 'n' );ylabel( 'x(n)' );用MATLAB 生成信号()0sinc at t -, a 和0t 都是实数,410t -<<,画波形图。
观察并分析a 和0t 的变化对波形的影响。
t=linspace(-4,7); a=1;t0=2;y=sinc(a*t-t0); plot(t,y);t=linspace(-4,7); a=2;t0=2;y=sinc(a*t-t0); plot(t,y);t=linspace(-4,7); a=1;t0=2;y=sinc(a*t-t0); plot(t,y);三组对比可得a 越大最大值越小,t0越大图像对称轴越往右移某频率为f 的正弦波可表示为()()cos 2πa x t ft =,对其进行等间隔抽样,得到的离散样值序列可表示为()()a t nT x n x t ==,其中T 称为抽样间隔,代表相邻样值间的时间间隔,1s f T=表示抽样频率,即单位时间内抽取样值的个数。
抽样频率取40 Hz s f =,信号频率f 分别取5Hz, 10Hz, 20Hz 和30Hz 。
请在同一张图中同时画出连续信号()a x t t 和序列()x n nT 的波形图,并观察和对比分析样值序列的变化。
可能用到的函数为plot, stem, hold on 。
fs = 40;t = 0 : 1/fs : 1 ;% ƵÂÊ·Ö±ðΪ5Hz,10Hz,20Hz,30Hz f1=5;xa = cos(2*pi*f1*t) ; subplot(1, 2, 1) ;plot(t, xa) ;axis([0, max(t), min(xa), max(xa)]) ;xlabel('t(s)') ;ylabel('Xa(t)') ;line([0, max(t)],[0,0]) ; subplot(1, 2, 2) ;stem(t, xa, '.') ;line([0, max(t)], [0, 0]) ;axis([0, max(t), min(xa), max(xa)]) ;xlabel('n') ;ylabel('X(n)') ;频率越高,图像更加密集。
MATLAB实训实验

2015/2016学年下学期《信号与系统》实验报告班级:学号:学生姓名:指导教师:2016年3月8 日实验一 基本函数仿真实验项目: 基本函数仿真实验时间: 2016年 3 月 8 日 星期 二 第 34 节课 实验地点: 1501实验室 实验目的:1、 学习使用MATLAB 软件2、 学习MATLAB 中各种函数,并应用函数分析3、 对MATALB 的进一步的学习了解,熟练掌握MATALB 的各种操纵,学会使用MATALB 解决复杂的运算并学会用MATALB 解决平时学习4、 了解MATALB 的数值运算5、 了解MATALB 的基本函数和命令6、 学习掌握MATALB 有关命令 实验内容: 1、(1) 题目:应用MA TLAB 方法实现单位阶跃信号和矩形脉冲。
(2) 程序清单(源程序)解:对于阶跃函数,MATLAB 中有专门的stairs 绘图命令。
例如,实现)(t 和矩形脉冲的程序如下:t=-1:2; % 定义时间范围向量t x=(t>=0);subplot(1,2,1),stairs(t,x);axis([-1,2,-0.1,1.2]); grid on % 绘制单位阶跃信号波形 t=-1:0.001:1; % 定义时间范围向量t g=(t>=(-1/2))-(t>=(1/2));subplot(1,2,2),stairs(t,g);axis([-1,1,-0.1,1.2]); grid on % 绘制矩形脉冲波形(3) 运行结果(截图)00.20.40.60.8100.20.40.60.81图1 例1图(4)函数解析Subplot:使用方法:subplot (m,n,p )或者subplot (m n p )。
是将多个图画到一个平面上的工具。
其中,m 表示是图排成m 行,n 表示图排成n 列,也就是整个figure 中有n 个图是排成一行的,一共m 行,如果m=2就是表示2行图。
MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告一、实验目的1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。
2.学会运用MATLAB表示常用连续时间信号的方法3.观察并熟悉一些信号的波形和特性。
4.学会运用MATLAB进行连续信号时移、反折和尺度变换。
5.学会运用MATLAB进行连续时间微分、积分运算。
6.学会运用MATLAB进行连续信号相加、相乘运算。
7.学会运用MATLAB进行连续信号的奇偶分解。
二、实验任务将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。
三、实验内容1.MATLAB软件基本运算入门。
1). MATLAB软件的数值计算:算数运算向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。
2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。
矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开;矩阵的不同行之间必须用分号”;”或者ENTER分开。
2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。
3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。
举例:计算一个函数并绘制出在对应区间上对应的值。
2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名”2.MATLAB软件简单二维图形绘制1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y)2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p)3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin])4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’)5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’)6).输出:grid on举例1:举例2:3.matlab程序流程控制1).for循环:for循环变量=初值:增量:终值循环体End2).while循环结构:while 逻辑表达式循环体End3).If分支:(单分支表达式)if 逻辑表达式程序模块End(多分支结构的语法格式)if 逻辑表达式1程序模块1Else if 逻辑表达式2程序模块2…else 程序模块nEnd4).switch分支结构Switch 表达式Case 常量1程序模块1Case 常量2程序模块2……Otherwise 程序模块nEnd4.典型信号的MATLAB表示1).实指数信号:y=k*exp(a*t)举例:2).正弦信号:y=k*sin(w*t+phi)3).复指数信号:举例:4).抽样信号5).矩形脉冲信号:y=square(t,DUTY) (width默认为1)6).三角波脉冲信号:y=tripuls(t,width,skew)(skew的取值在-1~+1之间,若skew取值为0则对称)周期三角波信号或锯齿波:Y=sawtooth(t,width)5.单位阶跃信号的MATLAB表示6.信号的时移、反折和尺度变换:Xl=fliplr(x)实现信号的反折7.连续时间信号的微分和积分运算1).连续时间信号的微分运算:语句格式:d iff(function,’variable’,n)Function:需要进行求导运算的函数,variable:求导运算的独立变量,n:求导阶数2).连续时间信号的积分运算:语句格式:int(function,’variable’,a,b)Function:被积函数variable:积分变量a:积分下限b:积分上限(a&b默认是不定积分)8.信号的相加与相乘运算9.信号的奇偶分解四、小结这一次实验让我能够教熟悉的使用这个软件,并且能够输入简单的语句并输出相应的结果和波形图,也在一定程度上巩固了c语言的一些语法。
信号与系统 MATLAB综合实验

信号与系统MATLAB综合实验一、实验目的:1、学习MATLAB语言的编程方法及熟悉MATLAB指令。
2、掌握连续时间信号的卷积运算方式,分析建立信号波形间的联系。
3、通过使用MATLAB函数研究线性时不变离散时间系统的时域特性,以加深对线性时不变离散时间系统的时不变性的理解。
二、实验仪器1、计算机2、MATLAB 软件三、实验原理一个离散时间系统是将输入序列变换成输出序列的一种运算。
若以T[•]表示这种运算,则一个离散时间系统可由图1-1来表示,即→∙→(1-1)x n T y n()[]()图1-1 离散时间系统离散时间系统中最重要的、最常用的是“线性时不变系统”。
时不变系统系统的运算关系T[•]在整个运算过程中不随时间(也不随序列的先后)而变化,这种系统称为时不变系统(或称移不变系统)。
这个性质可用以下关系表示:若输入)(ny,则将输入序列移动任意位后,其输出序列除了跟着x的输出为)(n移位外,数值应保持不变,即若)ynm[mT--(m为任意整数)=(xn(()]()][nT=,则)yxn满足以上关系的系统就称为时不变系统。
四、实验内容及结论1、连续时间系统的时域分析已知微分方程: )(2)(3)(2)(3)(t f t f t y t y t y +'=+'+'',1)0(-='-y , 2)0(=-y 若激励信号为)()(t u t f =,利用阶跃响应函数step(sys,t) 求解画波形;利用零状态响应函数lsim 求解画波形;利用卷积函数求解画波形;比较结果。
程序如下:dt=0.001;t1=0:dt:10;f1=-1*exp(-t1)+4*exp(-2*t1);t2=t1;f2=u(t2);f=conv(f1,f2);f=f*dt;t3=0:dt:20;subplot(311)plot(t3,f);xlabel('时间(t)');ylabel('y(t)');title('零状态响应(卷积法)');b=[3 2];a=[1 3 2];sys=tf(b,a);t=0:0.01:10;x=stepfun(t,0);y=lsim(sys,x,t);subplot(312)plot(t,y);xlabel('时间(t)');ylabel('y(t)');title('零状态响应(阶跃函数求法)');sys=tf(b,a);t=0:0.1:10;y=step(sys,t);subplot(313)plot(t,y);xlabel('时间t)');ylabel('y(t)');title('阶跃响应');结论:上述三种方法求得的都是输入为阶跃函数时候的零状态响应,也为阶跃响应,通过图形我们可以看出,利用卷积法求出的零状态和另外两种方法求出的零状态响应图形有一点差别,三者在0到10区间上响应都一致,而利用卷积法求的响应却在下面的区间内发生了变化,我试图修改程序,无论怎么改,发现只要调用了卷积函数,求得的图形就像上述的卷积法求的图形一样,不得解。
信号与系统实验(MATLAB版) (1)

《信号与系统MATLAB实现》实验指导书电气信息工程学院2014年2月长期以来,《信号与系统》课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们介绍一种国际上公认的优秀科技应用软件MA TLAB,借助它我们可以在电脑上轻松地完成许多习题的演算和波形的绘制。
MATLAB的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对MATLAB 再多了解一些。
MATLAB究竟有那些特点呢?1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来;2.完备的图形处理功能,实现计算结果和编程的可视化;3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握;4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具;MATLAB的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做为本科生必须掌握的一种软件。
正是基于这些背景,我们编写了这本《信号与系统及MATLAB实现》指导书,内容包括信号的MA TLAB表示、基本运算、系统的时域分析、频域分析、S域分析、状态变量分析等。
通过这些练习,同学们在学习《信号与系统》的同时,掌握MATLAB的基本应用,学会应用MATLAB的数值计算和符号计算功能,摆脱烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程的重点、难点及部分习题用MATLAB进行形象、直观的可视化计算机模拟与仿真实现,加深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。
另外同学们在进行实验时,最好事先预习一些MATLAB的有关知识,以便更好地完成实验,同时实验中也可利用MATLAB的help命令了解具体语句以及指令的使用方法。
matlab信号与系统实验报告

matlab信号与系统实验报告Matlab信号与系统实验报告引言:信号与系统是电子工程、通信工程等领域中的重要基础课程,对于理解和应用各种信号处理技术具有重要意义。
本实验报告旨在通过使用Matlab软件,对信号与系统的基本概念和实验进行探讨和分析。
实验一:信号的基本特性分析在信号与系统的研究中,我们首先需要了解信号的基本特性。
通过Matlab软件,我们可以方便地对不同类型的信号进行分析和处理。
在本实验中,我们选择了常见的正弦信号和方波信号进行分析。
首先,我们生成了一个频率为1kHz,幅度为2V的正弦信号,并绘制了其时域波形图和频谱图。
通过观察时域波形图,我们可以看到正弦信号具有周期性和连续性的特点。
而通过频谱图,我们可以看到正弦信号在频域上只有一个峰值,说明其是单频信号。
接下来,我们生成了一个频率为1kHz,幅度为2V,占空比为50%的方波信号,并绘制了其时域波形图和频谱图。
与正弦信号不同,方波信号具有分段常值的特点。
通过频谱图,我们可以看到方波信号在频域上存在多个谐波分量,说明其是由多个频率的正弦信号叠加而成。
实验二:系统的时域响应分析在信号与系统中,系统的时域响应是描述系统对输入信号进行处理的重要指标。
通过Matlab软件,我们可以方便地分析和绘制系统的时域响应。
在本实验中,我们选择了一个一阶低通滤波器作为系统,输入信号为一个频率为1kHz,幅度为2V的正弦信号。
通过绘制输入信号和输出信号的时域波形图,我们可以观察到系统对输入信号进行了滤波处理,输出信号的幅度和相位发生了变化。
此外,我们还可以通过改变系统的参数,如截止频率和阶数,来观察系统的时域响应的变化。
通过对比不同参数下的输出信号波形图,我们可以得出不同参数对系统响应的影响。
实验三:系统的频域响应分析除了时域响应,频域响应也是描述系统特性的重要指标。
通过Matlab软件,我们可以方便地进行系统的频域响应分析。
在本实验中,我们选择了一个二阶巴特沃斯低通滤波器作为系统,输入信号为一个频率为1kHz,幅度为2V的正弦信号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
plot(t,x2); axis([0 20 -3 3]) subplot(1,3,3); plot(t,x3); axis([0 20 -3 3]) 3、一个程序分别对横轴和纵轴给出锯齿波和三角波的标注。 clear all; w=0.5; t1=0:0.0001:1; t=10*pi*t1; y=sawtooth(t); y1=sawtooth(t,w); subplot(2,1,1) plot(t,y) xlabel('锯齿波'); subplot(2,1,2) plot(t,y1) xlabel('三角波')
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2
三次谐波被滤除后的波形
3
4
5
6
7
8
9
10
2)若将该三角波信号通过一个能阻碍一次谐波通过的高通滤波器,则输出的信 号是怎样的? 给出其输出波形。 E=8/pi^2; t=0:0.001:10; w=0.5*pi; f3=-(E/9).*sin(3*w.*t); f5=f3+(E/25).*sin(5*w.*t); f7=f5-(E/49).*sin(7*w.*t); f9=f7+(E/81).*sin(9*w.*t); f11=f9-(E/121).*sin(11*w.*t); plot(t,f11) title('一次谐波被滤除后的波形');
n 0,1, 2,
f t
2 2 2 [1 cos(2t ) cos(4t ) cos(6t )] 3 15 35
用 Matlab 编程,依次取二次谐波;二四次谐波的合成;二四六次谐波的合成; 二四六八次谐波的合成…。观察谐波叠加后的波形。 基本程序如下: E=2; t0=0;tn=10;dt=0.001; t=t0:dt:tn; w=0.5*pi; f0=2*E/pi; f2=f0-(2*E/pi).*(2/3).*cos(2*w.*t); f4=f2-(2*E/pi).*(2/15).*cos(4*w.*t); f6=f4-(2*E/pi).*(2/35).*cos(6*w.*t); f8=f6-(2*E/pi).*(2/63).*cos(8*w.*t); f10=f8-(2*E/pi).*(2/99).*cos(10*w.*t); f12=f10-(2*E/pi).*(2/120).*cos(12*w.*t); f14=f12-(2*E/pi).*(2/195).*cos(14*w.*t); f16=f14-(2*E/pi).*(2/255).*cos(16*w.*t); f18=f16-(2*E/pi).*(2/324).*cos(18*w.*t); f20=f18-(2*E/pi).*(2/399).*cos(20*w.*t); %plot(t,f0); %plot(t,f2);
实验一 典型信号的 Matlab 实现
一、实验目的: 1、学会典型信号的 Matlab 编程 2、掌握相关语句的作用。 3、进一步掌握典型信号的基本特征 二、实验步骤: 1、在屏幕上找到 Matlab 图标。点击该图标,出现 Matlab 对话框。 2、在 Matlab 对话框中找到 File 下方的白纸形状的图标,点击该图标,出现编 程对话框。 3、接着可以开始在编程对话框中编程。 三、典型信号的 Matlab 编程 1、余弦信号 f (t ) cos(20t ) 的 Matlab 编程 ⑴Matlab 语言 clear; t0=0;tn=5;dt=0.001; t=t0:dt:tn; y=cos(20*t); plot(t,y) 点击框工具栏中的“Run” ,会出现对话框,点击保存,出现运行结果 figure1。 2、指数信号
1 1 1 [sin t sin 3t sin 5t sin nt 3 5 n n 1,3,5
用 Matlab 编程,依次取一次谐波;一三次谐波的合成;一三五次谐波的合成; 一三五七次谐波的合成…。观察谐波叠加后的波形。 基本程序如下: t0=0,tn=10,dt=0.001;t=t0:dt:tn; w=0.5*pi; f1=(4/pi).*sin(w.*t); f3=(4/pi).*(sin(w.*t)+(1/3)*sin(3.*w.*t)); f5=(4/pi).*(sin(w.*t)+(1/3)*sin(3.*w.*t)+(1/5)*sin(5.*w.*t)); f7=(4/pi).*(sin(w.*t)+(1/3)*sin(3.*w.*t)+(1/5)*sin(5.*w.*t)+(1/7)*sin (7.*w.*t)); f9=(4/pi).*(sin(w.*t)+(1/3)*sin(3.*w.*t)+(1/5)*sin(5.*w.*t)+(1/7)*sin (7.*w.*t)+(1/9)*sin(9.*w.*t)); f11=(4/pi).*(sin(w.*t)+(1/3)*sin(3.*w.*t)+(1/5)*sin(5.*w.*t)+(1/7)*si n(7.*w.*t)+(1/9)*sin(9.*w.*t)+(1/11)*sin(11.*w.*t)) %plot(t,f1); %plot(t,f3); %plot(t,f5);
N=0 3 2 1 0 4 2 0 2 1 0 0 5 N=6 2 1 0 2 1 0 10 3 2 1 0 0 5 N=12 10 N=2
0
5 N=16
10
0
5 N=20
10
0
5
10
0
5
10
思考题:从信号与系统的观点考虑,如何将上述全波整流信号变为直流信号?
三、三角波
1
an 0,
T n 2 bn sin 2 n 2 n 1, 2,3 8
编程练习 三角波信号在通过某一系统时, 若三次谐波被滤除,请给出系统输出后的信号? 大致是怎样的?给出其输出的波形。 E=8/pi^2;t0=0;tn=10;dt=0.001; t=t0:dt:tn; w=0.5*pi; f1=E.*sin(w.*t); f5=f1+(E/25).*sin(5*w.*t); f7=f5-(E/49).*sin(7*w.*t); f9=f7+(E/81).*sin(9*w.*t); f11=f9-(E/121).*sin(11*w.*t); plot(t,f11); title('三次谐波被滤除后的波形')
%plot(t,f7); %plot(t,f9); plot(t,f11); xlabel('N=11') subplot(3,2,1); plot(t,f9); xlabel('N=9') subplot(3,2,2); plot(t,f7); xlabel('N=7') subplot(3,2,3); plot(t,f5); xlabel('N=5') subplot(3,2,4); plot(t,f3) xlabel('N=3') subplot(3,2,5); plot(t,f1) xlabel('基波') subplot(3,2,6) 运行结果如下:
o
傅立叶级数为
f t
8
2
sin t
8 9
2
sin 3t
8 8 8 sin 5t sin 7t sin 9t 2 2 25 49 81 2
为观察各次谐波信号的叠加,Matlab 编程如下: E=8/pi^2; t=0:0.001:10; w=0.5*pi; f1=E.*sin(w.*t); f3=f1-(E/9).*sin(3*w.*t); f5=f3+(E/25).*sin(5*w.*t); f7=f5-(E/49).*sin(7*w.*t); f9=f7+(E/81).*sin(9*w.*t); f11=f9-(E/121).*sin(11*w.*t); plot(t,f1); title('N=1'); subplot(3,2,1); plot(t,f3); title('N=3'); subplot(3,2,2); plot(t,f9); title('N=9'); subplot(3,2,5); plot(t,f5); title('N=5'); subplot(3,2,3); plot(t,f11) title('N=11'); subplot(3,2,6) plot(t,f7); title('N=7'); subplot(3,2,4)
二、全波整流信号
E t O T
对上述信号,其傅里叶展开式为:
a0
2E T 2E 2 sin tdt 0 T
f t a0 an cos nt bn sin nt
n 1 n 1
这里
an
于是
2 E 1 cos(n ) , bn =0, n2 1 2E
实验三、信号的合成
一、实验目的: 1、理解周期信号的傅立叶展开式的物理意义 2、掌握周期信号的傅立叶级数的 Matlab 编程 二、实验内容: 一﹑信号的合成 1 方波信号 波形如图所示
1
t
T
傅立 0; f t 4
an
4 ; 2n 1
bn 0
f t exp 2t
的 Matlab 编程
⑴Matlab 语言 clear; t0=0;tn=5;dt=0.001; t=t0:dt:tn; y=exp(-2*t); plot(t,y)
3、指数调制正弦信号 clear;