预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验2离散系统的差分方程、冲激响应和卷积分析 实验目的 熟悉并掌握离散系统的差分方程表示法; 加深对冲激响应和卷积分析方法的理解。 实验原理 (一), 单位抽样序列 在MATLAB中可以利用zeros()函数实现。 如果在时间轴上延迟了k个单位,得到即: 2.单位阶越序列 在MATLAB中可以利用ones()函数实现。 3.正弦序列 在MATLAB中 4.复正弦序列 在MATLAB中 5.指数序列 在MATLAB中 (二) 在时域中,离散时间系统对输入信号或者延迟信号进行运算处理,生成具有所需特性的输出信号,具体框图如下 其输入、输出关系可用以下差分方程描述: 输入信号分解为冲激信号,。 记系统单位冲激响应 ,则系统响应为如下的卷积计算式: 当时,h[n]是有限长度的(n:[0,M]),称系统为FIR系统;反之,称系统为IIR系统。 预习要求 在MATLAB中,熟悉利用函数y=filter(p,d,x)实现差分方程的仿真; 在MATLAB中,熟悉用函数y=conv(x,h)计算卷积,用y=impz(p,d,N)求系统冲激响应的过程。 实验内容 1、以下程序中分别使用conv和filter函数计算h和x的卷积y和y1,运行程序,并分析y和y1是否有差别,为什么要使用x[n]补零后的x1来产生y1;具体分析当h[n]有i个值,x[n]有j个值,使用filter完成卷积功能,需要如何补零? %ProgramP2_7 clf; h=[321-210-403]; %impulseresponse x=[1-23-4321]; %inputsequence y=conv(h,x); n=0:14; subplot(2,1,1); stem(n,y); xlabel('Timeindexn');ylabel('Amplitude'); title('OutputObtainedbyConvolution');grid; x1=[xzeros(1,8)]; y1=filter(h,1,x1); subplot(2,1,2); stem(n,y1); xlabel('Timeindexn');ylabel('Amplitude'); title('OutputGeneratedbyFiltering');grid; 2、编制程序产生上述5种信号(长度可输入确定),并绘出其图形。 程序 单位脉冲序列单位阶跃序列负正弦序列 clear,n0=0;nf=10;ns=1; n1=n0:nf;x1=[zeros(1,ns-n0),1,zeros(1,nf-ns)]; n2=n0:nf;x2=[zeros(1,ns-n0),ones(1,nf-ns+1)]; n3=n0:nf;x3=exp((0.5j)*n3); subplot(2,2,1),stem(n1,x1);title('单位脉冲序列') subplot(2,2,3),stem(n2,x2);title('单位阶跃序列') subplot(2,2,2),stem(n3,real((x3)));line([0,10],[0,0]) title('复正弦序列'),ylabel('实部') subplot(2,2,4),stem(n3,imag((x3)));line([0,10],[0,0]), ylabel('虚部') 正弦序列 N=input('PleaseinputN:'); F=input('PleaseinputF:'); A=input('PleaseinputA:'); fai=input('Pleaseinputfai:'); n=0:N-1 x=A*sin(2*pi*n/F+fai); stem(n,x,'.');title('正弦序列') line([0,20],[0,0]) axis([0,20,-1.2,1.2]);xlabel('n');ylabel('x(n)') 指数序列 N=input('PleaseinputN:'); a=input('Pleaseinputa:'); n=0:N-1; x=a.^n; stem(n,x,'.');title('指数序列') xlabel('n');ylabel('x(n)') 3、编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。要求分别用filter、conv、impz三种函数完成。 给出理论计算结果和程序计算结果并讨论。 程序 a=[1,0.75,0.125]; b=[1,-1]; n0=0;nf=10; n=n0:nf; x1=[(n==0)]; y1=f