数字信号处理实验报告(二)..docx
文本预览下载声明
数字信号处理实验报告(二)学院:计算机科学与信息学院专业: 网络工程 班级:网络092姓名王荣森学号0908060386实验组实验时间2012/5/9指导教师吕晓丹成绩实验项目名称实验二、离散系统的时域分析实验目的1、熟悉并掌握离散系统的差分方程表示法;2、加深对冲激响应和卷积分析方法的理解。 实验要求1、在MATLAB中,熟悉利用函数实现差分方程的仿真;2、在MATLAB中,熟悉用函数 计算卷积,用求系统冲激响应的过程。 实验原理在时域中,离散时间系统对输入信号或者延迟信号进行运算处理,生成具有所需特性的输出信号,具体框图如下:其输入、输出关系可用以下差分方程描述:输入信号分解为冲激信号,记系统单位冲激响应,则系统响应为如下的卷积计算式:当时,h[n]是有限长度的(n:[0,M]),称系统为FIR系统;反之,称系统为IIR系统。实验仪器Pc MATLAB实验内容1、以下程序中分别使用conv和filter函数计算h和x的卷积y和y1,运行程序,并分析y和y1是否有差别,为什么要使用x[n]补零后的x1来产生y1;具体分析当h[n]有i个值,x[n]有j个值,使用filter完成卷积功能,需要如何补零?% Program P2_7clf;h = [3 2 1 -2 1 0 -4 0 3]; %impulse responsex = [1 -2 3 -4 3 2 1]; %input sequencey = conv(h,x);n = 0:14;subplot(2,1,1);stem(n,y);xlabel(Time index n); ylabel(Amplitude);title(Output Obtained by Convolution); grid;x1 = [x zeros(1,8)];y1 = filter(h,1,x1);subplot(2,1,2);stem(n,y1);xlabel(Time index n); ylabel(Amplitude); title(Output Generated by Filtering); grid; 2、编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。要求分别用 filter、conv、impz三种函数完成。, ,?给出理论计算结果和程序计算结果并讨论。实验步骤及实验数据1、以下程序中分别使用conv和filter函数计算h和x的卷积y和y1,运行程序,并分析y和y1是否有差别,为什么要使用x[n]补零后的x1来产生y1;具体分析当h[n]有i个值,x[n]有j个值,使用filter完成卷积功能,需要如何补零?% Program P2_7clf;h = [3 2 1 -2 1 0 -4 0 3]; %impulse responsex = [1 -2 3 -4 3 2 1]; %input sequencey = conv(h,x);n = 0:14;subplot(2,1,1);stem(n,y);xlabel(Time index n); ylabel(Amplitude);title(Output Obtained by Convolution); grid;x1 = [x zeros(1,8)];y1 = filter(h,1,x1);subplot(2,1,2);stem(n,y1);xlabel(Time index n); ylabel(Amplitude); title(Output Generated by Filtering); grid; 程序运行结果:由图可看出,y与y1并无差别。使用x[n]补零后的x1来产生y1,是因为存在边界效应,只要脉冲响应采样电部分位于输入信号采样值之外,输出就不确定,如:x 1 -2 3 -4 3 2 1 2 h 3 0 -4 0 1 -2 1 2 3 2 4 1需变换成如下才能确定输出:x 1 -2 3 -4 3 2 1 2 0 0 0 0 0 0 0 0 0 0 0h 3 0 -4 0 1 -2 1 2 3 2 4 1此时n=18。用conv函数计算能再输入序列后自动补零,而filter函数不能。 分析:(1)h = [1 4 2 3 2 1 -2 1 0 -4 0 3];% impulse responsei=12x = [1 -2 3 -4 3 2 1 2];% input sequence j=8n = 0:17;x1 = [x zeros(1,10)];%补十个零值y1 = filter(h,1,x1);stem(n,y1);xlabel(Time index n); ylabel(Amplitude);title(Ou
显示全部