用巴特莱特窗函数法设计数字FIR带通滤波器dsp课程设计
更新时间:2023-08-06 21:22:01 阅读量: 实用文档 文档下载
课 程 设 计
课程设计名称:数字信号处理课程设计 专 业 班 级 : 电信 学 生 姓 名 : 学 号 :
指 导 教 师 : 乔丽红 课程设计时间: 6.16-6.20
专业课程设计任务书
说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页
一 需求分析和设计内容
数字信号处理是把许多经典的理论体系作为自己的理论基础,同时又使自己成为一系列新兴学科的理论基础。现如今随着电子设备工作频率范围的不断扩大,电磁干扰也越来越严重,接收机接收到的信号也越来越复杂。为了得到所需要频率的信号,就需要对接收到的信号进行过滤,从而得到所需频率段的信号,这就是滤波器的工作原理。对于传统的滤波器而言,如果滤波器的输入,输出都是离散时间信号,则该滤波器的冲激响应也必然是离散的,这样的滤波器定义为数字滤波器。它通过对采样数据信号进行数学运算来达到频域滤波的目的.
滤波器在功能上可分为四类,即低通(LP)、高通(HP)、带通(BP)、带阻(BS)滤波器等,每种又有模拟滤波器(AF)和数字滤波器(DF)两种形式。对数字滤波器,从实现方法上,具有有限长冲激响应的数字滤波器被称为FIR滤波器,具有无限长冲激响应的数字滤波器被称为IIR滤波器。
FIR数字滤波器的主要优点有:一、具有严格的线性相位特性;二、不存在稳定性问题;三、可利用DFT来实现。这些优点使FIR数字滤波器得到了广泛应用。窗函数法是一种设计FIR数字滤波器的基本方法,但它不是最佳设计方法,在满足同样设计指标的情况下,用这种方法设计出的滤波器的阶数通常偏大。在窗函数法的基础上,以所定义的逼近误差最小为准则来进行优化设计的算法,由于其中的逼近误差可根据不同的设计要求进行定义,故此算法适应性强,它既可用于设计选频型滤波器,又适用于非选频型滤波器的设计。常用的窗函数有矩形窗函数、巴特莱特窗函数、三角窗函数、汉宁(Hann)窗函数、海明(Hamming)窗函数、布莱克曼(Blackman)窗函数、凯塞(Kaiser)窗函数等。本设计通过MATLAB软件对FIR型滤波器进行理论上的实现,利用巴特莱特窗函数设计数字FIR带通滤波器。FIR系统不像IIR系统那样易取得较好的通带和阻带衰减特性,要取得较好的衰减特性,一般要求H(z)阶次要高,也即M要大。FIR系统有自己突出的优点:系统总是稳定的;易实现线性相位;允许设计多通带(或多阻带)滤波器,后两项都是IIR系统不易实现的。FIR数字滤波器的设计方法有多种,如窗函数设计法、频率采样法和Chebyshev逼近法等。随着Matlab软件尤其是Matlab的信号处理工作箱的不断完善,不仅数字滤波器的计算机辅助设计有了可能,而且还可以使设计达到最优化。本实验的数字滤波器的MATLAB实现是指调用
MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。
用巴特莱特窗函数法设计一个数字FIR带通滤波器,要求通带边界频率为400Hz,500Hz,阻带边界频率为350Hz,550Hz,通带最大衰减1dB,阻带最小衰减40dB,抽样频率为2000Hz,用MATLAB画出幅频特性,画出并分析滤波器传输函数的零极点;
信号x(t) x1(t) x2(t) sin2 (f1t) sin2 (f2t)经过该滤波器,其中
f1 450Hz,f2 600Hz,滤波器的输出y(t)是什么?用Matlab验证你的结论并给出x1(t),x2(t),x(t),y(t)的图形。
二 设计原理及设计思路
1.设计FIR数字滤波器的基本方法:
FIR数字滤波器的系统函数无分母,为H(Z) biz h(n)z n,系统频
i
i 0
i 0
N 1
N 1
率响应可写成:H(e) h(n)e jwn,令H(ejw)=H(w)ej (w),H(w)为幅度函数,
jw
n 0
N 1
(w)称为相位函数。这与模和辐角的表示方法不同,H(w)为可为正可为负的实数,这是为了表达上的方便。如某系统频率响应 H(ejw)=sin4we j3w,如果采用模和幅角的表示方法,sin4w的变号相当于在相位上加上 (因-1= ej ),从而造成相位曲线的不连贯和表达不方便,用H(w)ej (w)则连贯而方便。窗函数法又称傅里叶级数法,其设计是在时域进行的。 函数一般是无限长且非因果的,设计时需用一个合适的窗函数把它截成有限长的因果序列,使对应的频率响应(的傅里叶变换)尽可能好地逼近理想频率响应。窗函数法的主要缺点是:一、不容易设计预先给定截止频率的滤波器;二、满足同样设计指标的情况下所设计出的滤波器的阶数通常偏大。
一些固定窗函数的特性表
2.FIR数字滤波器设计的基本步骤如下:
(1)确定技术指标
在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以2种方式给出。第一种是绝对指标。他提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。第二种指标是相对指标。他以分贝值的形式给出要求。本文中滤波器的设计就以线性相位FIR滤波器的设计为例。
(2)逼近
确定了技术指标后,就可以建立一个目标的数字滤波器模型(通常采用理想的数字滤波器模型)。之后,利用数字滤波器的设计方法(窗函数法、频率采样法等),设计出一个实际滤波器模型来逼近给定的目标。
(3)性能分析和计算机仿真
上两步的结果是得到以差分或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。
三 程序流程图
四 程序源代码
clear all; clc
Fs=2000;fpl=400;fpu=500;fsl=350;fsu=550;
wpl=2*pi*fpl/Fs;wpu=2*pi*fpu/Fs;%通带截止频率% wsl=2*pi*fsl/Fs;wsu=2*pi*fsu/Fs;%阻带截止频率% B=wpl-wsl; %计算过渡带宽度%
%N=2*ceil(3.32*pi/Bt)+1;%计算所需h(n)长度N0,ceil取大于等于% wc=[(wpl+wsl)/2/pi,(wpu+wsu)/2/pi];%计算理想带通滤波器截止频率% ap=1;as=40;
dp=1-10^(-ap/20); ds=10^(-as/20);
fenzi=-20*log10(sqrt(dp*ds))-13; fenmu=14.6*B/2/pi; N=ceil(fenzi/fenmu); n=0:N;
hn=fir1(N,wc,bartlett(N+1));%调用firl计算带通FIR数字滤波器的h(n)% [H,w]=freqz(hn,1,1024);%计算频率响应函数h(n)% figure(1);
magH=20*log10(abs(H)/max(abs(H)));%计算幅度% subplot(3,1,1);stem(n,hn,'.'); xlabel('n'); ylabel('h(n)');
title('巴特莱特窗FIR数字带通滤波器的单位脉冲响应'); subplot(3,1,2);plot(w/pi*Fs/2,magH);%绘制幅度特性% title('巴特莱特窗FIR数字带通滤波器的幅度特性'); xlabel('频率/Hz');
ylabel('20lg|Hg(e^j^\omega)|/max(|Hg(e^j^\omega)|)'); grid on;
subplot(3,1,3);plot(w/pi*Fs/2,unwrap(angle(H)));%频率响应相位% title('巴特莱特窗FIR数字带通滤波器的相位特性'); xlabel('频率/Hz'); ylabel('相位/rad'); grid on; figure(2);
zplane(hn,1);;%绘制零极点图%
title('巴特莱特窗FIR数字带通滤波器系统函数的零极点图'); legend('零点','极点'); grid on; n=0:1023;
dt=1/10000;t=n*dt;
f1=450;f2=600;
x=sin(2*pi*f1*t)+sin(2*pi*f2*t); x1=sin(2*pi*f1*t); x2=sin(2*pi*f2*t);
y=filter(hn,1,x);
figure(3);
subplot(3,1,1);plot(x); title('输入信号x(t)'); xlabel('t/s'); ylabel('x(t)'); grid on;
axis([0,50*pi,-2,2]);
subplot(3,1,2);plot(x1);grid on; title('输入信号x1(t)'); xlabel('t/s'); ylabel('x1(t)');
axis([0,50*pi,-2,2]);
subplot(3,1,3);plot(x2);grid on; title('输入信号x2(t)'); xlabel('t/s'); ylabel('x2(t)');
axis([0,50*pi,-2,2]);
figure(4)
plot(y);grid on;
title('输出信号y(t)'); xlabel('t/s'); ylabel('y(t)');
axis([0,50*pi,min(y),max(y)]);
%频谱图
fs=2000;N=1024; n=0:N-1;t=n/fs; f1=450;f2=600;
x=sin(2*pi*f1*t)+sin(2*pi*f2*t) y=filter(hn,1,x); Y1=fft(x,N); Y2=fft(y,N)
mag1=abs(Y1);mag2=abs(Y2); f=n*fs/N; figure(5)
subplot(2,1,1);
plot(f(1:N/2),mag1(1:N/2)); title('输入信号的频谱图');
xlabel('频率/HZ');ylabel('振幅');
grid on;
subplot(2,1,2);
plot(f(1:N/2),mag2(1:N/2)); title('输出信号的频谱图');
xlabel('频率/HZ');ylabel('振幅'); grid on;
五 仿真结果图
巴特莱特窗FIR数字带通滤波器的单位脉冲响应,幅度特性及相位特性
巴特莱特窗FIR数字带通滤波器系统函数的零极点图
输入信号x1(t),x2(t)及和信号x(t)
输出信号y(t)
输入信号的频谱图及输出信号的频谱图
六 参考资料
[1] 胡广书. 数字信号处理—理论、算法与实现[M]. 北京: 清华大学出版社,
1997.
[2] R. Lyons. Understanding Digital Signal Processing [M]. 2nd ed.
Prentice Hall PTR., 2004.
[3] A.V.奥本海姆, R.W.谢弗 and J.R.巴克. 离散时间信号处理[M]. 第二版.
西安交通大学出版社, 2001.
[4] S. K. Mitra. Digital Signal Processing: A Computer-Based Approach[M].
3rd ed. McGraw-Hill, 2005.
[5] 程佩青,《数字信号处理教程》,清华大学出版社,2001 [6] 郭仕剑,《MATLAB 7.x数字信号处理》,人民邮电出版社,2006
[7] 陈怀琛,数字信号处理教程——MATLAB释义与实现,电子工业出版社,2004
七 设计心得
通过本次课程设计,不仅加深了对理论知识的了解,巩固了课堂上所学的理论知识,而且还增加了自己的动手能力,并且理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。与其他高级语言的程序设计相比,MATLAB环境下可以更方便、快捷,节省大量的编程时间,提高编程效率,且参数的修改也十分方便,还可以进一步进行优化设计。相信随着版本的不断提高,MATLAB在数字滤波器技术中必将发挥更大的作用。
通过图形我们可以清楚的看出滤波器的特性和功能。另外通过滤波器的零极点,我们还可以知道滤波器的传输特性。本次实验结果较好地反映出了用巴特莱特窗函数法设计数字FIR带通滤波器的特性,也基本上达到了课程设计的要求和初衷。深刻的感知到MATLAB的强大。这样的好工具应该好好利用起来,多掌握一些相关的知识,在以后的学习工作中兴许用得到。很感谢能有这么一次锻炼的机会,让我看到自己这么多的不足,发现很多有价值的东西,培养了我如何去学习和掌握新知识的能力,这对以后的学习和工作都有很大的帮助。
学院课程设计成绩评价表
课程名称:数字信号处理课程设计
设计题目:用巴特莱特窗函数法设计数字FIR带通滤波器
正在阅读:
用巴特莱特窗函数法设计数字FIR带通滤波器dsp课程设计08-06
010.实验十 面向对象分析与设计(2)实验报告 参考答案03-15
美国良好操作规范(GMP—21CFR Part 111)05-09
2011三级新疆维吾尔自治区建造师施工管理最新考试试题库03-29
P912XDP512J1VAG中文资料05-03
天字一号60道数学题06-16
益尔佳安全生产事故应急预案06-26
2017年长沙理工大学J1401法理学(同等学力加试)复试仿真模拟三套题04-28
预报竞赛模拟试题集04-01
浅析社会责任会计报告的决定因素10-21
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 巴特
- 莱特
- 设计
- 滤波器
- 函数
- 课程
- 数字
- FIR
- dsp
- 工作简报优秀范文_农村工作简报范文
- 2012配电室巡检记录表
- 2015年中国连衣裙市场深度调查报告
- 山东省莱芜市人均日生活用水量和人均城市道路面积3年数据专题报告2019版
- 第一二单元默写
- 七彩课堂人教版一年级下册教案
- 国旗下讲话:端端正正写字 堂堂正正做人
- 兰州商学院开题报告-程控滤波器的设计与仿真
- 《商务礼仪》测试题及答案(A卷)
- 河南“十三五”重点-全钒液流储能电池项目可行性研究报告
- 外研版(三年级起)小学英语单词默写
- 《小老虎历险记》《丢三忘四忘忘熊》测试题
- 淘宝天猫电商各部门职位详细职责
- 《野天鹅》剧本
- 高中地理第二章区域生态环境建设章末分层突破新人教版必修
- 初中数学教学论文(中学高级职称论文)——浅谈如何转化农村数学学困生
- 万邦·理想城广告推广提案
- 智能大厦综合布线模版
- 2017-2018最新小学二年级上册数学统计教学课件PPT模板(31页)
- 【精选】春沪教版数学三下6.1《乘与除》word教案2-数学