实验2离散序列的卷积和系统差分方程的MATLAB实现.docx
文本预览下载声明
实验2 离散序列的卷积和系统差分方程的MATLAB实现实验目的熟悉序列的卷积运算及其MATLAB实现;熟悉离散序列的傅里叶变换理论及其MATLAB实现;加深对离散系统的差分方程和系统频率响应的理解。 2. 实例分析2.1离散序列卷积运算的MATLAB实现例2.1 已知,,计算。两序列的线性卷积定义为:MATLAB提供了一个内部函数conv(x,h)来计算两个有限长序列之间的卷积。将下列指令编辑到 “exe2conv.m” 文件中。% exe2conv.m 利用conv函数实现卷积运算N=5;M=6;L=N+M-1;x=[1,2,3,4,5]; nx =0:N-1;h=[6,2,3,6,4,2]; nh=0:M-1;y=conv(x,h); ny=0:L-1;subplot(1,3,1);stem(nx,x,.);xlabel(n);ylabel(x(n));grid on;subplot(1,3,2);stem(nh,h,.);xlabel(n);ylabel(h(n));grid on;subplot(1,3,3);stem(ny,y,.);xlabel(n);ylabel(y(n));grid on;运行“exe2conv.m” 文件将产生如图2-1所示的序列。图3-1 卷积运算例2.2已知,,,,计算。将下列指令编辑到 “conv_m.m” 文件中。% conv_m.m 实现任意位置序列卷积运算function [y,ny]=conv_m(x,nx,h,nh)nyb=nx(1)+nh(1);nye=nyb+length(x)+length(h)-2;ny=[nyb:nye];y=conv(x,h);文件编辑后保存,再将下列指令编辑到 “exe2conv_m.m”文件中。% exe2conv_m.m 实现任意位置序列卷积运算实例x=[3,11,7,0,-1,4,2];nx=-3:3;h=[2,3,0,-5,2,1];nh=-1:4;[y,ny]=conv_m(x,nx,h,nh);subplot(1,3,1);stem(nx,x,.);xlabel(n);ylabel(x(n));grid on;subplot(1,3,2);stem(nh,h,.);xlabel(n);ylabel(h(n));grid on;subplot(1,3,3);stem(ny,y,.);xlabel(n);ylabel(y(n));grid on;运行“exe2conv_m.m” 文件将产生如图2-2所示的序列。图3-2 任意位置序列卷积运算2.2离散系统差分方程的MATLAB求解方法对于时域离散系统,可用差分方程描述或研究输入、输出之间的关系。对于线性时不变系统,经常用的是线性常系数差分方程。一个N阶线性常系数差分方程用下式表示:当时,是有限长度的,称系统为FIR系统;反之,称系统为IIR系统。在MATLAB中,可以用函数filter(a,b,x)求解差分方程,其中参数a,b分别系统函数的分子和分母多项式的系数。例2.3 给出系统: 的单位冲激响应和阶跃响应。将下列指令编辑到 “exe2filt.m” 文件中。% exe2filt.m 差分方程求解N=21;a=[1,-1];b=[1,0.75,0.125];x1=[1 zeros(1,N-1)];x2=ones(1,N);k=0:1:N-1;h=filter(a,b,x1);y=filter(a,b,x2);subplot(2,1,1);stem(k,h,.);xlabel(n);ylabel(单位冲激响应);grid on;subplot(2,1,2);stem(k,y,.);xlabel(n);ylabel(单位阶跃响应);grid on;运行“exe2filt.m” 文件将产生如图2-4所示的序列。图3-4 矩形序列 3. 实验内容3.1已知,,计算。3.2 求系统:的单位冲激响应和阶跃响应。3.3 完成习题一的7、16、18。4. 思考题4.1 理论计算实验内容3.2中的单位冲激响应和阶跃响应,并同实验结果加以比较。
显示全部