GUI实现IIR低通滤波器与低通滤波器设计_第1页
GUI实现IIR低通滤波器与低通滤波器设计_第2页
GUI实现IIR低通滤波器与低通滤波器设计_第3页
GUI实现IIR低通滤波器与低通滤波器设计_第4页
GUI实现IIR低通滤波器与低通滤波器设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子科技大学 数字信号处理实训课 程(实训)设 计 任 务 书年级: 08级项目名称:信号处理综合实训项目类型硬件、软件特殊要求无承担学生姓名及学号专业电子信息工程联系电话项目设计要求:(含如下内容)本实训分为两部分完成。(1) 通过运放实现模拟低通滤波器,要求:a) 实现滤波器四阶。b) 截止频率为18KHz(2) 通过GUI实现FIR数字低通滤波器。要求:a) 对任意给定指标能实现IIR数字低通滤波器。b) 画出滤波器的时域波形和频域波形。参考资料:1 程佩青 .数字信号处理教程。北京:清华大学出版社,20002 薛年喜.MATLAB在数字信号处理中的应用M.北京:清华大学出版社,2003 3 刘树棠.数字信号处理使用MATLABM.西安:西安交通大学出版社,20024 【美】恒里Y-F拉姆 著. 模拟和数字滤波器设计与实现.人民邮电,1985完成形式:1. 硬件、软件设计可供实际检测。2. 完成实训设计报告项目设计进度要求: 2011年6月6日: 选题,定题; 2011年6月7日10日:模拟低通滤波器实现 2011年6月1114日:数字滤波器实现。 2011年6月1516日:撰写实训论文(按桂林电子科技大学实训论文统一格式编写,字数在5000字以上) 2011年6月17日:上交作品及实训论文(上交电子稿及打印稿);项目验收方式: 1、在实训期间进行验收,验收时同时交设计报告。2、设计报告要符合桂林电子科技大学实训论文统一格式。项目开始时间:2011-6-6项目结束时间:2011-6-17任务下达:摘 要本次实训我们分为两个阶段:阶段一:使用运放制作有源低通滤波器,截止频率为自己的学号后面两位数(18)KHz,设计方式为Butterworth(巴特霍斯),运放为TL084。阶段二:利用MATLAB软件通过GUI实现IIR(或FIR)数字低通(高通、带通或带阻)滤波器。关键字:低通滤波器; 巴特霍斯; 切比雪夫; TL084; GUI; FIR; IIR 朗读显示对应的拉丁字符的拼音字典AbstractThe training we divided into two phases:Stage one: making active use of op amp low pass filter cutoff frequency for the back of his double-digit school number (18) KHz, design methods for the Butterworth (Butterworth Hawes), op amp TL084. Phase 2: GUI implementation using the MATLAB software by IIR (or FIR) digital low-pass (high pass, band pass or band stop) filter.Key word: low-pass filter; Butterworth; Chebyshev; TL084; GUI; FIR; IIR目 录引言1阶段一: 低通滤波器制作11 设计方案论证11.1器件选择11.2 滤波器设计方式21.3 阶数选择32 芯片介绍42.1运放TL084CN43 电路原理53.1电路原理图:53.2参数确定53.3制板及调试63.3.1做板注意事项63.3.2制作PCB板的流程63.3.3注意事项63.3.4硬件调试73.3.5测试结果和幅频图分析7阶段二 数据滤波器设计101 基础知识101.1数字滤波器的基本概念101.2 MATALB及GUI介绍102 基于Matlab GUI的IIR数字滤波器设计实现112.1 IIR滤波器的实现112.1.1 IIR滤波器设计原理112.1.2 IIR滤波器设计思想112.1.3 IIR滤波器设计编程实现112.2 其他功能实现122.2.1按钮实现编程112.3运行和结果显示13实训总结14谢 辞16参考文献.18桂林电子科技大学 数字信号处理实训引言随着电力电子技术的发展,计算机计算能力的提高,以及对电能质量要求的提高,有源滤波器技术也得到了越来越多的重视和发展。有源滤波器的实现方法也从模拟控制逐步发展为用DSP芯片实现的数字式控制系统。RC有源滤波器是一种信号处理器,其主要功能是对有用信号进行提取,同时,抑制干扰信号的通过。RC有源滤波器的基本组成模块,包括电流镜、放大器、加法器、积分器等,以及包含有源滤波器的频率变换和滤波器的衰减度和过渡带的分析。本次实训主要分为两个阶段,阶段一:使用运放制作有源低通滤波器;阶段二:利用MATLAB软件通过GUI实现IIR(或FIR)数字低通滤波器。阶段一: 低通滤波器制作滤波器是一种能使有用信号通过,滤除信号中的无用频率,即抑制无用信号的电子装置。低通滤波器是一个通过低频信号而衰减或抑制高频信号的部件。理想滤波器电路的频响在通带内应具有一定幅值和线性相移,而在阻带内其幅值应为零。但实际滤波器不能达到理想要求。为了寻找最佳的近似理想特性,本文主要着眼于幅频响应,而不考虑相频响应。一般来说,滤波器的幅频特性越好,其相频特性越差,反之亦然。滤波器的阶数越高,幅频特性衰减的速率越快,但RC网络节数越多,元件参数计算越繁琐,电路的调试越困难。任何高阶滤波器都可由一阶和二阶滤波器级联而成。对于N为偶数的高阶滤波器,可以由N/2节二阶滤波器级联而成;而N为奇数的高阶滤波器可以由(N-1)/2节二阶滤波器和一节一阶滤波器级联而成,因此一阶滤波器和二阶滤波器是高阶滤波器的基础。1 设计方案论证1.1器件选择方案一:采用无源器件无源滤波器,是利用电感、电容和电阻的组合设计构成的滤波电路,可滤除某一次或多次谐波,Error! Reference source not found.是LC无源滤波器的电路图:图表 1.1它的优点为成本低,运行稳定,技术相对成熟,容量大。缺点为谐波滤除率一般只有80,对基波的无功补偿也是一定的。方案二:采用有源滤器件,有源滤波自身就是谐波源,其依靠电力电子装置,在检测到系统谐波的同时产生一组和系统幅值相等,相位相反的谐波向量,这样可以抵消掉系统谐波,使其成为正弦波形。有源滤波除了滤除谐波外,同时还可以动态补偿无功功率。其优点是反映动作迅速,滤除谐波可达到95以上,补偿无功细致。Error! Reference source not found.是有源二阶滤波器电路图:图表 2.1方案选择:考虑到自己的学号为18,滤波器的截止频率比较高,且无源滤波器对谐波滤除率一般只有80,而有源滤波器反映动作迅速,滤除谐波可达到95以上,所以我选择使用有源器件制作。1.2 滤波器设计方式 滤波器的传递函数不同,使通带内具有不同的幅频特性和相频特性,其中巴特霍斯、切比雪夫、贝塞尔三种点了具有典型的幅频和相频特性关系曲线。图2即为三种低通滤波点了幅频特性的比较。图表 3方案一:巴特霍斯 巴特霍斯低通滤波器的幅频响应特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而相频响应随频率升高呈非线性变化,信号通过后会略有线性失真,阶跃响应有明显过冲。方案二:切比雪夫 切比雪夫滤波的幅频特性在通带内呈恒动波动状,而咋截止频率附近具有较陡直的下降特性,它比巴特霍斯滤波电路更接近于理想的矩形通带特性,而且运行的波动范围越大,越接近于理想特性。方案三:贝塞尔 贝塞尔滤波的相移线性度随阶数的增加而更加优异,例如在w=0处得时延为Td=1/w0秒,通带内最大时延误差在w=w0处,这时,二阶为Td=12/(13w0);对于三阶。Td=276/(277w0);对于四阶,Td=12745/(12746w0w),它的低通滤波点了的幅频响应是从零频处的最大幅值缓慢而单调下降。方案选择:切比雪夫滤波的幅频特性截止频率附近具有较陡直的下降特性,虽然比巴特霍斯滤波电路更接近于理想的矩形通带特性,但是它的阶跃响应比巴特霍斯更加过冲,硬件调试比较复杂顾不作考虑,而贝塞尔的幅频特性虽然比较平稳但是要求更高的阶数才能达到更好的衰减效果,综合考虑各因素最终选择巴特霍斯设计方式。1.3 阶数选择 按传递函数分母中S的最高幂值可以确定滤波电路的阶数。滤波点了的截止特性与其阶数直接有关。图4.2示出了不同阶数的巴特霍斯滤波电路的幅频响应曲线。从图中可以看出,阶数越高,通带特性就越接近于理想的矩形特性。但是阶数月高,对元器件的稳定性和精密度要求也很高。对于巴特霍斯有源滤波电路,四阶滤波电路的阻容元件最大只能有5%的误差,而八阶滤波电路的元件误差则必须控制在1%以内,所以说八阶以上的滤波器用普通的阻容元件和运放是较难实现的,故在这实训中,我选择四阶形式。2 芯片介绍2.1运放TL084CNTL084CN是一款高输入电阻的四运放,精度不高。管脚信息如Error! Reference source not found.所示,1、2、3脚是通道1的输出端、反相输入端、同相输入端,5、6、7脚是通道2的同相输入端、反相输入端、输出端,8、9、10脚是通道3的输出端、反相输入端、同相输入端,12、13、14脚是通道4的同相输入端、反相输入端、输出端,4脚是正电源,11脚是负电源(或单电源使用时的电源地)。图表 4.13 电路原理3.1电路原理图:图表 5.1有源4阶低通滤波器电路如图所示,由两个二阶电路组成,压控电压源二阶滤波器电路的特点是:运算放大器为同相接法,滤波器的输入阻抗很高,输出的阻抗很低,滤波器相当于一个电压源,其优点是电路性能稳定,增益容易调整。在集成运放同相输入之间引入一个负反馈,在不同的频段,反馈的极性不同,当信号频率ffc时(fc为截止频率),电路的每级RC电路的相移趋于-90,两级RC电路的移相到-180,电路的输出电压与输入电压的相位相反,故此时通过电容C引到集成运放同相端的反馈是负反馈,反馈信号将起着削弱输入信号的作用,使电压放大倍数减小,所以该反馈将使二阶有源低通滤波器的幅频特性高频端迅速衰减,只允许低频端信号通过。3.2参数确定使用传统的参数计算方法,要通过n阶的巴特霍斯滤波电路的传递函数分解成可用式计算Bn、Bn-1、B1,再根据试探法设定其中某个元件的参数,然后计算其余各元件的参数值,从而完成滤波电路的综合。这是一件很繁复的工作,然而已经有前人用计算机对滤波电路的构型计算了一系列的归一化表格,所以,我们再设计电路时适当查表和套用、就能够在短短的时间内迅速设计出所需要的滤波电路了。快速查表法的具体做法如下:将滤波电路的电容C的值为归一化电容,再将归一化电阻值乘以标定系数k=1/(2*pi*fc*C),其余的电容值归一化值乘以C值。其中电阻单位为千欧姆,电容为微法拉。根据实训要求,fc=18000欧姆,选定C为390皮法拉。电路元器件值如表5.1所示:增益为1R147KR130KR2135KR290KR3开路R3开路R40R40C139pfC139pf第一级第二级图表 6.13.3制板及调试3.3.1做板注意事项电路绘制的时候主要是注意各个元器件的封装和实际买回来的元器件的管脚大小及距离相对应,并有选择地采用排针作为信号的输入以及输出和直流电源的输入。元器件采用手动布局,由于该电路为信号类型电路,为了防止多种干扰,因此除了布线尽量短以外,电容和底线的布线也一定要注意,电容旁尽量少布线,地线要要尽量粗。3.3.2制作PCB板的流程设计好原理图改变封装绘制PCB板布局布线打印PCB图纸印制铜板腐蚀铜板钻孔焊接元器件测板修改电路测试(直到符合设计要求)。3.3.3注意事项(1)电阻的标称值应尽可能接近设计值,这可以适当选几个电阻串并联:尽可能采用金属膜电阻电容及容差小于10的电容,影响滤波器性能的主要因素是R/R、C/C及运放的功能。(2)在测试过程中,若某项指标偏差大,则根据设计表调整修正相应元器件的值。(3)制作板子过程中,为了节省材料,节约资源,尽量用最少的东西完成最佳的功能。所以板子元器件布局紧密。而提高抗干扰能力,布线时尽量短,少。电压放大倍数为1;在fc=15khz时,Av=0.707。3.3.4硬件调试对安装好的电路按一下方法进行调整和测试:(1)仔细检查装好的电路,确定元件与导线连接无误后,接通电源。(2)在电路的输入端Vi=1V的正弦信号,慢慢改变输入的信号的频率,用示波器观察输出电压变化。在滤波器的截止频率附近,观察电路是否具有滤波特性,若没有滤波特性,应检查电路,找出故障原因并排除之。(3)若电路具有滤波特性,可进一步进行调试。观测其截止频率是否满足设计要求,若不满足设计要求应根据公式,确定应调整哪个元件才能使截止频率既能达到设计要求又不会对其它的指标参数产生影响。然后观测电压放大倍数是否满足设计要求,若大达到要求,应根据相关公式调整相关的元件,使其达到设计要求。通过测试设计值点电路板的结果,对电路板进行修正以达到设计要求。设计指标:fc=18khz,增益为Av=1.输入信号Vi=1v 观察滤波器的截止频率fc及电压放大倍数Av。按要求理论测试结果应为:在相对低频时,如fc=1000Hz.电压放大倍数为1;在fc=18khz时,Av=0.707。3.3.5测试结果和幅频图分析测试结果显示fc=16.7khz,不符合截止频率为15khz的要求,经过多次分析,认为理论的设计的方法和实际不符。得知,假如实际的截止频率比所要求的截止频率小,则要求把电阻或者电容减小,假如实际的截止频率比要求的大,则要求把电阻或者电容增大。由于测试的截止频率比设计要求低,所以要提高它的截止频率。假定电容不变了,则电阻值RWcfc和RWcfc;可以判定原来的电路的的电阻值过大。(3) 电路测试得到的输出电压和频率关系表如Error! Reference source not found.所示:频率12345678910幅值0.9980.9920.9860.9760.9640.9460.9320.9160.8980.888频率11121314151617181920幅值0.8980.8780.8500.8360.8220.800.7560.7090.6820.644频率21222324252627282930幅值0.5800.5180.4570.4020.3580.3150.2740.2470.2080.187频率31323334353637383940幅值0.1650.1430.1300.1180.1030.09350.0850.0760.0690.064频率41424344454647484950幅值0.0580.0520.0490.0460.0420.0380.0360.0330.0310.028图表 7.1(2)频率特性曲线图如Error! Reference source not found.所示:图 8.1通过上图可知,在输入频率为17.97KHZ之前,输出的电压值大于0.707V,在17.97KHZ时输出的电压值等于0.707V,在17.97KHZ之后衰减变快,衰减速率符合设计要求,误差仅为30Hz。(3)PBC图如Error! Reference source not found.所示图 9.1(4)实际硬件图如Error! Reference source not found.所示:图表 10 .1阶段二 数据滤波器设计1 基础知识1.1数字滤波器的基本概念所谓数字滤波器,是指输入输出均为数字信号,通过一定的运算关系,改变输入信号中所含频率成分的比例,或者滤除某些频率成分的器件。1.2 MATALB及GUI介绍MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用。MATALB 可以创建图形用户界面GUI ( GraphicalUser Interface) ,它是用户和计算机之间交流的工具。MATLAB 将所有GUl 支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法,随着版本的提高,这种能力还会不断加强。而且具有强大的绘图功能,可以轻松的获得更高质量的曲线图。2 基于Matlab GUI的IIR数字滤波器设计实现 2.1 IIR滤波器的实现2.1.1 IIR滤波器设计原理滤波器的设计质上是寻找一个既能物理实现,又能满足给定频率特性指标要求的系统传输函数。IIR滤波器一般采用递归型的结构,系统的输入与输出服从N阶差分方程:(2-1)相应的传输函数为:(2-2) 设计IIR数字滤波器就是要确定传输函数中的系数、或零极点增益、A,使滤波器的频率特性满足给定的性能指标要求。2.1.2 IIR滤波器设计思想(1)将设计指标归一化处理,根据归一化频率,确定最小阶数N 和频率参数Wn。可供选用的阶数选择函数有:buttord,cheblord,cheb2ord,ellipord ,这里我选用buttord函数。(2)运用最小阶数N 设计模拟低通滤波器原型。根据最小阶数直接设计模拟低通滤波器原型,用到的函数有:butter, chebyl,cheby2, ellip 和bessel。(3)再用freqz 函数验证设计结果。2.1.3 IIR滤波器设计编程实现wp1=2*Fp1 /Fs;ws1=2*Fs1 /Fs;%求归一化频率% 确定butterworth 的最小阶数N 和频率参数Wn n,Wn=buttord(wp1,ws1,Rp,Rs);b=fir1(n,wn,w);% 确定传递函数的分母系数 h,f=freqz(b,1); %生成频率响应参数plot(f,20*log(abs(h) %画幅频响应图plot(f,angle(h); %画相频响应图2.2 其他功能实现2.2.1按钮实现编程 (1)Run按钮根据输入的参数显示设计的滤波器的幅频特性和相频特性图,其程序如下:function Run_Callback(hObject, eventdata, handles)%点击Run立即运行程序,实现滤波function play_Callback(hObject, eventdata, handles)fs=str2double(get(handles.Fsamp,String);t=1/fs;fp=str2double(get(handles.fp,String);fr=str2double(get(handles.fs,String);ap=str2double(get(handles.Ap,String);ar=str2double(get(handles.As,String);wp=2*pi*fp/fs;wr=2*pi*fr/fs;wpp=2/t*tan(wp/2);wrr=2/t*tan(wr/2);n,wn=buttord(wpp,wrr,ap,ar,s);e=num2str(n); f=num2str(wn/(2*pi); set(handles.jieshu,String,e);set(handles.jzpv,String,f);b,a=butter(n,wn,low,s);bz,az=bilinear(b,a,fs);H,W=freqz(bz,az,512,fs);A=abs(H);P=angle(H);axes(handles.axes1);plot(W,A,-b);%设置图像显示方式为蓝色三角形grid on;title(巴特沃斯数字滤波器幅度谱);xlabel(Frequency/Hz);ylabel(Magnitude);axes(handles.axes2);plot(W,P,-b);grid on;title(巴特沃斯数字滤波器相位谱);xlabel(Frequency/Hz);ylabel(Phace);(2)Quit按钮function Quit_Callback(hObject, eventdata, handles)Close2.3运行和结果显示在图形界面下, 按“ 运行” , 在Fiter Design界面,选择要设计的滤波器选项,编辑框中输人要求设计的数字滤波器的性能指标, 选择“Run”命令按钮, 出现如图所示的模拟低通原型滤波器幅频响应和相频响应曲线, 最小阶次。当选择了“Run”按钮,在“滤波器类型选择”旁的下拉菜单框中选择其他类型的滤波器会立刻出现此类型的滤波器的图形。例如选择设计IIR的Butterworth低通滤波器,其Fsamp=;Fs=1000Hz,Fp=5000Hz,Ap=1dB;As=40Db,效果图如Error! Reference source not found.所示:图表 11.1附 录程序设计:function varargout = mygude(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, mygude_OpeningFcn, . gui_OutputFcn, mygude_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end function mygude_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles); function varargout = mygude_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output; function play_Callback(hObject, eventdata, handles)fs=str2double(get(handles.Fsamp,String);t=1/fs;fp=str2double(get(handles.fp,String);fr=str2double(get(handles.fs,String);ap=str2double(get(handles.Ap,String);ar=str2double(get(handles.As,String);wp=2*pi*fp/fs;wr=2*pi*fr/fs;wpp=2/t*tan(wp/2);wrr=2/t*tan(wr/2);n,wn=buttord(wpp,wrr,ap,ar,s);e=num2str(n); f=num2str(wn/(2*pi); set(handles.jieshu,String,e);set(handles.jzpv,String,f);b,a=butter(n,wn,low,s);bz,az=bilinear(b,a,fs);H,W=freqz(bz,az,512,fs);A=abs(H);P=angle(H);axes(handles.axes1);plot(W,A,-b);grid on;title();xlabel(Frequency/Hz);ylabel(Magnitude);axes(handles.axes2);plot(W,P,-b);grid on;title();xlabel(Frequency/Hz);ylabel(Phace); function close_Callback(hObject, eventdata, handles)close function fs_Callback(hObject, eventdata, handles) function fs_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论