实验报告(二)
姓名:陈耿涛
学号:201030271709
班级:信工五班
日期:2012年4月23号
实验(二)周期信号傅里叶分析及其MATLAB实现
———特征函数在LTI系统傅里叶分析中的应用
一、实验目的
1、掌握特征函数在系统响应分析中的作用 2、正确理解滤波的概念
二、实验内容
1、定义一个包含在区间0≤n≥10上的x[n]向量x2,并利用y2=filter(h,1,x2);计算在这个区间内的卷积结果,利用stem([0:10],y2)画出这一结果,并确认与图2.2一致。 2、LTI系统的特征函数:
现考虑下列各输入信号:
x1 n =ej(π/4)n x2 n =sin?(8+16)
x3 n =(9/10)n
x4 n =n+1
当每个信号是由下面线性常系数差分方程:
y[n]-0.25y[n-1]=x[n]+0.9x[n-1] (3.3)
描述的因果LTI的输入时,要计算输出y1[n]—y4[n]. (a)利用冒号(:)算符,创建一个包含在区间?20≤n≤100内时间序号的向量n,利用这个向量,定义x1,x2,x3和x4为包含这四个信号x1[n]—x4[n]在向量n区间内的值。
(b)定义向量a和b用以表征由(3.3)式所表示的系统,用这两个向量和filter计算当输入分别是x1—x4时,包含由(3.3)式表征的系统输出的向量y1,y2,y3和y4。对于每个输出,在区间0≤n≤100上画出适当标注的图。对于y1需要分别画出实部和虚部的图。将输入和输出的图作比较,指出哪些输入时这个LTI系统的特征函数。
(c)要确认哪些输入时特征函数,并计算对这些特征函数相应的特征值。利用向量H=y./x证明,它计算出在每个时间序号上输入和输出序列的比值。对每个输入/输出信号对计算H1—H2,并在区间0≤n≤100内画出适当标注的H图。
3、有下列信号:
x1 n = 1,0≤n≤7
πn
π
1,0≤n≤7 x2 n =
0,8≤n≤151,0≤n≤7 x3 n =
0,8≤n≤31
其中,x1[n],x2[n]和x3[n]的周期分别为N1=8,N2=16,N3=32.
(d)定义表示x1[n],x2[n]和x3[n]每个信号一个周期内的值得3个向量x1,x2,x3.利用这3个向量画出在0≤n≤63范围内每个信号的图,并作适当标注。
(e)利用fft函数,定义向量a1,a2,a3分别是x1[n]—x3[n]的DTFS系数,利用abs和stem产生每个DTFS系数序列幅值的图,并作适当标注。根据(d)
?1?jk(2π/N)n
中的时域图和式子ak=N N,应该能够预计a1(1),a2(1),a3(1)n=0x[n]e
1
的值-----这三个信号的直流分量。所预计的值与应用MATLAB所得结果相符吗?
4、吉布斯现象:根据教材Example3.5验证Fig3.9的吉布斯现象(a)—(d)。
三、实验细节
1、MATLAB程序 x=[1 1 1 1 1 1 0 0 0 0 0]; h=[0 1 2 3 4 5]; y=filter(h,1,x); stem([0:10],y); xlabel('n');
ylabel('x[n]*h[n+5]');
图像:
结论:所画图像与图2.2是一致的,说明用filter计算卷积是可行的。 2、(a)MATLAB程序: n=-20:100; x1=exp(j*pi*n/4); x2=sin(pi*n/8+pi/16); x3=(9/10).^n; x4=n+1; subplot(3,2,1); stem(n,real(x1)); title('real[exp(j*pi*n/4)]'); subplot(3,2,2); stem(n,imag(x1));
title('imag[exp(j*pi*n/4)]'); subplot(3,2,3); stem(n,x2);
title('sin(pi*n/8+pi/16)'); subplot(3,2,4); stem(n,x3); title('(9/10).^n'); subplot(3,2,5); stem(n,x4); title('n+1'); 图像:
(b)MATLAB程序: n=0:100; x1=exp(j*pi*n/4); x2=sin(pi*n/8+pi/16); x3=(9/10).^n; x4=n+1; a=[1 0.9]; b=[1 -0.25]; y1=filter(a,b,x1); subplot(5,2,1); stem([0:100],real(x1)); title('real(x1£?'); subplot(5,2,2); stem([0:100],real(y1)); title('real£¨y1£?'); subplot(5,2,3); stem([0:100],imag(x1)); title('iamg(x1)'); subplot(5,2,4); stem([0:100],imag(y1)); title('imag(y1)') y2=filter(a,b,x2); subplot(5,2,5); stem([0:100],x2);