《2022年信号与系统MATLAB实验.pdf》由会员分享,可在线阅读,更多相关《2022年信号与系统MATLAB实验.pdf(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、信号与系统MATLAB 实验 ( 教师版 ) 信号与系统实验指导书及实验报告册班级: 姓名: 学号: 目录实验一、基本信号在 MATLAB 中的表示与运算实验二、离散信号与系统的时域分析实验三、连续时间 LTI 系统的时域分析实验四、傅里叶变换、系统的频域分析实验五、信号抽样与恢复实验六、信号与系统复频域分析实验一基本信号在MATLAB中的表示与运算一、实验目的1 学会用 MATLAB 表示常用连续信号的方法; 2 学会用 MATLAB 进行信号基本运算的方法; 二、实验原理1 连续信号的MATLAB表示MATLAB提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。表示连续时间信号有两
2、种方法,一就是数值法,二就是符号法。数值法就是定义某一时间范围与取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) 绘图语句画出其波形;符号法就是利用MATLAB的符号运算功能,需定义符号变量与符号函数 ,运算结果就是符号表达的解析式,也可用绘图语句画出其波形图。例 1-1 指数信号指数信号在MATLAB中用 exp 函数表示。如at
3、Aetf)(,调用格式为ft=A*exp(a*t) 程序就是A=1; a=-0 、 4; t=0:0、01:10; %定义时间点ft=A*exp(a*t); %计算这些点的函数值plot(t,ft); %画图命令 ,用直线段连接函数值表示曲线grid on; %在图上画方格例 1-2 正弦信号正弦信号在MATLAB中用sin 函数表示。调用格式为ft=A*sin(w*t+phi) A=1; w=2*pi; phi=pi/6; t=0:0、01:8; %定义时间点ft=A*sin(w*t+phi); %计算这些点的函数值plot(t,ft); %画图命令grid on; %在图上画方格例 1-3
4、 抽样信号抽样信号 Sa(t)=sin(t)/t 在 MATLAB中用sinc 函数表示。定义为)/(sin)(tctSat=-3*pi:pi/100:3*pi; ft=sinc(t/pi); plot(t,ft); grid on; axis(-10,10,-0 、5,1、2); %定义画图范围,横轴 ,纵轴title(抽样信号 ) %定义图的标题名字例 1-4 三角信号三角信号在MATLAB中用tripuls 函数表示。调用格式为ft=tripuls(t,width,skew), 产生幅度为1,宽度为 width, 且以 0 为中心左右各展开width/2 大小 ,斜度为 skew 的三角
5、波。width 的默认值就是1,skew 的取值范围就是-1+1 之间。一般最大幅度1 出现在 t=(width/2)*skew的横坐标位置。t=-3:0、01:3; ft=tripuls(t,4,0 、5); plot(t,ft); grid on; axis(-3,3,-0 、5,1、 5); 例1-5虚指数信号调用格式就是f=exp(j*w)*t) t=0:0、01:15; w=pi/4; X=exp(j*w*t); Xr=real(X); %取实部Xi=imag(X); %取虚部Xa=abs(X); %取模Xn=angle(X); %取相位subplot(2,2,1),plot(t,X
6、r),axis(0,15,-(max(Xa)+0、5),max(Xa)+0 、5), title(实部 ); 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) subplot(2,2,3),plot(t,Xi),axis(0,15,-(max(Xa)+0、 5),max(Xa)+0 、5), title(虚部 ); subplot(2,2,2), plot(t,Xa),axis(0,15,0,max(
7、Xa)+1),title(模); subplot(2,2,4),plot(t,Xn),axis(0,15,-(max(Xn)+1),max(Xn)+1),title(相角 ); %subplot(m,n,i) 命令就是建立m 行 n 列画图窗口 ,并指定画图位置i 例1-6复指数信号调用格式就是f=exp(a+j*b)*t) t=0:0、01:3; a=-1;b=10; f=exp(a+j*b)*t); subplot(2,2,1),plot(t,real(f),title(实部 ) subplot(2,2,3),plot(t,imag(f),title(虚部 ) subplot(2,2,2)
8、,plot(t,abs(f),title( 模) subplot(2,2,4),plot(t,angle(f),title(相角 ) 例 1-7 矩形脉冲信号矩形脉冲信号可用rectpuls 函数产生 , 调用格式为y=rectpuls(t,width), 幅度就是1,宽度就是width,以 t=0 为对称中心。t=-2:0、01:2; width=1; ft=2*rectpuls(t,width); plot(t,ft) grid on; 例 1-8 单位阶跃信号单位阶跃信号u(t)用“t=0”产生 ,调用格式为ft=(t=0) t=-1:0、01:5; ft=(t=0); plot(t,f
9、t); grid on; axis(-1,5,-0 、5,1、 5); 例 1-9 正弦信号符号算法syms t %定义符号变量t y=sin(pi/4*t) %符号函数表达式ezplot(y,-16,16) %符号函数画图命令或者f=sym(sin(pi/4*t) %定义符号函数表达式ezplot(f,-16,16) 例1-10 单位阶跃信号MATTLAB符号数学函数Heaviside 表示阶跃信号,但要画图需在工作目录创建Heaviside 的 M 文件function f=Heaviside(t) f=(t0); 保存 ,文件名就是Heaviside ,调用该函数即可画图,例t=-1:0
10、、 01:3; f=heaviside(t); plot(t,f) axis(-1,3,-0 、 2,1、2) 或者y=sym(Heaviside(t); ezplot(y,-1,5);grid on 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) 2 信号基本运算的MATLAB实现信号基本运算就是乘法、加法、尺度、反转、平移、微分、积分,实现方法有数值法与符号法例 1-11 以 f(t) 为三角信
11、号为例,求 f(2t) , f(2-2t) t=-3:0 、001:3; ft=tripuls(t,4,0 、5); subplot(3,1,1); plot(t,ft); grid on; title (f(t); ft1= tripuls(2*t,4,0 、5); subplot(3,1,2); plot(t,ft1); grid on; title (f(2t); ft2= tripuls(2-2*t,4,0 、5); subplot(3,1,3); plot(t,ft2); grid on; title (f(2-2t); 例 1-12 已知 f1(t)=sinwt , f2(t)=s
12、in8wt , w=2pi , 求 f1(t)+f2(t) 与 f1(t)f2(t) 的波形图w=2*pi; t=0:0、01:3; f1=sin(w*t); f2=sin(8*w*t); subplot(211) plot(t,f1+1,:,t,f1-1,:,t,f1+f2) grid on,title(f1(t)+f2(t) subplot(212) plot(t,f1,:,t,-f1,:,t,f1 、*f2) grid on,title(f1(t)*f2(t) 符号算法也可实现上述运算,以信号的微积分运算为例说明符号算法应用微分的调用格式为diff(function,variable ,
13、n)积分的调用格式为int(function,variable ,a,b)式中 function 表示要微分或积分的函数,variable 表示运算变量,n 表示求导阶数,默认值就是求一阶导数 ,a 就是积分下限 ,b 就是积分上限 ,a b默认就是求不定积分。例 1-13 求一阶导数的例题,已知)sin(21axy,xxxylnsin2clear syms a x y1 y2 %定义符号变量a, x ,y1, y2 y1=sin(a*x2); %符号函数 y1 y2=x*sin(x)*log(x); %符号函数 y2 dy1=diff(y1,x) %无分号直接显示结果dy2=diff(y2)
14、 %无分号直接显示结果例 1-14 求积分的例题 ,dxxaxx)2(5,102)1 (dxxxex精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) clear syms a x y3 y4 y3=x5-a*x2+sqrt(x)/2; y4=(x*exp(x)/(1+x)2; iy3=int(y3,x) iy4=int(y4,0,1) 三、上机实验内容1 验证实验原理中程序2 画出信号波形(1))()
15、2()(2tuetft解: t=0:0、001:15; f1=(2-exp(-2*t); f2=(t=0); f3=f1 、*f2; plot(t,f3) (2)2()()cos1()(tututtf解: t=-2:0 、01:5; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) f1=1+cos(pi*t); f2=(t=0)-(t=2); ft=f1 、*f2; plot(t,ft); 3.信号
16、)()2()(2tuetft,求)2( tf、)2(tf波形3 解:syms t ; ft=heaviside(t); f1=(2-exp(-2*t)*ft; subplot(3,1,1); ezplot(f1,-2*pi,2*pi); grid on ; title (f(t); f2=subs(f1,t,2*t); subplot(3,1,2); ezplot(f2,-2*pi,2*pi); grid on ; title (f(2t);精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 25
17、 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) f3=subs(f1,t,2-t); subplot(3,1,3); ezplot(f3,-2*pi,2*pi); grid on ; title(f(2-t); 实验二离散信号与系统的时域分析一、实验目的1.学会用 MATLAB表示常用离散信号的方法; 2.学会用 MATLAB实现离散信号卷积的方法; 3 学会用 MATLAB 求解离散系统的单位响应; 4 学会用 MATLAB 求解离散系统的零状态响应; 二、实验原理1.离散信号的MATLAB表示表示离散时间信号f(k) 需要两个行向量,一个就是表示
18、序号k= ,一个就是表示相应函数值 f= ,画图命令就是stem。例 2-1 正弦序列信号正弦序列信号可直接调用MA TLAB函数cos,例)cos( k,当精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) /2就是整数或分数时,才就是周期信号。画)8/cos(k,)2cos( k波形程序就是 : k=0:40; subplot(2,1,1) stem(k,cos(k*pi/8),filled) ti
19、tle(cos(k*pi/8) subplot(2,1,2) stem(k,cos(2*k),filled) title(cos(2*k) 例 2-2 单位序列信号0001)(kkk本题先建立一个画单位序列)(0kk的 M 函数文件 ,画图时调用。 M 文件建立方法:file / new / m-file 在文件编辑窗输入程序,保存文件名用函数名。function dwxulie(k1,k2,k0) % k1 , k2 就是画图时间范围,k0 就是脉冲位置k=k1:k2; n=length(k); f=zeros(1,n); f(1,-k0-k1+1)=1; stem(k,f,filled)
20、axis(k1,k2,0,1 、5) title(单位序列 (k) 保存文件名dwxulie 、m 画图时在命令窗口调用,例:dwxulie(-5,5,0) 例 2-3 单位阶跃序列信号0001)(kkk本题也可先建立一个画单位阶跃序列)(0kk的 M 函数文件 ,画图时调用。function jyxulie(k1,k2,k0) k=k1:-k0-1; kk=-k0:k2; n=length(k); nn=length(kk) u=zeros(1,n); uu=ones(1,nn); stem(kk,uu,filled) hold on stem(k,u,filled) hold off ti
21、tle(单位阶跃序列) axis(k1 k2 0 1 、5) 保存文件名jyxulie 、m 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) 画图时在命令窗口调用,例:jyxulie(-3,8,0) 例 2-4 实指数序列信号kcakf)(,c、 a 就是实数。建立一个画实指数序列的M 函数文件 ,画图时调用。function dszsu(c,a,k1,k2) %c:指数序列的幅度%a:指数序列的底
22、数%k1:绘制序列的起始序号%k2:绘制序列的终止序号k=k1:k2; x=c*(a 、k); stem(k,x,filled) hold on plot(k1,k2,0,0) hold off 调用该函数画信号:)()45()(1kkfk,)()43()(2kkfk波形。dszsu(1,5/4,0,40) dszsu(1,-3/4,0,40) 2、离散信号的卷积与两个有限长序列f1,f2 卷积可调用MA TLAB函数 conv,调用格式就是f=conv(f1,f2), f就是卷积结果 ,但不显示时间序号,可自编一个函数dconv 给出 f 与 k,并画图。function f,k=dconv
23、(f1,f2,k1,k2) %The function of compute f=f1*f2 % f: 卷积与序列f(k) 对应的非零样值向量% k: 序列 f(k) 的对应序号向量% f1: 序列 f1(k) 非零样值向量% f2: 序列 f2(k) 的非零样值向量% k1: 序列 f1(k)的对应序号向量% k2: 序列 f2(k)的对应序号向量f=conv(f1,f2) %计算序列f1 与 f2 的卷积与f k0=k1(1)+k2(1); %计算序列f 非零样值的起点位置k3=length(f1)+length(f2)-2; %计算卷积与f 的非零样值的宽度k=k0:k0+k3 %确定卷
24、积与f 非零样值的序号向量subplot(2,2,1) stem(k1,f1) %在子图 1 绘序列 f1(k) 时域波形图title(f1(k) xlabel(k) ylabel(f1(k) subplot(2,2,2) stem(k2,f2) %在图 2 绘序列 f2(k) 时波形图title(f1(k) xlabel(k) ylabel(f2(k) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版
25、) subplot(2,2,3) stem(k,f); %在子图 3 绘序列 f(k) 的波形图title(f(k)f1(k)与 f2(k)的卷积与 f(k) xlabel(k) ylabel(f(k) h=get(gca,position); h(3)=2、5*h(3); set(gca,position,h) %将第三个子图的横坐标范围扩为原来的2、5 倍例 2-5 求卷积与 , )1()(2)1()(1kkkkf)2() 1()()1()2()(2kkkkkkff1=1 2 1; k1=-1 0 1; f2=ones(1,5); k2=-2:2; f, k=dconv(f1,f2,k1,
26、k2) 由运行结果知 ,f 的长度等于f1 与 f2 长度之与减一, f 的起点就是f1 与 f2 的起点之与 ,f 的终点就是 f1 与 f2 的终点之与。3 离散系统的单位响应MATLAB提供画系统单位响应函数impz, 调用格式就是impz(b,a) 式中 b 与 a 就是表示离散系统的行向量; impz(b,a,n) 式中 b 与 a就是表示离散系统的行向量,时间范围就是0n; impz(b,a,n1,n2) 时间范围就是n1n2 ;y=impz(b,a,n1,n2) 由 y 给出数值序列; 例 2-6 已知)()2(9 .0)1()(kfkykyky求单位响应。a=1,-1,0、9;
27、 b=1; impz(b,a) impz(b,a,60) impz(b,a,-10:40) 4 离散系统的零状态响应MATLAB提供求离散系统零状态响应数值解函数filter, 调用格式为filter(b,a,x), 式中 b 与a 就是表示离散系统的向量,x 就是输入序列非零样值点行向量,输出向量序号同x 一样。例 2-7 已知)1()()2(5.0)1(25.0)(kfkfkykyky, )()21()(kkfk求零状态响应 , 范围 020。a=1 -0、25 0、5; b=1 1; t=0:20; x=(1/2) 、t; y=filter(b,a,x) subplot(2,1,1) 精
28、品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) stem(t,x) title( 输入序列 ) subplot(2,1,2) stem(t,y) title( 响应序列 ) 三、上机实验内容1.验证实验原理中程序2.已知)2(2)1(3)()2()1(2)(2kfkfkfkykyky,画单位响应波形。3.已知)()2(25.0) 1()(kfkykyky,输入)()(ktf,画输出波形 ,范围 01
29、5。实验三连续时间 LTI 系统的时域分析一、实验目的1.学会用 MATLAB求解连续系统的零状态响应; 2、 学会用 MATLAB求解冲激响应及阶跃响应; 3.学会用 MATLAB实现连续信号卷积的方法; 二、实验原理1.连续时间系统零状态响应的数值计算我们知道 ,LTI 连续系统可用如下所示的线性常系数微分方程来描述, ( )( )00( )( )NMijijija ytb ft在MATLAB中 ,控制系统工具箱提供了一个用于求解零初始条件微分方程数值解的函数lsim。其调用格式y=lsim(sys,f,t) 式中 ,t 表示计算系统响应的抽样点向量,f 就是系统输入信号向量,sys 就是
30、 LTI 系统模型 ,用来表示微分方程,差分方程或状态方程。其调用格式sys=tf(b,a) 式中 ,b 与 a 分别就是微分方程的右端与左端系数向量。例如,对于以下方程: 32103210( )( )( )( )( )( )( )( )a y ta y ta y ta y tb ftb ftb ftb f t可用32103210,;,;aaaa abb b b b( , )systf b a获得其 LTI 模型。注意 ,如果微分方程的左端或右端表达式中有缺项,则其向量a或 b 中的对应元素应为零,不能省略不写 ,否则出错。例 3-1 已知某 LTI 系统的微分方程为y (t)+ 2y (t)
31、+100y(t)=f(t) 其中 ,(0)(0)0,( )10sin(2)yyf tt,求系统的输出y(t)、精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) 解:显然 ,这就是一个求系统零状态响应的问题。其MATLAB计算程序如下: ts=0;te=5;dt=0 、01; sys=tf(1,1,2,100); t=ts:dt:te; f=10*sin(2*pi*t); y=lsim(sys,f,t
32、); plot(t,y); xlabel(Time(sec); ylabel(y(t); 2.连续时间系统冲激响应与阶跃响应的求解在 MATLAB中 ,对于连续LTI 系统的冲激响应与阶跃响应,可分别用控制系统工具箱提供的函数 impluse 与 step来求解。其调用格式为y=impluse(sys,t) y=step(sys,t) 式中 ,t 表示计算系统响应的抽样点向量,sys 就是 LTI 系统模型。例 3-2 已知某 LTI 系统的微分方程为y (t)+ 2y (t)+100y(t)=10f(t)求系统的冲激响应与阶跃响应的波形、解:ts=0;te=5;dt=0 、01; sys=t
33、f(10,1,2,100); t=ts:dt:te; h=impulse(sys,t); figure; plot(t,h); xlabel(Time(sec); ylabel(h(t); g=step(sys,t); figure; plot(t,g); xlabel(Time(sec); ylabel(g(t); 3、 用 MATLAB实现连续时间信号的卷积信号的卷积运算有符号算法与数值算法,此处采用数值计算法,需调用 MA TLAB 的 conv( )函数近似计算信号的卷积积分。连续信号的卷积积分定义就是dtfftftftf)()()()()(2121如果对连续信号)(1tf与)(2tf
34、进行等时间间隔均匀抽样 ,则)(1tf与)(2tf分别变为离散时间信号)(1mf与)(2mf。其中 ,m为整数。 当足够小时 ,)(1mf与)(2mf既为连续时间信号)(1tf与)(2tf。因此连续时间信号卷积积分可表示为精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) mmtfmfdtfftftftf)()()()()()()(2102121lim采用数值计算时,只求当nt时卷积积分)(tf的值)
35、(nf,其中 ,n 为整数 ,既mmmnfmfmnfmfnf)()()()()(2121其中 ,mmnfmf)()(21实际就就是离散序列)(1mf与)(2mf的卷积与。当足够小时 ,序列)(nf就就是连续信号)(tf的数值近似 ,既)()()()(21nfnfnftf上式表明 ,连续信号)(1tf与)(2tf的卷积 ,可用各自抽样后的离散时间序列的卷积再乘以抽样间隔。抽样间隔越小,误差越小。例 3-3 用数值计算法求)2()()(1tututf与)()(32tuetft的卷积积分。解:因为)()(32tuetft就是一个持续时间无限长的信号,而计算机数值计算不可能计算真正的无限长信号,所以在
36、进行)(2tf的抽样离散化时,所取的时间范围让)(2tf衰减到足够小就可以了,本例取5.2t。程序就是dt=0、01; t=-1:dt:2 、5; f1=Heaviside(t)-Heaviside(t-2); f2=exp(-3*t) 、 *Heaviside(t); f=conv(f1,f2)*dt; n=length(f); tt=(0:n-1)*dt-2; subplot(221), plot(t,f1), grid on; axis(-1,2 、5,-0、2,1、2); title(f1(t); xlabel(t) subplot(222), plot(t,f2), grid on;
37、 axis(-1,2 、5,-0、2,1、2); title(f2(t); xlabel(t) subplot(212), plot(tt,f), grid on; title(f(t)=f1(t)*f2(t); xlabel(t) 由于)(1tf与)(2tf的时间范围都就是从t=-1 开始 ,所以卷积结果的时间范围从t=-2 开始,增量还就是取样间隔,这就就是语句tt=(0:n-1)*dt-2的由来。三、上机实验内容1. 验证实验原理中所述的相关程序精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13
38、页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) 2. 已知描述系统的微分方程与激励信号f(t)如下,试用解析法求系统的零状态响应y(t),并用MATLAB绘出系统零状态响应的时域仿真波形,验证结果就是否相同y (t)+ 4y(t)+4y(t)=f(t)+3f(t) f(t)= exp( -t)u(t) 3.已知描述系统的微分方程如下,试用 MA TLAB求系统在010 秒范围内冲激响应与阶跃响应的数值解 ,并用绘出系统冲激响应与阶跃响应的时域波形y (t)+3y(t)+2y(t)=f(t)y (t)+ 2y(t)+2y(t)=f(t) 4
39、.画出信号卷积积分)()(21tftf的波形 ,) 1()()()(21tututftf实验四傅里叶变换、系统的频域分析一、实验目的1、学会用 MA TLAB 实现连续时间信号傅里叶变换2、学会用 MA TLAB 分析 LTI 系统的频域特性3、学会用 MA TLAB 分析 LTI 系统的输出响应二、实验原理1.傅里叶变换的MA TLAB 求解MATLAB的 symbolic Math Toolbox 提供了直接求解傅里叶变换及逆变换的函数fourier() 及 ifourier() 两者的调用格式如下。Fourier 变换的调用格式F=fourier(f): 它就是符号函数f 的 fouri
40、er 变换默认返回就是关于w 的函数。F=fourier(f,v): 它返回函数F 就是关于符号对象v 的函数 ,而不就是默认的w,即( )( )jvxF vf x edxFourier 逆变换的调用格式f=ifourier(F): 它就是符号函数F 的 fourier 逆变换 ,默认的独立变量为w,默认返回就是关于 x 的函数。f=ifourier(f,u): 它的返回函数f 就是 u 的函数 ,而不就是默认的x、注意 :在调用函数fourier() 及 ifourier() 之前 ,要用 syms 命令对所用到的变量(如 t,u,v,w)进行说明,即将这些变量说明成符号变量。例 4-1 求
41、2( )tf te的傅立叶变换解: 可用 MATLAB 解决上述问题 : syms t Fw=fourier(exp(-2*abs(t) 例 4-2 求21()1F jw的逆变换f(t) 解: 可用 MATLAB 解决上述问题syms t w 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) ft=ifourier(1/(1+w2),t) 2.连续时间信号的频谱图例 4-3 求调制信号ttAGtf0
42、cos)()(的频谱 ,式中)2()2()(,21,12, 40tututGA解:MATLAB程序如下所示ft=sym(4*cos(2*pi*6*t)*(Heaviside(t+1/4)-Heaviside(t-1/4); Fw=simplify(fourier(ft) subplot(121) ezplot(ft,-0 、5 0、5),grid on subplot(122) ezplot(abs(Fw),-24*pi 24*pi),grid 用 MATLAB符号算法求傅里叶变换有一定局限,当信号不能用解析式表达时,会提示出错,这时用 MATLAB的数值计算也可以求连续信号的傅里叶变换,计算
43、原理就是nnjtjenfdtetfjF)(lim)()(0当足够小时 ,近似计算可满足要求。若信号就是时限的,或当时间大于某个给定值时,信号已衰减的很厉害,可以近似地瞧成时限信号时,n 的取值就就是有限的,设为 N,有kNNkenfkFkNnnjk2,0,)()(10就是频率取样点时间信号取样间隔应小于奈奎斯特取样时间间隔,若不就是带限信号可根据计算精度要求确定一个频率W0 为信号的带宽。例 4-4 用数值计算法求信号)1()1()(tututf的傅里叶变换解,信号频谱就是)(2)(SajF,第一个过零点就是,一般将此频率视为信号的带宽,若将精度提高到该值的50 倍,既 W0=50,据此确定取
44、样间隔,02. 0021FR=0、02;t=-2:R:2; f=Heaviside(t+1)-Heaviside(t-1); W1=2*pi*5; N=500;k=0:N;W=k*W1/N; F=f*exp(-j*t*W)*R; F=real(F); W=-fliplr(W),W(2:501); F=fliplr(F),F(2:501); subplot(2,1,1);plot(t,f); xlabel(t);ylabel(f(t); title(f(t)=u(t+1)-u(t-1); subplot(2,1,2);plot(W,F); xlabel(w);ylabel(F(w); 精品资料
45、- - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 15 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) title(f(t) 的付氏变换F(w); 3.用 MATLAB分析 LTI 系统的频率特性当系统的频率响应H(jw) 就是 jw 的有理多项式时,有11101110()()()( )()( )()()()MMMMNNNNbjwbjwbjwbB wH jwA wajwajwajwaLLMATLAB信号处理工具箱提供的freqs 函数可直接计算系统的频率响应的数
46、值解。其调用格式如下H=freqs(b,a,w) 其中 ,a与 b 分别就是 H(jw) 的分母与分子多项式的系数向量,w 为形如 w1:p:w2 的向量 ,定义系统频率响应的频率范围,w1 为频率起始值 ,w2 为频率终止值 ,p 为频率取样间隔。H 返回 w 所定义的频率点上,系统频率响应的样值。例如 ,运行如下命令 ,计算 02pi 频率范围内以间隔0、5 取样的系统频率响应的样值a=1 2 1; b=0 1; h=freqs(b,a,0:0、5:2*pi) 例 4-5 三阶归一化的butterworth 低通滤波器的频率响应为321()()2()2()1Hjwjwjwjw试画出该系统的
47、幅度响应()H jw与相位响应()。解 其 MATLAB 程序及响应的波形如下w=0:0 、025:5; b=1;a=1,2,2,1; H=freqs(b,a,w); subplot(2,1,1); plot(w,abs(H);grid; xlabel(omega(rad/s); ylabel(|H(jomega)|); title(H(jw) 的幅频特性 ); subplot(2,1,2); plot(w,angle (H);grid; xlabel(omega(rad/s); ylabel(phi(omega); title(H(jw) 的相频特性 ); 4.用 MATLAB分析 LTI
48、系统的输出响应例 4-6 已知一 RC 电路如图所示系统的输入电压为f(t),输出信号为电阻两端的电压y(t)、 当RC=0、04,f(t)=cos5t+cos100t, t试求该系统的响应y(t) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 16 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB 实验 ( 教师版 ) 解 由图可知,该电路为一个微分电路,其频率响应为()11RjwHjwRjwCjwRC由此可求出余弦信号0cost通过 LTI 系统的响应为000( )(
49、) cos()y tH jwt计算该系统响应的MATLAB程序及响应波形如下RC=0、04; t=linspace(-2,2,1024); w1=5;w2=100; H1=j*w1/(j*w1+1/RC); H2=j*w2/(j*w2+1/RC); f=cos(5*t)+cos(100*t); y=abs(H1)*cos(w1*t+angle(H1)+ abs(H2)*cos(w2*t+angle(H2); subplot(2,1,1); plot(t,f); ylabel(f(t); xlabel(Time(s); subplot(2,1,2); plot(t,y); ylabel(y(t)
50、; xlabel(Time(s); 三、上机实验内容1、验证实验原理中所述的相关程序; 2、试用 MATLAB求单边指数数信号( )( )atf teu t的傅立叶变换 ,并画出其波形; 3、设21()0.08()0.41Hjwjwjw,试用 MATLAB画出该系统的幅频特性()Hjw与相频特性(),并分析系统具有什么滤波特性。- + - + f(t) y(t) R C 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 17 页,共 25 页 - - - - - - - - - - 信号与系统MATLAB