理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书
目录
1技术要求 ....................................................................... 1… 2基本原理 ....................................................................... 1…
2.1 FIR带通滤波器简介 ........................................................ 1.. 1.2窗函数法原理 .............................................................. .3. 3建立模型描述 ................................................................... 3..
3.1 MATLAB 常用函数 ......................................................... .3.
3.1.1窗函数 ............................................................... 3. 3.1.2 fir1 函数 ............................................................ 4.. 3.1.3 freqz 函数 .......................................................... .4. 3.14 ceil 函数 .............................................................. 5.. 3.1.5其他函数与命令 ....................................................... 5. 3.2程序流程图 ................................................................ 5.. 4源程序代码(含注释) ........................................................... 7.
4.1矩形窗 .................................................................... 7.. 4.2凯泽窗 .................................................................... 7.. 4.3 布拉克曼窗 ............................................................... 8.. 4.4海明窗 .................................................................... 9.. 5调试过程及结论 ................................................................ .10
5.1 程序运行结果 .............................................................. 10 5.2实验结果分析 ............................................................. 12 6心得体会 ....................................................................... 1.3 7思考题 ......................................................................... 1.3 8参考文献 ....................................................................... 1.4
理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书
FIR带通滤波器的设计
1技术要求
用窗函数法设计FIR带通滤波器。要求低端阻带截止频率co is=0.2n ,低端通带截止频率
3 ip=0.35n ,咼端通带截止频率o叩=0.65冗,咼端阻带截止频率o叩=0.8n。绘出h(n)及其 幅
频响应特性曲线。
2基本原理
2.1 FIR带通滤波器简介
带通滤波器是从滤波器的特性上划分的,带通滤波器是指能通过某一频率范围内的频 率分量、但将其他范围的频率分量衰减到极低水平的滤波器,与带阻滤波器的概念相对。 从实现的网络结构或者从单位脉冲响应长度分类,可以分为无限长单位脉冲响应(
IIR )
滤波器和有限长单位脉冲响应(FIR)滤波器。IIR数字滤波器设计方法是利用模拟滤波器 成熟的理论及设计图表进行设计的,因而保留了一些经典模拟滤波器优良的幅度特性。但 设计中只考虑了幅度特性,没考虑相位特性,所设计的滤波器一般是某种确定的非线性相 位特性。为了得到线性相位特性,对IIR滤波器必须另外增加相位相校正网络,是滤波器 设计变得复杂,成本也高,又难以得到严格的线性相位特性。
FIR滤波器在保证幅度特性
满足技术要求的同时,很容易做到有严格的线性相位特性。两者各有优点,择其而取之。 后面的FIR滤波器的设计中,为获得有限长单位取样响应,需要用窗函数截断无限长单位 取样响应序列。
一个理想的滤波器应该有一个完全平坦的通带,例如在通带内没有增益或者衰减,并 且在通带之外所有频率都被完全衰减掉,另外,通带外的转换在极小的频率范围完成。实 际上,并不存在理想的带通滤波器。滤波器并不能够将期望频率范围外的所有频率完全衰 减掉,尤其是在所要的通带外还有一个被衰减但是没有被隔离的范围。这通常称为滤波器 的滚降现象,并且使用每十倍频的衰减幅度 dB来表示。通常,滤波器的设计尽量保证滚 降范围越窄越好,这样滤波器的性能就与设计更加接近。然而,随着滚降范围越来越小,
i
理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书
通带就变得不再平坦一开始出现“波纹”。这种现象在通带的边缘处尤其明显,这种效应 称为吉布斯现象。下图1为理想模拟带通滤波器幅频特性:
丄丨―小I
-------- ----------------- --------- Q 图1理想模拟带通滤波器幅频特性
FIR滤波器的单位脉冲响应h (n)是有限长的(0< n< N-1),其z变换为 阶多Z—的(N-1) 项式:
1
Y (z) N」
H
⑺= X(Zr2h(n)汀
可得FIR滤波器的系统差分方程为:
y(n)二 b(O)x(n) b(1)x(n -1)
N J
b(N - 1)x(n- N 1)
-、b(m)x(n _m) = b(n) : x(n)
m =0
因此,FIR滤波器又称为卷积滤波器。FIR滤波器的频率响应表达式为:
N —1
H (ej )八 h(n)/ n
n =0
信号通过FIR滤波器不失真条件是在通带内具有恒定的幅频特性和线性相位特性。理 论上可以证明:当FIR滤波器的系数满足下列中心对称条件:
h(n)二 h(N -1- n)或者 h(n)^h(N -1 - n)
时,滤波器设计在逼*直幅频特性的同时,还能获得严格的线性相位特性。线性相位FIR 滤波器的相位滞后和群延迟在整个频带上是相等且不变的。
对于一个N阶的线性相位FIR
滤波器,群延迟为常数,即滤波后的信号简单地延迟常数个时间步长。这一特性使通带频 率内信号通过滤波器后仍保持原有波形形状而无相位失真。
2
理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书
1.2窗函数法原理
设计FIR数字滤波器的方法通常有三种:窗函数法,频率抽样法,等纹波逼近法。本 次课程设计讨论的是第一种窗函数法。这种方法也叫傅里叶级数法。
一般是先给定所要求的理想滤波器频率响应 H d (ejw ),导出hd (n),我们知道理想滤波 器的冲击响应hd(n)是无限长的非因果序列,而我们要设计的是 器,所以要用有限长序列h(n)来逼近无限长序列hd(n),设:
九5)=丄
H(ejw)ejwdw
h(n)是有限长的FIR滤波
2-: -■:
a常用的方法是使用有限长的窗函数 w(n)来截取hd(n)即:
h( n)=w( n) hd( n)
根据在时域是相乘关系,在频域则是卷积关系:
H (ejw) = ’ Hd(ejw)WR[ej(w_]dv
其中WR(ejw)为矩形窗谱,H (ejw)是FIR滤波器频率响应。
在设计过程中,将无限长序列变为有限长序列是通过时域加矩形窗乘积来实现的截 断。常见的窗函数有:矩形窗,汉宁窗,海明窗,布拉克曼窗,凯泽窗等。
3建立模型描述
3.1 MATLAB常用函数
3.1.1窗函数
几种常见的窗函数如表1所示:
表1几种常见的窗函数的函数表示 窗函数 矩形窗(Boxcar) w(n定义式 1, 0 兰n 兰N —1 )=RN(门)-。其他 三角窗(Triang) 九,仁心十1 n +1 2 w( k) = * 2(n— k+1) n +1 ” ” , 兰k兰n L. n+1 2
3
理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书
海明窗(Hamming) 汉宁窗(Hamming) 巴特利特窗(Bartlett) w(k) — 0. 0.46coS2 n k ; I N—1 丿 w(k)=0.51 cos'2 n k \" OwnwM < I n +1丿丿 2(k—1) n+1 '丿,1兰k兰 n—1 2 w( k) = * o 2(k—1) n 十1』| 2 , 兰k兰n -1 旁瓣峰值/dB 近似过渡带宽 精确过渡带宽 -13 4 n /N —1.8 n /N -41 8n /N 6.6 n /N -57 12n /N P 11 n /N -57 10n /N 最小阻带衰减/dB -21 -53 -74 -80 3.1.2 firl 函数 设计标准响应FIR滤波器可使用firl函数。firl函数以经典方法实现加窗线性相位 滤波器设计,它可以设计出标准的低通,带通,高通和带阻滤波器。形式为: b=fir1 (n,Wc, ' ftype ' ,Window) 各个参数的含义如下: b —滤波器系数。对于一个n阶的FIR滤波器,其n+1个滤波器系数可表示为: FIR bz=b1 b2z「 bn1z\" n—滤波器阶数; Wc—截止频率,OwWcC,Wc=1对应于采样频率的一半。当设计带通滤波器时,Wc=[Wc1 WC2],WC1WQW Wc2 ftype —当指定ftype时,可设计高通和带阻滤波器。Ftype=high时,设计高通FIR滤波器; ftype=stop时设计带阻FIR滤波器。低通和带通FIR滤波器无需输入ftype参数; Window—窗函数。窗函数的长度应等于 FIR滤波器系数个数,即n+1。 3.1.3 freqz 函数 该函数基于FFT算法计算数字滤波器Z变换频率响应。形式为[h , w] = freqz ( b , a , n ) 返回数字滤波器的n点复频响应 4 理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书 b 1 b 2 e』 b nb nb na a(1)+ a(2bjJ + …+ a na te_j° 在简单形式中,b, a为滤波器系数,freqz可得到数字滤波器的n点复频响应,并将这n 点保存在w中,相应的频率记录在h中。 3.14 ceil 函数 Ceil函数作用是对数取整 3.1.5其他函数与命令 设计所用其他函数及命令如下所示 Clear 从内存中清除变量和函数Close 关闭图形 Min 取最小值 An gle 相位角 Un wrap 相位角展开 Figure 建立图形窗口 Subplot 在标定位置上建立坐标系Stem 离散序列图 Plot 线性绘图 Xlabel X 轴标记 Ylabel 丫 轴标记 Title 图形标题 Axis 控制坐标系的刻度和形式Grid 网格线 3.2程序流程图 程序流程图如图2所示: 5 理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书 图2程序流程图 6 理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书 4源程序代码(含注释) 4.1矩形窗 >> clear; close all; wls=0.2*pi;wlp=0.35*pi; whp=0.65*pi;whs=0.8*pi; delta_w=mi n( (wlp-wls),(whs-whp)); wc1=(wls+wlp)/2;wc2=(whp+whs)/2; %求两个过渡带的较小者 %截止频率取通带阻带边界频率的均值 %矩形窗 %青除工作空间 %关闭所有打开的窗口 %参数设置 N1=ceil(1.8*pi/delta_w); %根据矩形窗精确过渡带宽1.8n/N计算窗宽 hn仁fir1(N1-1,[wc1,wc2]/pi,boxcar(N1)); %检验设计的滤波器单位脉冲响应 [h1,w1]=freqz(h n1,1); figure(1) subplot(2,1,1); n=0:N1-1;stem( n,h n1,'.'); axis([0,N1-1,-0.4,0.4]); xlabel(' n');ylabel('h( n)');grid on; title('矩形窗单位冲击响应h(n)'); subplot(2,1,2); plot(w1/pi,20*log10(abs(h1))); axis([0,1,-150,5]); xlabel('归一化角频率'); ylabel('幅度(单位:分贝)'); grid on; % 建立图形窗口 %把窗口分割成2行1列 %绘制矩形窗的单位脉冲响应 % 设置显示范围 %确定x, y轴坐标名称,加网格 %添加图形的标题 % 绘制矩形窗的幅频特性曲线 %设置显示范围 %确定x坐标 %确定y坐标 title('矩形窗幅频响应'); %添加图形的标题 4.2凯泽窗 clear; %青除工作空间 7 理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书 close all; wls=0.2*pi;wlp=0.35*pi; whp=0.65*pi;whs=0.8*pi; delta_w=mi n( (wlp-wls),(whs-whp)); wc1=(wls+wlp)/2;wc2=(whp+whs)/2; %关闭所有打开的窗口 %参数设置 %求两个过渡带的较小者 %截止频率取通带阻带边界频率的均值 %Kaiser 窗 N4=ceil(10*pi/delta_w); %根据Kaiser窗技术精确过渡带宽10n/N计算窗宽 hn 4=fir1(N4-1,[wc1,wc2]/pi,kaiser(N4)); [h4,w4]=freqz(h n4,1); figure(2) %建立图形窗口 subplot(2,1,1); n=0:N4-1;stem( n,h n4,'.'); axis([0,N4-1,-0.4,0.4]); xlabel(' n');ylabel('h( n)');grid on; title('Kaiser窗单位脉冲响应h(n)'); subplot(2,1,2); plot(w4/pi,20*log10(abs(h4))); axis([0,1,-150,5]); xlabel('归一化角频率'); ylabel('幅度(单位:分贝)'); grid on; title('Kaiser 窗幅频响应'); 8 理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书 4.3布拉克曼窗 clear; close all; wls=0.2*pi;wlp=0.35*pi; whp=0.65*pi;whs=0.8*pi; delta_w=mi n( (wlp-wls),(whs-whp)); %清除工作空间 %关闭所有打开的窗口 %参数设置 %求两个过渡带的较小者 9 理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书 wc1=(wls+wlp)/2;wc2=(whp+whs)/2; %截止频率取通带阻带边界频率的均值 %Blackman 窗 N3=ceil(11*pi/delta_w); %根据Blackman窗精确过渡带宽1in/N计算窗宽 hn 3=fir1(N3-1,[wc1,wc2]/pi,blackma n(N3)); [h3,w3]=freqz(h n3,1); figure©) subplot(2,1,1); n=0:N3-1;stem( n,h n3,'.'); axis([0,N3-1,-0.4,0.4]); xlabel(' n');ylabel('h( n)');grid on; title('Blackman 窗单位冲击响应 h(n)'); subplot(2,1,2); plot(w3/pi,20*log10(abs(h3))); axis([0,1,-150,5]); xlabel('归一化角频率'); ylabel('幅度(单位:分贝)'); grid on; title('Blackman 窗幅频响应'); 4.4海明窗 clear; close all; wls=0.2*pi;wlp=0.35*pi; whp=0.65*pi;whs=0.8*pi; delta_w=mi n( (wlp-wls),(whs-whp)); wc1=(wls+wlp)/2;wc2=(whp+whs)/2; %求两个过渡带的较小者 %截止频率取通带阻带边界频率的均值 %Hammi ng 窗 N2=ceil(6.6*pi/delta_w); %根据Hamming窗精确过渡带宽6.6n/N计算窗宽 %青除工作空间 %关闭所有打开的窗口 %参数设置 10 理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书 hn 2=fir1(N2-1,[wc1,wc2]/pi,hammi ng(N2)); 11 理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书 [h2,w2]=freqz(h n2,1); figure(4) % 建立图形窗口 subplot(2,1,1); n=0:N2-1;stem( n,h n2,'.'); %绘制Hamming窗单位脉冲响应 axis([0,N2-1,-0.4,0.4]); %确定显示范围 xlabel(' n');ylabel('h( n)');grid on; title('Hamming窗单位脉冲响应h(n)'); subplot(2,1,2); plot(w2/pi,20*log10(abs(h2))); %绘制Hamming窗幅频响应 axis([0,1,-150,5]); xlabel('归一化角频率'); ylabel('幅度(单位:分贝)');grid on; title('Hamming 窗幅频响应'); 5调试过程及结论 5.1程序运行结果 矩形窗冲击响应与幅频响应如图 3所示: 矩形窗单位冲击响应 0.4 击响 0.2 Kaiser 0 幅频 示: -0.2 -0.4 矩形窗幅频响应 12 图3矩形窗冲应与幅频响应 窗冲击响应与 响应如图4所 理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书 KaisoF窗单位脉冲响®h(n) ■ ■ (I .................... -r i o■o.2 10 20 30 n 40 50 60 Kmiser窗幅頻响应 o o o Blackman窗冲击响应与幅频响应如图 5所示: Blackman窗单位冲击响应 0.4 0.2 .s 0.1 0.2 0.3 0.4 0.5 0 5 0.7 0.8 0 9 1 归一化角频率 图4 Kaiser窗冲击响应与幅频响应 亘 0 ■02 -0.4 20 30 n 40 60 70 图5 Blackman窗冲击响应与幅频响应 Hamming窗冲击响应与幅频响应如图 6所示: 13 理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书 Hamming窗单位脉冲响应h(n) -un4 o.2 o -O..2 -O o o 5.2实验结果分析 对于矩形窗:窗宽N=12,h(n)为偶对称,对称中心为n=5.5,由于n为整数,故在n=5 和n=6处存在两个极大值;在幅频响应图中,实际设计的低端,高端通带截止频率约为0.33pi 和0.68pi,而低端和高端的阻带截止频率约为 阻带最小衰减27db。 对于Kaiser窗:窗宽为N=67, h(n)偶对称,对称中心n=33,有用n为整数,故在n=33 处存在一个极大值;在幅频响应图中,实际设计的低端和高端通带的截止频率为约 0.29pi 和0.71pi,而低端和高端的阻带截止频率约为 0.20pi和0.80pi。第一阻带最小衰减80db。 对于Blackman窗:窗宽N=80,h(n)为偶对称,对称中心为 n=39.5,由于n为整数, 故在n=39和n=40处存在两个极大值;在幅频响应图中,实际设计低端,高端通带截止频 率约为0.30pi和0.71pi而低端和高端的阻带截止频率约为 0.20pi和0.79pi,。第一阻带最 小衰减75db。 对于Hamming窗:窗宽N=44,h(n)为偶对称,对称中心为 n=21.5,由于n为整数, 故在n=21和n=22处存在两个极大值;在幅频响应图中,实际设计的低端,高端通带截止 频率约为0.30pi和0.70pi,而低端和高端的阻带截止频率约为 最小衰减50d。 14 10 15 20 25 n 30 35 40 Hamming窗幅频响应 0,1 0 2 0 3 0 4 0 5 0 6 0.7 0.8 0.& 1 归一化角频率 图6 Hamming窗冲击响应与幅频响应 0.18pi和0.83pi。其阻带的纹波较大,第一 0.20pi和0.80pi。第一阻带 理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书 综合上述分析,可得:并没有哪种窗是最好的,往往某种窗在主瓣及过渡带宽方面良 好,而在阻带衰减上表现不佳,反之亦如此。因此只有根据具体条件和实际需求选取最合 适的。由于总的来说,滤波器主要还是强调滤波效果,即阻带衰减,因此使用 或Kaiser窗效果较好。 Blackman 6心得体会 这次是第三次课程设计,与之前做的课程设计不同的是这次是用 matlab来完成设 计,matlab在学习的时候学得不是很好,仅仅知道一些简单的操作,而这次是设计一个完整 的fir带通滤波器,对我来说是有一定困难的.还好在课程设计这段时间一直有在学习 matlab,还有在数字信号处理原理与实现书中有 fir低通滤波器的实例,整个课程设计就 简单多了。 对课设有了整体的了解,就开始了课程设计。首先上网查阅fir带通滤波器的资料, 也从网上获得了不少有关MATLAB计滤波器的资料。接着对fir带通滤波器的深入了解, 对一些基本参数如通带截止频率, 阻带截止频率,通带波动,阻带衰减等有了一定的了解, matlab来仿真了,在 慢慢就了解了滤波器的原理。了解了滤波器的原理,接下来就是用 查阅了大量的资料了,matlab也不是什么大问题了。这次也可以说这是一次比较系统的学 习了 Matlab的使用,在matlab的实际应用上打下了坚实的基础。当我学会使用 Matlab 后,发现一直让我感到枯燥的编程原来并不困难,起码设计带通滤波器是这样,只要调用 几个函数就可以轻松完成。这样这次课程设计基本完成了。 这几天通过对FIR带通滤波器的设计,我对数字信号处理这一课程有了更深一步的了 解,同时也发现了自己的很多不足,看到了自己的实践经验还是比较缺乏,理论联系实际 的能力还亟需提高。与此同时也让我加深了对数字信号处理知识的理解,同时熟悉了 MATLAB件应用。 7思考题 窗函数设计法中,选择窗函数的类型与滤波器阶数对滤波器设计的影响? 答:首先明确一个关系式,如果窗宽为 N,则滤波器阶数为N-1,所以滤波器的阶数 的增大或减小,相当于窗宽的增大或减小。 N越大,H「才会逼近Hd ,但是当N趋 近无穷时,就等效于没有加窗处理。对于 4个窗函数,布拉克曼的滤波效果最好,矩形窗 的滤波控制能力最强。所以在选用窗函数时要综合考虑滤波效果和滤波控制能力两方面 后,才能得到最适合的窗函数。 15 理工大学《专业课程设计 3 (数字信号处理)》课程设计说明书 8参考文献 [1] 高西全.丁玉美•数字信号处理一原理、实现及应用[[M]北京电子工业出版社,2006. [2] 刘顺兰.吴杰.数字信号处理[[M]西安电子科技大学出版社,2003. [3] 高西全.丁玉美.数字信号处理[M]西安电子科技大学出版社,2008. [4] 陈怀琛.数字信号处理教程一MATLAB释疑与实现[M]北京电子工业出版社,2004. ⑸ 刘益成•孙祥娥•数字信号处理[M]北京电子工业出版社,2004. [6]楼顺天.李博菡.基于MATLAB的系统分析与设计现一信号处理版社,1998. 16 M]西安电子科技大学[ 出 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务