中国地质大学(武汉)数字信号处理上机实习学生姓名:班级:071132学号:*******指导老师:***题目一 离散卷积计算一、实验题目设线性时不变(LTI )系统的冲激响应为h(n),输入序列为x(n) 1、h(n)=(0.8)n ,0≤n ≤4; x(n)=u(n)-u(n-4) 2、h(n)=(0.8)n u(n), x(n)=u(n)-u(n-4) 3、h(n)=(0.8)n u(n), x(n)=u(n)求以上三种情况下系统的输出y(n),显示输入和输出波形。
二、实验目的1.理解和掌握离散卷积计算;2.学习如何用Mtalab 实现离散卷积计算。
三、算法设计离散卷积定义为:∑-∞=-=n)()()(y k k n h k x n1、n (0.8)=h(n),40≤≤n ,4)-u(n -u(n)=x(n), ∑∞-∞=-=*=m m n h m x n h n x n y )()()()()((a) 当0<n 时,0)(=n y ;(b) 当30≤≤n 时,∑==nm n y 0)((0.8)n ;(c) 当74≤≤n 时,∑-==43)(n m n y (0.8)n ;(d) 当7<n 时,0y(n)=;2、)()8.0()(n u n h n=,)4(-)()(-=n u n u n x ,∑∞-∞=-=*=m m n h m x n h n x n y )()()()()((a) 当0<n 时,0)(=n y ;(b) 当30≤≤n 时,∑==nm n y 0)((0.8)n ;(c) 当204≤≤n 时,∑-==n3)(n m n y (0.8)n ;(d) 当2321≤≤n 时,∑-==203)(n m n y (0.8)n ;(e) 当23>n 时,0)(=n y ;3、)()8.0()(n u n h n=,)()(n u n x =,∑∞-∞=-=*=m m n h m x n h n x n y )()()()()((a) 当0<n 时,0)(=n y ;(b) 当700≤≤n 时,∑==nm n y 0)((0.8)n ;(c) 当14071≤≤n 时,∑-==7070)(n m n y (0.8)n ;(d) 当140>n 时,0)(=n y ;四、程序分析所用到的函数:(1)y=conv (x.,h ):卷积运算函数,计算)(*)()(n h n x n y =; (2)n1=0:4:n1取0~4;(3)subplot(m,n,p):subplot()函数是将多个图画到一个平面上的工具。
其中,m 表示是图排成m 行,n 表示图排成n 列,也就是整个figure 中有n 个图是排成一行的,一共m 行,如果m=2就是表示2行图。
p 表示图所在的位置,p=1表示从左到右从上到下的第一个位置。
(4)title(‘content ’):title()函数的功能是为当前坐标系添加标题“content ”。
五、程序设计n=0:4; h=0.8.^n;x=[1 1 1 1]subplot(331);stem(x); title('x(n)');y=conv(x,h);subplot(332);stem(h); title('h(n)');subplot(333);stem(y); title('y(n)');n=0:40;h=0.8.^n;x=[1 1 1 1]subplot(334);stem(x); title('x(n)');y=conv(x,h);subplot(335);stem(h); title('h(n)');subplot(336);stem(y); title('y(n)');n=0:40;h=0.8.^n;x=[zeros(1,0),ones(1,40)];subplot(337);stem(x); title('x(n)');y=conv(x,h);subplot(338);stem(h); title('h(n)');subplot(339);stem(y); title('y(n)');六、运行结果图中从左至右三列依次对应)(nyh及卷积结果)(nx、)(n题目二 离散傅立叶变换一、实验题目设有离散序列 )52.0cos()48.0cos()(n n n x ππ+= 分析下列三种情况下的幅频特性。
(1) 采集数据长度N=16,分析16点的频谱,并画出幅频特性。
采集数据长度N=16,并补零到64点,分析其频谱,并画出幅频特性。
(2) 采集数据长度N=64,分析64点的频谱,并画出幅频特性。
观察三幅不同的幅频特性图,分析和比较它们的特点及形成原因。
二、实验目的1、理解掌握DFT 及FFT 算法;2、利用FFT 算法计算信号的频谱。
三、算法设计当抽样数N=2M时,以下为蝶形算法图。
1、当N=2M 时,则要进行M 次分解,即进行M 级蝶形单元的计算;2、按自然顺序输入,输出是码位倒置;3、每一级包含N/2个基本蝶形运算;4、第L 级有2L -1个蝶群,蝶群间隔为N/2L-1;)6()2()4()0(X X X X 1111----)7()3()5()1(X X X X 321NN N N W W W W 20NNW W20NN WW 11--11--1-1-1-1-0NW0NW 0NW 0NW )0(x )2(x )4(x )6(x )1(x )3(x )5(x )7(x四、程序分析所用到的函数:(1)fft():求x的一维傅里叶变换,计算X(k);使用方法Xk=fft(xn),例如:N=8;n=0:N-1;xn=[4 3 2 6 7 8 9 0];Xk=fft(xn)(2)stem():显示函数图像。
(3)xlabel():横坐标轴的名称;(4)ylabel():纵坐标轴的名称;五、程序设计%x(n)=cos(0.48πn)+cos(0.52πn)n=0:15; %产生序列x(n) 取16点x=cos(0.48*pi*n)+cos(0.52*pi*n);subplot(231);stem(n,x);title('采集数据长度N=16'); %显示x(n) x1k=fft(x,16);%进行16点傅里叶变换subplot(234);stem(0:15,abs(x1k),'.'); %显示X(k)xlabel('n');ylabel('X1(k)'); title('16点傅立叶变换频谱');x=[x zeros(1,48)]; %取16点,补零到64点x2k=fft(x,64);%进行64点傅里叶变换subplot(232);stem(x);title('采集N=16,补零到64');subplot(235);stem(0:63,abs(x2k),'.');xlabel('n');ylabel('X2(k)');title('64点傅立叶变换频谱');n=0:63; %产生序列x(n),取64点x=cos(0.48*pi*n)+cos(0.52*pi*n);subplot(233);stem(n,x);title('采集数据长度N=64');x3k=fft(x);%做64点傅里叶变换subplot(236);stem(0:63,abs(x3k),'.');xlabel('n');ylabel('X3(k)');title('64点傅立叶变换频谱');六、运行结果七.结果分析N点DFT的频谱分辨率是2 π/N。
一节指出可以通过补零观察到更多的频点,但是这并不意味着补零能够提高真正的频谱分辨率。
这是因为x[n] 实际上是x(t) 采样的主值序列,而将x[n]补零得到的x'[n] 周期延拓之后与原来的序列并不相同,也不是x(t) 的采样。
因此是不同离散信号的频谱。
对于补零至M点的x'的DFT,只能说它的分辨率2 π/M仅具有计算上的意义,并不是真正的、物理意义上的频谱。
频谱分辨率的提高只能通过提高采样频率实现。
第三幅图形取样点数较多,分辨率最高,而第一幅图形则显得较为稀疏,主要是因为取样点数太少。
题目三IIR滤波器的设计一、实验题目1、设计一个切比雪夫数字低通滤波器,设计指标如下:通带截止频率:0.2π,幅度衰减不大于3分贝阻带截止频率:0.3π,幅度衰减大于20分贝2、分析不同滤波器的特点和结果。
3、编程设计实现IIR 滤波器。
二、实验目的1.理解和掌握不同IIR 滤波器的性质、特点。
2.掌握用Matlab 设计切比雪夫滤波器和椭圆滤波器的方法。
三、算法设计1、滤波器类型切比雪夫滤波器:切比雪夫滤波器,又名“车比雪夫滤波器”,是在通带或阻带上频率响应幅度等波纹波动的滤波器。
2、变换方法(a )冲激响应不变法冲激响应不变法的基本原理是从滤波器的冲激响应出发,对模拟滤波器冲激响应h(t)进行取样,所得到的离散序列h(nT)作为数字滤波器的单位取样响应。
H(z)是由H(s)通过下式的对应关系得到。
1111--=-z e s s T s k pk(b )双线性变换是在所得到满足性能指标要求的模拟滤波器的基础上,通过变换11111--+-=z z T s ,从而得到相应的数字滤波器。
四、程序分析所用到的函数:(1)[N,wn]=buttord(Wp,Ws,ap,as,'s'):[阶数,截止频率]=buttord (通带截止频率,阻带截止频率,通带衰减,阻带衰减,模拟);(2)[num,den]=bilinear(b,a,fs):双线性变换可选频率预畸变,在IIR 数字滤波器设计中有把模拟的原型滤波器转变成相应的数字滤波器,即通过已知S 变换中模拟滤波器的系数求数字滤波器的系数。
其中有两种方法来进行这种变换,一种是激冲不变法,另一种是双线性Z 变换法。
bilinear 函数便是双线性Z 变换法。
函数中的b 和a 是原模拟滤波器S 变换中的分子和分母系数,num 和den是数字滤波器的系数。
(3)grid on:增加主要网格线为当前轴;(4)[h,w]=freqz(num,den):求频率响应。
函数的输出:a.滤波器的频率响应H(N点) b.频率向量W(N点,且单位为弧度),频率向量W是均匀分布在滤波器的上半区,即:0:pi,这些点上的频率响应都将通过此函数计算出来。