数字信号处理实验二 求线性时不变系统的输出.doc
文本预览下载声明
学生实验报告
开课学院及实验室: 电子楼317 2013年 3 月18 日
学院 机械与电气工程学院 年级、专业、班 姓名 学号 实验课程名称 数字信号处理实验 成绩 实验项目名称 实验二 求线性时不变系统的输出 指导老师 一、实验目的
1. 学习用递推法求解差分方程的方法。
2. 学习用线性卷积法求网络输出的方法。
二、实验原理
一般网络或系统用线性常系数差分方程描述,如果已知差分方程和输入信号,用递推法求解差分方程或者求网络输出,最适合用计算计求解。但要注意N阶差分方程要预先给定N个初始条件。下面用例子说明用递推法求解差分方程的方框图。例如一个二阶差分方程如下:
式中,系数、、 、为已知系数,是输入序列。设是因果序列,,从开始递推。当时,
式中,和是两个初始条件,要预先给定。这样求解网络输出的计算框图如图2.1所示。
图中,N表示递推了N步,即y(n)的长度。
如果用差分方程求系统的单位脉冲响应,也可以用上面的计算框图。因为是系统输入时的零状态响应,因此计算框图中全部的初始条件为0,且。这样递推得到。
已知和输入,求系统输出,也可以用线性卷积法进行。线性卷积法的公式如下:
图2.1 用递推法求解差分方程的框图
计算时,关键问题是根据和的特点,确定求和的上下限。例如,,,卷积公式为
根据上式中的,限制非零区间为:,由限制非零区间为:。由上面的不等式知道的取值和有关,可以分几种情况:
当0时,
当9时,
当时,
最后得到:
再用计算机计算。
如果给定的和是一些离散数据,更方便的是用MATLAB语言的数字信号工具箱函数conv计算两个n的取值从零开始的有限长序列的线性卷积。
三、使用仪器、材料
1、硬件:计算机
2、软件:Matlab
四、实验步骤
1.已知系统的差分方程如式:
输入信号=,初始条件,求解输出;
输入信号=,初始条件,求解输出。
2.已知系统差分方程为
求解系统的单位脉冲响应,并打印曲线。
3.已知系统的单位脉冲响应,输入信号,试用卷积法求解系统输出,并打印~曲线。
五、实验过程原始记录(数据、图表、计算等)
1.(1)程序为:
a=0.9; %差分方程系数a=0.9
ys=1; %初始状态:y(-1)=1
xn=[ones(1,10),zeros(1,20)]; %矩形序列
B=1; %差分方程系数
A=[1,-a];
xi=filtic(B,A,ys); %等效初始条件的输入序列
yn=filter(B,A,xn,xi); %调用filter函数解差分方程,求系统输出信号y(n)
n=0:length(yn)-1; %位置向量设定
stem(n,yn,.);
xlabel(n);
ylabel(y(n))
(2)程序为:
a=0.9; %差分方程系数a=0.9
ys=0; %初始状态:y(-1)=0
xn=[ones(1,10),zeros(1,20)]; %矩形序列
B=1; %差分方程系数
A=[1,-a];
xi=filtic(B,A,ys); %等效初始条件的输入序列
yn=filter(B,A,xn,xi); %调用filter函数解差分方程,求系统输出信号y(n)
n=0:length(yn)-1; %位置向量设定
stem(n,yn,.);
xlabel(n);
ylabel(y(n))
2.%方法一:初始条件y(-1)=0,得到的y(n)=h(n)
a=0.9; %差分方程系数a=0.9
ys=0; %初始状态:y(-1)=0
xn=[1,zeros(1,49)]; %单位脉冲序列,长度N=50
B=1; %差分方程系数
A=[1,-a];
xi=filtic(B,A,ys); %等效初始条件的输入序列
yn=filter(B,A,xn,xi); %调用filter函数解差分方程,求系统输出信号y(n)
n=0:length(yn)-1; %位置向量设定
subplot(1,2,1);
stem(n,yn,.);
xlabel(n);
ylabel(h(n))
title(方法一)
%方法二:MATLAB的impz函数
B=1;
A=[1,-0.9];
subplot(1,2,2);
impz(B,A,50); %计算出单位脉冲响应50个样值
xlabel(n);
ylabel(h(n));
title(方法二)
3.
n=0:80;
xn=[ones(1,10)
显示全部