matlab与数字信号处理课程设计报告

  • 格式:doc
  • 大小:329.32 KB
  • 文档页数:25

下载文档原格式

  / 25
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字信号处理专业课程设计报告书

实验报告

题目四 :

Using the bilinear transformation and a lowpass analog Butterworth prototype, design a highpass digital filter operating at a rate of 20kHz and having passband extending to 5kHz with maximum passband attenuation of 0.5dB,and stopband ending at 4kHz with a minimum stopband attenuation of 10dB.

备注:题目3,4要求:实验报告中要求写出对应的滤波器H(z),并在H(z)表达式中将共轭极点对组成二阶基本节,以极点在Z平面上分布顺序写出H(z)形式并将各二阶基本节系数以顺序列表。画出幅度频谱图的|H(ω)|及其以(dB)为单位的幅度谱图。

二:实验目的

1)熟练掌握低通滤波器的设计方法。

2)学会利用低通滤波器设计高通滤波器。

3)掌握用双线形变换法设计数字高通滤波器的方法。

4)熟悉MATLAB提供的各种滤波器设计函数。

5)掌握各种关于滤波器的幅度频谱设计函数。

三:实验原理

本题利用双线性变换法和巴特沃斯低通滤波器来设计数字高通滤波器:

双线形变换法是利用s=2*(1-z-1)/T*(1+z-1)将s域转换到z域,从而得到系统函数H(Z)。根据所要设计要求将高通数字滤波器指标转化为低通模拟滤波器技术指标,主要利用双线性变换式Ω=2/ Ttan(W/2)。

滤波器设计中主要用到的函数:

Buttord函数用来选择巴特沃斯滤波器最小阶数,调用方式如下:

[n,wn]=buttord(Wp,Ws,rp,rs,'s') :返回符合要求性能指标的数字滤波器最小阶数n和巴特沃斯滤波器截止频率wn;

[n,wn]=buttord(Wp,Ws,rp,rs):(同上)此处Wp,Ws都是归一化频率。

[z,p,k]=buttap(n):返回设计的巴特沃斯滤波器的零点(z),极点(p)和增益(k),n为滤波器阶数。

[b,a]=zp2tf(z,p,k):零极点增益滤波器参数转换为传输函数形式,b,a分别为传输函数的分子分母。

[bt,at]=lp2hp(b,a,wn):模拟低通滤波器参数转化为模拟高通滤波器参数。

[bd,ad]=bilinear(bt,at,Fs); %模拟高通滤波器参数转化为数字高通滤波器参数。Fs为采样频率。

[sos,g]=tf2sos(bd,ad,'order'):将传递函数模型转化为二次分式模型sos。'order'指定sos中行的顺序:

Up:首行中所包含的极点离原点最近,离单位圆最远;

Down:首行中所包含的极点离原点最远,离单位圆最近;

与画图有关的函数:

(1)Zplane(b,a):绘制系统零极点图;

(2)求解数值滤波器频率响应函数:

1)freqz(b,a,n):无输出参数,直接在当前命令窗口绘制频率响应的幅频响应(dB形式的)和相频响应。

2)[H,W]=freqz(b,a,n):返回数字滤波器的n点复频率响应。

四:实验步骤简述

(1)先将数字高通滤波器技术指标转化为模拟低通滤波器技术指标。

(2)确定滤波器最小阶数.

(3)确定零极点增益。

(4)由零极点增益确定模拟低通滤波器传输函数。

(5)将模拟低通滤波器传输函数转换成模拟高通滤波器传输函数。

(6)利用双线性变法将模拟高通滤波器转换成数字滤波器。

(7)利用传递函数模型求其二次分式模型sos。

(8)绘制相关幅度频谱图。

五:程序框图

六:源程序:

clc; close; clear;

Fs=20000;

T=1/Fs;

%数字高通技术指标转化为模拟低通技术指标

fs=4000; fp=5000;

rp=0.5; rs=10;

ws=fp*2*pi*T; wp=fs*2*pi*T;

Wp=2/T*tan(wp/2); Ws=2/T*tan(ws/2);

%*******************滤波器设计************************************************** [N,wn]=buttord(Wp,Ws,rp,rs,'s')%根据技术指标选择数字滤波器最小阶数,巴特沃斯截止频率[z,p,k]=buttap(N);%%返回设计的巴特沃斯滤波器的零点极点和增益

[b,a]=zp2tf(z,p,k);%零极点增益滤波器参数转换为传输函数形式

[bt,at]=lp2hp(b,a,wn);%模拟低通转化为模拟高通

[bd,ad]=bilinear(bt,at,Fs); %模拟高通转化为数字高通

%模拟低通和数字高通二阶基本节系数顺序表

[sos,g]=tf2sos(b,a,'up')

[sos,g]=tf2sos(bd,ad,'up')

%******************相关设计图***************************************************

%模拟低通和数字高通零极点图

figure(1);

subplot(121);

zplane(b,a); gtext('模拟低通零极点图');

set(gcf,'defaultAxesLinestyleOrder','-|:');

set(gcf,'defaultAxesColorOrder',[1 0 0;0 0 1]);%按先后顺序对图形线条进行颜色设置subplot(122);

zplane(bd,ad);gtext('数字高通零极点图');