《数字信号处理》实验指导书

2019-06-30 10:01

《数字信号处理》实验指导书

实验一 离散傅里叶变换

一、实验目的

(1) 熟悉Matlab的主要操作命令;掌握Matlab的基本使用方法,能够运用Matlab软件分别产生常见的连续信号和离散信号,并对其进行一定的运算。

(2) 理解离散傅立叶变换是信号分析与处理的一种重要变换,特别是FFT在数字信号处理中的高效率应用。掌握DFT的理论,通过DFT对典型信号进行的频谱分析,加深对DFT的理解。

(3) 通过对同一信号,作不同点数的FFT,比较其对应的频谱,比较两者的异同点,加深理解信号频谱概念和谱分析的原理与方法,了解快速傅立叶变换(FFT)可以提高运算量的特点,并运用Matlab软件分别对离散周期信号和非周期信号进行谱分析,同时绘出幅度频谱和相位频谱。

二、预习要求

1、掌握连续信号和离散信号的特点及其运算方法;

2、熟悉Matlab的基本编程语言及其变量、数组、向量与矩阵和部分运算符的使用;

3、掌握部分Matlab基本数学函数和作图函数的使用。

三、和实验相关的一些功能函数

正弦信号:A*sin(w0*t+phi),A*cos(w0*t+phi),A*sin(omega*n+phi); 方波信号:square(w0*t),square(w0*t,DUTY),A*square(omega*n);注意DUTY的取值情况。

指数信号:A*exp(a*t);

矩形脉冲信号:rectpulse(t),rectpulse(t,w);

单位脉冲信号和单位阶跃信号:ones(1,n)和zeros(1,n); 基本信号运算函数:abs(幅值)、 angle(相角)。

四、实验原理

1、有限长序列x(n)的DFT的概念和公式:

N?1?kn?x(k)??x(n)WN?n?0?N?1?kn?x(n)?1x(k)WN??Nk?0?0?k?N?1

0?n?N?1《数字信号处理》实验指导书

WN?e?j(2?/N)

2、FFT算法 调用格式是

X= fft(x)

或 X=fft(x,N)

对前者,若x的长度是2的整数次幂,则按该长度实现x的快速变换,否则,实现的是慢速的非2的整数次幂的变换;对后者,N应为2的整数次幂,若x的长度小于N,则补零,若超过N,则舍弃N以后的数据。Ifft的调用格式与之相同。

五、实验内容及实验步骤

1、使用MATLAB产生如下信号: (1)x(t)=-2u(t-1),-1

>> clear

>> clear all;close all; >> t=-1:0.01:5;t0=1; >> u=[(t-t0)>=0]; >> x=-2*u;

>> plot(t,x);axis([-1,5,-2.5,0.5]);

(2)x(n)=2?(n+n0),n0=2

clear all close all; n=-10:0.01:10; n0=2; t=n+n0; u=[t==0]; x=2*u; plot(n,x)

《数字信号处理》实验指导书

2、选择合适的变换区间长度N,用DFT对下列信号进行谱分析,画出幅频特性和相频特性曲线。

(1)x1(n)=2cos(0.2πn)R10(n);

(2)x2(n)=sin(0.45πn)sin(0.55πn)R51(n); (3)x3(n)=2-|n|R21(n+10)。

六、问题与思考

对序列x(n)来说,做 N=64 点和 N=256 点的 DFT,得到的幅频特性相同吗?试比较异同点。 七、实验报告要求

1、独立完成以上实验内容;

2、采用标准实验报告纸书写实验报告;

3、实验报告内容包括:实验名称、实验目的,实验原理,所采用函数的基本说明、实验内容、程序清单(附主要语句说明或注释)、实验图表(打印或手绘)、归纳总结实验结果、心得体会及其他。

实验二 基于MATLAB的IIR数字滤波器的设计

一、实验目的

了解IIR数字滤波器的特点,了解IIR数字低通滤波器的设计方法和设计过程,掌握Matlab软件所提供的各种设计函数,运用Matlab软件分别实现基于脉冲响应不变法和双线性变换法的IIR滤波器设计。

二、预习要求

1、掌握IIR数字滤波器的特点及设计方法,重点掌握脉冲响应不变法和双线性变换法设计巴特沃斯的方法;

《数字信号处理》实验指导书

2、掌握部分Matlab基本数学函数、常用IIR数字滤波器设计和作图函数的使用; 3、掌握Matlab编程的基本方法。

