实验2离散序列的卷积和系统差分方程的MATLAB实现示精选.doc
文本预览下载声明
信息工程学院实验报告
成 绩: 指导老师(签名): 课程名称:数字信号处理
实验项目名称:实验2 离散序列的卷积和系统差分方程的MATLAB实现示
实验时间: 班级: 姓名: 学号:
一、实 验 目 的:
熟悉序列的卷积运算及其MATLAB实现;熟悉离散序列的傅里叶变换理论及其MATLAB实现;加深对离散系统的差分方程和系统频率响应的理解。
二、实 验 设 备 与 器 件
MATLAB 2008软件
三、实 验 原 理
3.1离散序列卷积运算的MATLAB实现
两序列的线性卷积定义为:
MATLAB提供了一个内部函数conv(x,h)来计算两个有限长序列之间的卷积。
3.2离散系统差分方程的MATLAB求解方法
对于时域离散系统,可用差分方程描述或研究输入、输出之间的关系。对于线性时不变系统,经常用的是线性常系数差分方程。一个N阶线性常系数差分方程用下式表示:
当时,是有限长度的,称系统为FIR系统;反之,称系统为IIR系统。在MATLAB中,可以用函数filter(a,b,x)求解差分方程,其中参数a,b分别系统函数的分子和分母多项式的系数。
四、实 验 内 容 与 结 果 分 析
4.1已知,,计算。
指令语句如下:
N=5;M=7;L=N+M-1;
x1=[1,1,1,1,1]; nx1 =0:N-1;
x2=[1,1,1,1,1,1,1]; nx2=0:M-1;
y=conv(x1,x2); ny=0:L-1;
subplot(1,3,1);stem(nx1,nx1,.);xlabel(n);ylabel(x1(n));grid on;
subplot(1,3,2);stem(nx2,nx2,.);xlabel(n);ylabel(x2(n));grid on;
subplot(1,3,3);stem(ny,y,.);xlabel(n);ylabel(y(n));grid on;
执行结果如图4-1所示:
图4-1
4.2 求系统:的单位冲激响应和阶跃响应。
指令语句如下:
N=21;
a=[0,1,1,1,1];
b=[2];
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;
执行结果如图4-2所示:
图4-2
4.3 完成习题一的7、16、18。
7、将下列指令编辑到 “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);
文件编辑后保存,再执行下列指令:
x=[2,1,0.5,0,0];
nx=0:4;
h=[-1,0,0,1,0,2,0];
nh=-2: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;
执行结果如图4-3所示:
图4-3
16、(1)指令语句如下:
N=21;
a=[1];
b=[1,-0.6,0.08];
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)
显示全部