实验二 离散时间信号与系统的时域分析
时间:2025-07-09
时间:2025-07-09
MATLAB进阶练习指导及练习题目MATLAB高级教程
实验二 离散时间信号与系统的时域分析
MATLAB进阶练习指导及练习题目MATLAB高级教程
实验目的学会离散时间信号的表示方法,能够掌握 一些常用的时间信号。 学会求解离散时间系统的零输入响应,单 位冲激响应,零状态响应和全响应。 熟悉利用卷积生成新的波形,并建立波形 间的联系,验证卷积定理。
MATLAB进阶练习指导及练习题目MATLAB高级教程
离散信号的表示(P124)
一个离散信号需要用两个向量来表示
离散信号的幅值 离散信号的位置信息 不能利用符号运算来表示 绘制离散信号一般采用stem命令。 X(n):Stem(n,x)
4 5
3
用MATLAB实现离散信号的可视化
2
3
1 0 1
MATLAB进阶练习指导及练习题目MATLAB高级教程
离散信号的表示(P125)
例1:画出x(n)=[-1,2,3,3,5,-4]的离散图形x=[-1,2,3,3,5,-4]; n=[-2,-1,0,1,2,3]; figure(1) stem(n,x)见ex_1
MATLAB进阶练习指导及练习题目MATLAB高级教程
一些常用的离散信号(P133)
单位冲激序列的表示:[x,n]=impseq(k1,k2,k0)(自己编写, 参考P133:函数dwxl) function [x,n] = impseq(k1,k2,k0) (k k 0) 1 k k 0 0 k k 0 n = [k1:k2]; x = [(n-k0) == 0]; 例2:在 5 k 5区间画出(k-3)的波形 clear all; [x,n]=impseq(-5,5,3); stem(n,x),axis([-5,5,0,1.1]) 见ex_2
MATLAB进阶练习指导及练习题目MATLAB高级教程
一些常用的离散信号(P134)
单位阶跃序列的表示:[x,n]=stepseq(n1,n2,n0)(自己 编写,参考P134,函数jyxl) function [x,n] = stepseq(n1,n2,n0) 1 n n0 u ( n n0 ) n = [n1:n2]; 0 n n0 x = [(n-n0) >= 0]; 例3:在 5 k 5区间,画出u(k 2)的波形
clear all; [x,n]=stepseq(-5,5,2); 见ex_3 stem(n,x) 其他一些常用的离散时间信号(P135)
MATLAB进阶练习指导及练习题目MATLAB高级教程
离散信号的时域运算、时域变换 (P148)
离散序列的相加:[y,n] = sigadd(x1,n1,x2,n2)(参考函数jxl) 例:x1(n)=[1,2,3,4],x2(n)=[-1,2,-2],求y=x1+x2y1=[0,0,0,0,0],y2=[0,0,0,0,0] y1=[0,1,2,3,4],y2=[-1,2,-2,0,0] y=y1+y2=[-1,3,0,3,4]. 函数实现: function [y,n] = sigadd(x1,n1,x2,n2) n = min(min(n1),min(n2)):max(max(n1),max(n2)); y1 = zeros(1,length(n)); y2 = y1; y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; y = y1+y2;
MATLAB进阶练习指导及练习题目MATLAB高级教程
离散信号的时域运算、时域变换
例4: x1(n)=[1,2,3,4],x2(n)=[-1,2,-2],求y=x1+x2 clear all; x1=[1,2,3,4]; n1=[0,1,2,3]; x2=[-1,2,-2]; n2=[-1,0,1]; [y,n]=sigadd(x1,n1,x2,n2); stem(n,y)见ex_4
MATLAB进阶练习指导及练习题目MATLAB高级教程
离散信号的时域运算、时域变换 (P149)
离散序列的相乘:[y,n] = sigmult(x1,n1,x2,n2)(参考函数cxl) function [y,n] = sigmult(x1,n1,x2,n2) n = min(min(n1),min(n2)):max(max(n1),max(n2)); y1 = zeros(1,length(n)); y2 = y1; y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; y2(find((n>=min(n2))&(n<=max(n2))==1))=x2;
y = y1 .* y2;
MATLAB进阶练习指导及练习题目MATLAB高级教程
离散信号的时域运算、时域变换 (P153)
离散序列的反折 y=x(-n) :[y,n]=sigfold(x,n)(参考函数xlfz) function [y,n] = sigfold(x,n) y = fliplr(x); n = -fliplr(n); 离散序
列的平移 y(n)=x(n-k0): [y,n] = sigshift(x,m,k0) (参 考函数xlpy,P155) function [y,n] = sigshift(x,m,k0) n = m+k0; y = x;
离散序列的倒相 y(n)=-x(n): [y,n] = sigrev(x,m) (参考函数 xlpy,P155) function [y,n] = sigrev(x,m) n = m; y =-x;
MATLAB进阶练习指导及练习题目MATLAB高级教程
离散信号的时域运算、时域变换例5:令x(n)=[1,-2,4,6,-5,8,10] 求:y(n)=3x(n+2)+x(-n)-2x(n). clear all; x=[1,-2,4,6,-5,8,10]; n=[-2,-1,0,1,2,3,4]; [x1,n1]=sigshift(3*x,n,-2); [x2,n2]=sigfold(x,n); [x3,n3]=sigadd(x1,n1,x2,n2); [y,n]=sigadd(x3,n3,-2*x,n); stem(n,y) 见ex_5
MATLAB进阶练习指导及练习题目MATLAB高级教程
离散系统的响应求解(P168)
离散差分方程:
a0 y (n) ak y (n k ) bm x(n m)k 1 m 0
N
M
离散系统函数: H ( z ) Y ( z ) num( z ) X( z ) den( z )
b0 b1 z 1 bn z n a0 a 1 z 1 a m z m
由起始条件求初始条件: xic=filtic(b,a,yi,xi) 离散系统的零状态响应:y=filter(b,a,X) 离散系统的零输入响应: y=filter(b,a,Z,xic) 离散系统的全响应: y=filter(b,a,X,xic)
MATLAB进阶练习指导及练习题目MATLAB高级教程
离散系统的响应求解(P172)
冲激响应:impz(b,a); impz(b,a,n); impz(b,a,n1:n2); y=impz(b,a,n1:n2); y=filter(b,a,Impseq)阶跃响应:stepz(b,a); stepz(b,a,n); stepz(b,a,n1:n2); y=stepz(b,a,n1:n2); y=filter(b,a,Stepseq);
MATLAB进阶练习指导及练习题目MATLAB高级教程
离散系统的响应求解
例6:差分方程为:1 y(n) 0.95 y (n 1) 0.9028 y (n 2) [ x (n ) x (n 1) x (n 2)] 3
其中 x(n) cos( n / 3)u (n), y ( 1) 2, y ( 2) 3. 求系统的零输入响应,零状态响应,全响应,冲激 响应,阶跃响应。
见ex_6
MATLAB进阶练习指导及练习题目MATLAB高级教程
clear all; n=0:50; x=cos(n*pi/3); a=[1,0.95,0.9025]; b=[1/3,1/31/3]; yi=[2,3]; xi=0; xic=filtic(b,a,yi,xi); y1=filter(b,a,zeros(1,length(n)),xic); %求系统响应 y2=filter(b,a,x); y3=filter(b,a,x,xic); figure(1) subplot(3,1,1),stem(n,y1),title(‘零输入响应') subplot(3,1,2),stem(n,y2),title(‘零 …… 此处隐藏:1809字,全部文档内容请下载后查看。喜欢就下载吧 ……