滤波器设计与制作详解.docx
- 文档编号:9252638
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:19
- 大小:171.55KB
滤波器设计与制作详解.docx
《滤波器设计与制作详解.docx》由会员分享,可在线阅读,更多相关《滤波器设计与制作详解.docx(19页珍藏版)》请在冰点文库上搜索。
滤波器设计与制作详解
数字信号处理
实训(论文)说明书
题目:
滤波器设计与制作
院(系):
专业:
学生姓名:
学号:
指导教师:
2013年7月7日
摘要
滤波器的作用主要是选择所需频带的信号内容而抑制不需要的其他频带的信号内容。
数字滤波器因其精度高、可靠性好、灵活性大等优点,在语音信号处理、信号频谱估计、信号去噪、无线通信中的数字变频以及图像处理等工程实际应用中都很广泛。
模拟带通滤波器一般是用电路元件(如电阻、电容、电感)来构成我们所需要的频率特性电路。
模拟带通滤波器的原理是通过对电容、电阻和电感参数的配置,使得模拟滤波器对基波呈现很小的阻抗,而对谐波呈现很大的阻抗,这样当负载电流信号通过该模拟带通滤波器的时候就可以把基波信号提取出来。
利用MATLAB设计滤波器,可以按照设计要求非常方便地调整设计参数,极大地减轻了设计的工作量,有利于滤波器设计的最优化。
Matlab因其强大的数据处理功能被广泛应用于工程计算,其丰富的工具箱为工程计算提供了便利,利用Matlab信号处理工具箱可以快速有效地设计各种数字滤波器,设计简单方便。
关键字:
滤波器;MATLAB;信号处理
Abstract
Filtertheroleofthemainistochoosethefrequencybandofthesignalrequiredcontentandsuppressdon'tneedotherbandsignal.Digitalfilterbecauseofitsadvantagesofhighprecision,goodreliability,flexibility,inspeechsignalprocessing,signalspectrumestimation,signaldenoising,wirelesscommunicationfrequencyandthenumberintheimageprocessingandotherprojectsinthepracticalapplicationisveryextensive.Analogbandpassfilteriscommonlyusedcircuitcomponents(e.g.,resistor,capacitor,inductor)frequencycharacteristicsofthecircuittomakeupourneed.Analogbandpassfilterprincipleisbasedonthecapacitance,resistanceandinductanceparametersconfiguration,makesimulationfilterforfundamentalwaveappearsverysmallimpedance,andtheharmonicpresentgreatimpedance,sothatwhentheloadcurrentsignalthroughthesimulationoftheband-passfilterwhenfundamentalwavesignalscanbeextracted.
UsingtheMATLABdesignfilter,may,inaccordancewiththedesignrequirementsisveryconvenienttoadjustdesignparameters,andgreatlyreducetheworkloadofdesign,andisbeneficialtooptimizationoffilterdesign.Matlabbecauseofitspowerfuldataprocessingfunctionsarewidelyusedinengineeringcalculation,itsrichtoolkitprovidesaconvenienttoengineeringcalculation,Matlabsignalprocessingtoolboxcanbeusedtoquicklyandefficientlydesignallkindsofdigitalfilter,thedesignissimpleandconvenient.
Keywords:
filter;MATLAB;Thesignalprocessing
引言
滤波器是一种只传输指定频段信号,抑制其它频段信号的电路。
它的功能就是允许某一部分频率的信号顺利的通过,而另外一部分频率的信号则受到较大的抑制,它实质上是一个选频电路。
滤波器中,把信号能够通过的频率范围,称为通频带或通带;反之,信号受到很大衰减或完全被抑制的频率范围称为阻带;通带和阻带之间的分界频率称为截止频率;理想滤波器在通带内的电压增益为常数,在阻带内的电压增益为零;实际滤波器的通带和阻带之间存在一定频率范围的过渡带。
本次关于滤波器的实训,目的就是让我们在学习理论知识的基础上,通过对有源带通滤波器的硬件及软件设计和操作,加深我们对理论的理解,同时提高我们的动手能力。
1滤波器
1.1滤波器简介
自60年代起由于计算机技术、集成工艺和材料工业的发展,滤波器发展上了一个新台阶,并且朝着低功耗、高精度、小体积、多功能、稳定可靠和价廉方向努力。
其中小体积、多功能、高精度、稳定可靠成为70年代以后的主攻方向,导致RC有源滤波器、数字滤波器、开关电容滤波器和电荷转移器等各种滤波器的飞速发展。
到70年代后期,上述几种滤波器的单片集成被研制出来并得到应用。
80年代致力于各类新型滤波器性能提高的研究并逐渐扩大应用范围。
90年代至今在主要致力于把各类滤波器应用于各类产品的开发和研制。
当然,对滤波器本身的研究仍在不断进行。
滤波器是一种用来消除干扰杂讯的器件,将输入或输出经过过滤而得到纯净的交流电。
您可以通过二阶通用滤波器传递函数,推导出最通用的滤波器类型:
低通、带通、高通、帯阻。
传递函数的参数——f0、d、hHP、hBP和hLP。
可用来构造所有类型的滤波器。
转降频率f0为s项开始占支配作用时的频率。
设计者将低于此值的频率看作是低频,而将高于此值的频率看作是高频,并将在此值附近的频率看作是带内频率。
阻尼d用于测量滤波器如何从低频率转变至高频率,它是滤波器趋向振荡的一个指标。
实际阻尼值从0至2变化。
高通系数hHP是对那些高于转降频率的频率起支配作用的分子的系数。
带通系数hBP是对那些在转降频率附近的频率起支配作用的分子的系数。
低通系数hLP是对那些低于转降频率的频率起支配作用的分子的系数。
设计者只需这5个参数即可定义一个滤波器。
1.2滤波器的原理
滤波器是可以使信号中特定的频率成分通过而极大地衰减或抑制其他频率成分的装置或系统。
滤波器的功能就是允许某一部分频率的信号顺利的通过而另外一部分频率的信号则受到较大的抑制,它实质上是一个选频电路。
通频带或通带是信号能够通过的频率范围,而信号受到很大衰减或完全被抑制的频率范围称为阻带,通带和阻带之间的分界频率称为截止频率。
理想滤波器在通带内的电压增益为常数,在阻带内的电压增益为零,实际滤波器的通带和阻带之间存在一定频率范围的过渡带。
理想滤波器实际上并不存在。
1.3滤波器的分类
滤波器按所处理的信号分为模拟滤波器和数字滤波器两种;按所采用的元器件分为无源和有源滤波器两种;按所通过信号的频段分为低通、高通、带通和带阻滤波器四种:
(1)低通滤波器:
它允许信号中的低频或直流分量通过,抑制高频分量或干扰和噪声。
(2)高通滤波器:
它允许信号中的高频分量通过,抑制低频或直流分量。
(3)带通滤波器:
它允许一定频段的信号通过,抑制低于或高于该频段的信号、干扰和噪声。
(4)带阻滤波器:
它抑制一定频段内的信号,允许该频段以外的信号通过。
数字滤波器是指输入、输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分的硬件。
实质上就是一个由有限精度算法实现的线性时不变离散系统。
它的基本工作原理是利用离散系统的特性对系统输入信号进行加工和变换,改变输入序列的频谱或信号波形,让有用的频率分量通过,抑制无用的信号分量输出。
根据其频率特性同样可以分为低通、高通、带通、带阻。
如果要处理的信号是模拟信号,就可以通过A/D或者D/A转换,在信号形式上进行匹配转换,同样可以使用数字滤波器对模拟信号进行滤波。
2带通滤波器
带通滤波器是指能通过某一频率范围内的频率分量。
但将其他范围的频率分量衰减到极低水平的滤波器,与带阻滤波器的概念相对。
一个模拟带通滤波器的例子是电阻-电感-电容电路(RLCcircuit)。
这些滤波器也可以用低通滤波器同高通滤波器组合来产生。
2.1带通滤波器的工作原理
一个理想的滤波器应该有一个完全平坦的通带,例如在通带内没有增益或者衰减,并且在通带之外所有频率都被完全衰减掉。
另外,通带外的转换在极小的频率范围完成。
实际上,并不存在理想的带通滤波器。
滤波器并不能够将期望频率范围外的所有频率完全衰减掉,尤其是在所要的通带外还有一个被衰减但是没有被隔离的范围。
这通常称为滤波器的滚降现象,并且使用每十倍频的衰减幅度dB来表示。
通常,滤波器的设计尽量保证滚降范围越窄越好,这样滤波器的性能就与设计更加接近。
然而,随着滚降范围越来越小,通带就变得不再平坦—开始出现“波纹”。
3硬件设计
3.1硬件设计基本要求
通过运放实现模拟带通滤波器。
要求:
中心频率:
28000(Hz);
品质因素:
2.8;
实现滤波器阶数:
4阶;
需频率函数图,至少要40个点及以上。
3.2硬件设计方案
有源滤波器一般由集成运放与RC网络构成,它具有体积小、性能稳定等优点,同时,由于集成运放的增益和输入阻抗都很高,输出阻抗很低,故有源滤波器还兼有放大与缓冲作用。
利用有源滤波器可以突出有用频率的信号,衰减无用频率的信号,抑制干扰和噪声,以达到提高信噪比或选频的目的,因而有源滤波器被广泛应用于通信、测量及控制技术中的小信号处理。
其中介绍带通滤波器(BPF)的工作原理:
这种滤波器的作用是只允许在某一个通频带范围内的信号通过,而比通频带下限频率低和比上限频率高的信号均加以衰减或抑制。
典型的带通滤波器可以从二阶低通滤波器中将其中一级改成高通而成。
图3.2.1所示是一个多路负反馈二阶有源带通滤波器,它使用单个通用运算放大器(通用运放)接成单电源供电模式,易于实现。
它的上限截止频率和下限截止频率可以非常近,具有非常很强的频率选择性。
令C1=C2=C,Req是R1和R2并联的值。
品质因数Q等于中心频率除以带宽,Q=fC/BW。
由式可以看出可以通过让R3的值远大于Req来获得大的Q值。
图3.2.1多路负反馈二阶有源带通滤波器
Q值越大,频率选择性越好,带宽越小,反之则反。
令中心频率为fc,则计算公式如下:
其中
3.2.1硬件设计原理图
硬件设计部分原理图如图3.2.1所示,为了调试方便,把电路中的电阻都换成了电位器。
图3.2.1滤波器原理图
3.2.2NE5532简介
NE5532功能特点
简介:
NE5532/SE5532/SA5532/NE5532A/SE5532A/SA5532A是一种双运放高性能低噪声运算放大器。
相比较大多数标准运算放大器,如1458,它显示出更好的噪声性能,提高输出驱动能力和相当高的小信号和电源带宽。
这使该器件特别适合应用在高品质和专业音响设备,仪器和控制电路和电话通道放大器。
如果噪音非常最重要的,因此建议使用5532A版,因为它能保证噪声电压指标。
NE5532特点:
•小信号带宽:
10MHZ
•输出驱动能力:
600Ω,10V有效值
•输入噪声电压:
5nV/√Hz(典型值)
•直流电压增益:
50000
•交流电压增益:
2200-10KHZ
•功率带宽:
140KHZ
•转换速率:
9V/μs
•大的电源电压范围:
±3V-±20V
•单位增益补偿
3.3带通滤波器的主要参数
(1)通带增益A0:
滤波器通带内的电压放大倍数。
(2)特征角频率
和特征频率
:
它只与滤波用的电阻和电容元件的参数有关,通常
。
对于带通(带阻)滤波器,称为带通(带阻)滤波器的中心角频率
或中心频率f0,是通带(阻带)内电压增益最大(最小)点的频率。
(3)截止角频率
和截止频率f0:
它是电压增益下降到
(即)时所对应的角频率。
必须注意
不一定等于
。
带通和带阻滤波器有两个
,即
和
。
(4)通带(阻带)宽度BW:
它是带通(带阻)滤波器的两个
之差值,即
。
(5)等效品质因数Q:
对低通和高通滤波器而言,Q值等于
时滤波器电路电压增益的模与通带增益之比,即
;对带通(带阻)滤波器而言,Q值等于中心角频率与通带(阻带)宽度BW之比,即
(6)有源滤波器的阶数
有源滤波器传递函数分母中“S”的最高“方次”称为滤波器的“阶数”。
阶数越高,滤波器幅频特性的过渡带越陡,越接近理想特性。
一般情况下,一阶滤波器过渡带按每十倍频20dB速率衰减;二阶滤波器每十倍频40dB速率衰减。
高阶滤波器可由低阶滤波器串接组成。
3.4硬件调试
根据中心频率及Q值的计算公式,在电容固定的情况下,确定一组电阻值,然后将电位器调到所需的阻值。
电路采用的是四阶有源滤波器,前两阶的参数比题目要求的稍小,后两阶则稍大,级联后协调一下即满足题目要求。
运放采用双电源,用正负12V供电芯片会有点烫,测试发现没必要要那么高的电压,正负6V就能很好的工作,而且芯片不会发烫。
4基于MATLAB的GUI界面数字滤波器
4.1MATALBGUI介绍
MATALB可以创建图形用户界面GUI(GraphicalUserInterface),它是用户和计算机之间交流的工具。
MATLAB将所有GUl支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。
而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。
4.2IIR滤波器
4.2.1IIR滤波器设计原理
滤波器的设计质上是寻找一个既能物理实现,又能满足给定频率特性指标要求的系统传输函数。
IIR滤波器一般采用递归型的结构,系统的输入与输出服从N阶差分方程:
其中(
)
相应的传输函数为:
4.2.2IIR滤波器设计思想
(1)将设计指标归一化处理
(2)根据归一化频率,确定最小阶数N和频率参数Wn。
可供选用的阶数选择函数有:
buttord,cheblord,cheb2ord,ellipord等
(3)运用最小阶数N设计模拟低通滤波器原型。
根据最小阶数直接设计模拟低通滤波器原型,用到的函数有:
butter,chebyl,cheby2,ellip和bessel
(4)再用freqz函数验证设计结果
4.2.3IIR滤波器设计编程实现
(1)Fs=22050;Fp1=3400;Fs1=5000;Rp=3;Rs=20;%设计指标
(2)wp1=2*Fp1/Fs;ws1=2*Fs1/Fs;%求归一化频率
(3)[n,Wn]=buttord(wp1,ws1,Rp,Rs);%确定butterworth的最小阶数N和频率参数Wn
(4)w=blackman(n+1);%确定窗口值
(5)b=fir1(n,wn,w);%确定传递函数的分母系数
(6)[h,f]=freqz(b,1);%生成频率响应参数
(7)plot(f,20*log(abs(h)));%画幅频响应图
(8)plot(f,angle(h));%画相频响应图
4.3FIR滤波器
4.3.1FIR滤波器设计原理
寻找一个FIR滤波器,使其频率响应
逼近理想FIR滤波器的频率响应
:
:
窗函数序列;要选择合适的形状和长度。
4.3.2FIR滤波器设计思想
(1)将设计指标归一化处理
(2)根据归一化频率,选择函数buttord确定最小阶数N和频率参数Wn
(3)确定窗口值。
Windows指定窗函数类型,默认为Hamming窗;可选Hanning、Hamming、Blackman、triangle、bartlett等窗
(4)确定传递函数的分母系数。
函数fir1的调用格式为B=fir1(n,Wn‘ftype',Windows),同时选择在此函数中选择要设计的滤波器的类型。
(5)用freqz函数验证设计结果
4.3.3FIR滤波器设计编程实现
(1)Fs=22050;Fp1=3400;Fs1=5000;Rp=3;Rs=20;N=75%设计指标
(2)wp1=2*Fp1/Fs;ws1=2*Fs1/Fs;%求归一化频率
(3)[n,Wn]=buttord(wp1,ws1,Rp,Rs);%确定butterworth的最小阶数N和频率参数Wn
(4)[B,A]=butter(N,Wn);%确定传递函数的分子、分母系数
(5)[h,f]=freqz(b,a,Nn,Fs_value);%生成频率响应参数
(6)plot(f,20*log(abs(h)));%画幅频响应图
(7)plot(f,angle(h));%画相频响应图
5基于MatlabGUI的数字滤波器设计思路及实现
MATLAB提供了编写图形用户界面的功能。
所谓图形用户界面,简称为GUI。
GUI设计面板是GUI设计工具应用的平面,面板上部提供了菜单和常用工具按钮,左边提供了多种如命令按钮、单选按钮、可编辑文本框、静态文本框、弹出式菜单等。
GUI设计面板是GUI设计工具应用的平面,面板上部提供了菜单和常用工具按钮,左边提供了多种如命令按钮、单选按钮、可编辑文本框、静态文本框、弹出式菜单等。
5.1“滤波器设计软件”设计的GUI界面设计
图5.1.1MATLABGUI设计界面
图5.1.2滤波器GUI界面设计
5.2控件实现编程
(1)DigitalFilter下拉菜单
functionDigitalFilter_Callback(hObject,eventdata,handles)
%读取此时选择的滤波器选择,“IIR、FIR”
DigitalFilter_value=get(handles.DigitalFilter,'Value');
%当选择了IIR时,使窗口选项屏蔽
if(DigitalFilter_value==1)
set(handles.FilterDesign,'enable','on');
set(handles.Windows,'enable','off')
%当选择了FIR时,使IIR的滤波器(Butterworth、ChebyshevⅠ等)选项屏蔽
else
set(handles.FilterDesign,'enable','off');
set(handles.Windows,'enable','on')
end
(2)FilterType下拉菜单
functionFilterType_Callback(hObject,eventdata,handles)
%读取此时设计的滤波器的类型,“Lowpass、Highpass、Bandpass、Bandstop”FilterType_value=get(handles.FilterType,'Value');
%当选择Lowpass或者Highpass,屏蔽相应的临界频率的显示
if((FilterType_value==1)||(FilterType_value==2))
set(handles.Fp2,'visible','off');set(handles.Fs2,'visible','off')
set(handles.text17,'visible','off');set(handles.text19,'visible','off');set(handles.text6,'visible','off');set(handles.text10,'visible','off');
else
%当选择Bandpass或者Bandstop,使相应的临界频率的显示,使参数能够输入
if((FilterType_value==3)||(FilterType_value==4))
set(handles.Fp2,'visible','on');set(handles.Fs2,'visible','on');
set(handles.text17,'visible','on');set(handles.text19,'visible','on';set(handles.text6,'visible','on');set(handles.text10,'visible','on');
end
end
(3)MinOrder和CustomOrde按钮
%选择使用最小阶数设置时,屏蔽自定义阶数的输
functionMinOrder_Callback(hObject,eventdata,handles)
MinOrder_value=get(handles.MinOrder,'Value');
if(MinOrder_value==1)
set(handles.Order,'visible','off');
else
set(handles.Order,'visible','on');
end
%选择自定义阶数时,显示阶数输入框
functionCustomOrderButton_Callback(hObject,eventdata,handles)
CustomOrderButton_value=get(handles.CustomOrderButton,'Value');
if(CustomOrderButton_value==0)
set(handles.Order,'visible','off');
else
set(handles.Order,'visible','on');
end
(4)Fp1、Fp2、Fst1、Fst2文本编辑框
参数输入时,在输入抽样频率Fs的前提下,判断滤波器通带临界频率(Fp1、Fp2)、滤波器阻带临界频率(Fst1、Fst2)的归一化频率wp1、wp2、ws1、ws1是否在[0,1]之间,如不正确显示错误对话框
functionFp1_Callback(hObject,eventdata,handles)
%检查输入的通带临界频率Fp1的归一化频率是否在[0,1]之间
Fs_value=str2double(get(handles.Fs,'String'));
Fp1_value=str2double(get(handles.Fp1,'String'));
wp1=2*Fp1_value/Fs_value;
%如果不在[0,1]之间,显示输入错误对话框
if(wp1>=1)
errordlg(‘wp1=2*Fp1/Fs,归
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 滤波器 设计 制作 详解
![提示](https://static.bingdoc.com/images/bang_tan.gif)