三、实验所采用的功能函数

1、IIR滤波器阶数选择函数:buttord(巴特沃斯滤波器阶数选择函数) 调用格式:[N,wc]=buttord(wp,ws,Rp,As) (适用数字滤波器)

[N,wc]=buttord(wp,ws,Rp,As, 's') (适用模拟滤波器)

2、完整滤波器设计函数:butter(巴特沃斯滤波器设计) 调用格式:[B,A]=butter(N,wc,'ftype')

[B,A]=butter(N,wc,'ftype','s')

3、归一化模拟低通滤波器原型设计函数:buttap(巴特沃斯滤波器原型) 调用格式:[z,p,G]=buttap(N)

如果要从计算得到的零、极点得到系统函数的分子和分母多项式系数向量B和A,可以调用结构转换系数[b,a]=zp2tf(z,p,G)和频率转换[B,A]=lp2lp(B,A,wc)。

4、滤波器离散化函数:

调用格式:[Bz,Az]=bilinear(B,A) (双线性变换法) 调用格式:[Bz,Az]=impinvar(B,A) (脉冲响应不变法) 5、数字滤波器频率响应:freqz 调用格式:[H,w]=freqz(Bz,Az,M) 6、各类基本信号和运算函数; abs(幅值)、 angle(相角)

四、实验原理

IIR数字滤波器的任务就是寻求一个因果、物理可实现的系统函数

B(z)H(z)??A(z)?bzrM?r?azkk?0r?0N?A?k?(1?czrM?1),使它的频率响应H(ej??(1?dk?1r?1N)?H(z)kz?1)z?ej?满足所

希望得到的频域指标,即符合给定的通带衰耗、阻带衰耗、通带截止频率和阻带截止频率。

本次实验就是通过双线性变换法和脉冲响应不变法设计一个巴特沃斯低通IIR数字滤波器。该设计方法就是先根据频率响应指标,设计出相应的模拟滤波器H(s),再通过脉冲响应不变法或双线性变换法转换为数字滤波器H(z),其过程如下:

《数字信号处理》实验指导书

频域指标 数字指标转换为模拟指标 设计模拟滤波器 双线性变换法 脉冲响应不变法 数字滤波器 五、实验内容及实验步骤

设计一个工作于采样频率80kHz的巴特沃斯数字低通滤波器,要求通带边界频率为4kHz,通带最大衰减为0.5dB,阻带边界频率为20kHz,阻带最小衰减为45dB。分别用脉冲响应不变法和双线性变换法调用MATLAB工具箱函数buttord、butter或buttap、impinvar进行设计,显示数字滤波器系统函数H(z)的系数,绘制损耗函数和相频特性曲线。比较两种方法的设计结果,观察双线性变换法的频率非线性失真和脉冲响应不变法的频谱混叠失真。

1.双线性变换法设计步骤:>> clear all;close all; (1)确定数字滤波器指标:ωp,ωs,αp,αs; ?p?2?fp/Fs, ?s?2?fs/Fs

(2)进行非线性预畸变校正,将数字滤波器的技术要求转换为模拟滤波器的技术要求,

?p?22?p?tan(), ?s?tan(s )T2T2通带最大衰减αp和阻带最小衰减αs不变;

(3)利用函数[N,wc]=buttord(Wp,Ws,Rp,Rs,’s’),求出模拟低通滤波器的阶次

和3dB截止频率。注意:Wp,Ws应该为(2)中的Ωp,Ωs。

(4)运用函数butter(N,wc,’s’)求得模拟低通滤波器的系统函数的分子、分母多项式形式;

(5)利用bilinear函数求出H(z)的分子、分母系数; (6)利用Freqz函数,求频率响应H(ejω); (7)作图显示滤波器的幅频特性和相位特性。

clear all;close all; Fs=80000;T=1/Fs;

wp=(2/T)*tan((2*pi*4000/Fs)/2);ws=(2/T)*tan((2*pi*20000/Fs)/2); rp=0.5;rs=45;

[N,wc]=buttord(wp,ws,rp,rs,'s'); [B,A]=butter(N,wc,'s'); [Bz,Az]=bilinear(B,A,Fs); M=0:pi/512:pi;

[Hz,w]=freqz(Bz,Az,M);


《数字信号处理》实验指导书.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:环境工程见习报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: