5
f(n)?Sa(n?)
?=20
n=0:40;
y=sin(n*20)./(n*20); stem(y); grid on;
?=60
n=0:40;
y=sin(n*60)./(n*60); stem(y); grid on;
- 11 -
6
f(n)?Sin(n?)
?=100
n=0:20;
y=sin(n*100); stem(y); grid on;
?=50
n=0:20;
y=sin(n*50); stem(y); grid on;
- 12 -
五、结果分析及实验体会: 结果分析:
通过与上次实验进行对比,可明显地看出离散函数和连续函数的区别。离散时间信号只在n取整数的时候才取值,表现在图上就是一系列不连续的点。由(5)和(6)能明显地看出函数值的轮廓,可见他们是连续函数的抽样取值。对于f(n)?Sin(n?),当?取不同值是,函数在图形上表现的周期就不同。同样的n取值范围内,在?取0.64时,其波形比?取0.32时多出一个波形。
实验三:系统的时域求解和频域分析
一、实验名称:系统的时域求解
(1)设h(n)?(0.9)nu,求:y(n)?x(n)*h(n),并画(n),x(n)?u(n)?u(n10)?出x(n)、h(n)、y(n)的波形。
- 13 -
(2)求因果线性移不变系统y(n)?0.81y(n?2)?x(n)?x(n?2)的单位抽样响应h(n),并绘出H(ej?)的幅频及相频特性曲线。 二、实验目的:
(1)对《信号与系统》课程中有关时域求解的相关知识进行回忆巩固。
(2)学习用matlab对时域系统求解的方法。 (3)加深对卷积求解、幅频特性和相频特性的理解。 三、解题分析:
离散卷积是数字信号处理中的一个基本运算,MTLAB提供的计算两个离散序列卷积的函数是conv,其调用方式为 y=conv(x,h) 。其中调用参数x,h为卷积运算所需的两个序列,返回值y是卷积结果。 matlab函数conv的返回值y中只有卷积的结果,没有y的取值范围。由离散序列卷积的性质可知,当序列x和h的起始点都为k=0时,y的取值范围为k=0至length(x)+length(h)-2。 许多离散LTI都可用如下的线性常系数的差分方程描述
?ay[k?n]??bx[k?n]
nnn?0n?0NN其中x[k]、y[k]分别系统的输入和输出。在已知差分方程的N个初始状态y[k],和输入x[k],就可由下式迭代计算出系统的输出
y[k]???(an/a0)y[k?n]??(bn/b0)x[k?n]
n?1n?0NM
- 14 -
利用matlab提供的filter函数,可方便地计算出上述差分方程的零状态响应。filter函数调用形式为 y=filter(b,a,x) 。其中
a?[a0,a1,...,aN],b?[b0,b1,...,bM] ,分别表示差分方程系数。X表示输入
序列,y表示输出序列。输出序列的长度和序列相同。
当序列的DTFT可写成ej?的有理多项式时,可用matlab信号处理工具箱提供的freqz函数计算DTFT的抽样值。另外,可用matlab提供的abs、angle、real、imag等基本函数计算 DTFT的幅度、相位、实部、虚部。若X(ej?)可表示为
b0?b1e?j??...bMe?j?MB(ej?) X(e)??j??j??j?NA(e)a0?a1e?...?aNej?则freqz的调用形式为 X=freqz(b,a,w) ,其中的b和 a分别是表示前一个式子中分子多项式和分母多项式系数的向量,即
a?[a0,a1,...,aN] ,b?[b0,b1,...,bM]。w为抽样的频率点,向量w的长度至
少为2。返回值X就是DTFT在抽样点w上的值。注意一般情况下,函数freqz的返回值X是复数。 四、实验程序
nh(n)?(0.9)u(n),1.设
x(n)?u(n)?u(n?10),求:
y(n)?x(n)*h(n),并画出x(n)、h(n)、y(n)波形。
程序:
n=0:50; %自变量n的取值范围为0到50的整数值 h=(0.9.^n).*[n>=0]; %函数h用逻辑表达式和函数值表示 x=[n<=10]; %x为单位阶跃函数
y=conv(double(x),h); %求x和h的卷积,用y表示,注意x数据类型
- 15 -