基于LabVIEW的多功能滤波器设计_第1页
基于LabVIEW的多功能滤波器设计_第2页
基于LabVIEW的多功能滤波器设计_第3页
基于LabVIEW的多功能滤波器设计_第4页
基于LabVIEW的多功能滤波器设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

电子系统设计与测试设计报告电子系统设计与测试设计报告学 号 姓 名 肖飞 同组人(左文壮) 班 级 电子Q0841 指导教师 田 浩 老师 电子工程系评分页评分项满分值实际值总分设计任务(一)整体思路及效果15前面板设计10框图程序15设计报告10设计任务(二)设计思路10作品实现程度15电路设计15设计报告10作品成绩100设计任务书【设计题目】基于LabVIEW的多功能滤波器设计【设计目的】1.锻炼综合运用知识的能力。通过查阅资料,能独立进行虚拟仪器小系统的设计。2.加深对各种滤波器的认识,并对各滤波器的滤波特性有一个更加全面的了解。【设计指标与要求】功能指标要求:各种数字滤波器频率响应特性,及各种数字滤波器性能比较。 比如:1.可以调节滤波器的高、低频截止频率,选择滤波器类型;2.输入一个公式信号波形(参数可调),可显示滤波前后的信号波形,可对其进行信号频谱等分析。前面板要求: 1.仪器操作均在前面板进行; 2.仪器操作方便,人性化设计; 3.前面板美观大方。后面板要求: 1.设计思路简洁; 2.功能完善,达到设计要求; 3.布线合理,便于查看。【作品提交要求】1.给出前、后面板设计图;2.写出设计思路和控件采用理由;3.写出系统调试测试报告;4.写出设计心得。 正文一 关于数字滤波器1.1 数字滤波器概述滤波器是一种使有用频率信号通过同时抑制(或大为衰减)无用频率信号的装置。工程上常将它用于信号处理、数据传送和抑制干扰等。数字滤波器是数字信号分析中的重要组成部分,它的输入和输出信号都是离散的,与模拟滤波器相比,它具有准确度和稳定性高,系统函数容易改变,灵活性高等优点,因而数字滤波器在工程中得到了广泛的应用2。数字滤波器有多种分类,按频率特性分类可以分为:高通、低通、带通、带阻;按数字滤波器冲激响应的时域特征分类可以分为:有限冲激响应滤波器(finite impulse response, FIR)和无限冲激响应滤波器(infinite impulse response, IIR)。FIR 滤波器的冲击响应h(n) 是有限序列,IIR 滤波器的冲击响应h(n) 是无限序列的。数字滤波器的差分方程可以用下式表示:式中, x(n) 为输入序列, y(n) 为输出序列, k a 、k b 分别为输出、输入序列的系数。数字滤波器对应的传递函数为:当k a 不全为0 时,为IIR 滤波器;当k a 全为0 时,为FIR 滤波器。从性能上看,FIR 滤波器和IIR 滤波器各有优点:FIR 滤波器可以得到严格的线性相位;但是需要较多的存储器和较长的运算,成本比较高,信号延时也较大。IIR 滤波器可以用较少的阶数获得很高的选择特性,所用存储单元少,运算次数少,效率高的优点;但是相位是非线性的,且选择性越好其相位非线性越严重3。1.2 数字滤波器的传统设计方法数字滤波器的传统设计过程可归纳为以下三个步骤:(1)按照实际需要确定滤波器的性能要求。(2)用一个因果稳定的系统函数(即传递函数)去逼近这个性能要求。此函数可以分为两类:即IIR 传递函数和FIR 传递函数。(3)用一个有限精度的运算去实现这个传递函数。FIR 滤波器设计实质是确定能满足要求的转移序列或脉冲响应的常数,设计方法主要有窗函数法、频率采样法和等波纹最佳逼近法等。目前,FIR 滤波器设计没有封闭的设计公式。虽然窗函数法对窗口函数可给出计算公式,但计算通带与阻带衰减仍无计算公式。FIR 滤波器的设计只有计算程序可循,因此对计算工具要求较高,不用计算机编程一般很难实现。IIR 滤波器的设计源于模拟滤波器设计,它通过对低通滤波器进行模拟频率变换得到。常用的IIR 滤波器有巴特沃斯滤波器、切比雪夫滤波器、切比雪夫滤波器、椭圆滤波器和贝塞尔滤波器。目前,IIR 滤波器的设计可以借助模拟滤波器的成果,有封闭形式的设计公式,对计算工具的要求不高。IIR 滤波器的设计虽然简单,但脱离不了模拟滤波器的设计模式,主要用于设计低通、高通、带通及带阻滤波器。而FIR 滤波器的设计要灵活得多,尤其是频率采样设计法更易适应各种幅度特性和相位特性的要求。1.3 基于LabVIEW 的数字滤波器设计1)LabVIEW 简介LabVIEW 是NI(National Instrument,美国国家仪器)公司推出的一种基于G 语言的虚拟仪器(virtual instrument,VI)开发工具。LabVIEW 编程使用图形化语言,它是非计算机专业人员使用的工具,它为设计者提供了一个便捷、轻松的设计环境,因此,LabVIEW 在世界范围内的众多领域如航空、航天、通信、电力、汽车、化学等领域得到广泛应用4。LabVIEW 有两个基本窗口:前面板窗口和流程图窗口。编译环境下显示两个窗口,前面板用于放置控制对象和显示对象,控制对象相当于常规仪器的控制和调节按钮;前面板用于显示程序运行结果,相当于常规仪器的显示屏幕或指针。流程图窗口用于编写和显示程序的图形源代码,它相当于语言编程中一行行的语句,它由各种能完成一定功能的模块通过连线连接而成。当编写的LabVIEW 程序调试无误后,可将程序编译成应用程序(EXE 文件)。此时,设计的虚拟仪器可以脱离LabVIEW 开发环境,用户只需通过前面板进行控制和观测。2 )LabVIEW 中的数字滤波器利用文本软件设计实现的滤波器在使用过程中往往出现难以调整波形系数,与硬件接口程序复杂,开发周期长等问题。而使用LabVIEW 设计的滤波器不仅设计简单,而且使用起来要比利用文本文件实现的滤波器方便得多。LabVIEW 为设计者提供了FIR 和IIR 滤波器VI,使用起来非常方便,只需要输入相应的指标参数即可,不需要进行复杂的函数设计和大量的运算。滤波器VI 位于LabVIEW 流程图面板的FunctionAnalyzeSignal ProcessingFilters 上。不同滤波器VI 滤波时均有各自的特点,因此它们用途各异。在利用LabVIEW 实现滤波功能时,选择合适的滤波器是关键,在选择滤波器时,可参照不同滤波器的特点,考虑滤波的实际要求来选择合适的滤波器5。各种滤波器的特点及选择滤波器的步骤见图1。图1 滤波器选择步骤二 设计原理与方案2.1 信号输入部分:方案一:直接采用波形生成或信号生成中的正弦信号及噪声信号组成输入信号。方案二:采用的是波形生成中的公式波形,然后加入波形生成中的高斯白噪声。但在两信号相加后输出频谱时连不上。因为输入的是二维数组,要加一个转至动态数据的控件,转化为单一波形。亦可采用信号生成中的高斯白噪声。方案三:采用公式信号产生输入信号。因为要求中是输入一个公式信号波形(参数可调),并且每种方案我都试过,方案三简单些。因此采用方案三。2.2 滤波器部分:方案一:采用波形调理中的数字IIR滤波器和数字FIR滤波器进行滤波。方案二:采用滤波器中的单个IIR滤波器和FIR滤波器逐次进行滤波。因为方案一滤波参数设置经常遇到问题,因此采用用方案二。2.3 显示部分:开始显示了幅度谱和相位谱,观察发现相位谱很乱,便舍弃了只用了幅度谱.三 模块设计3.1 信号输入模块的设计采用公式信号波形,公式通过字符串编辑不同的公式以便采用。幅值固定。频率参数设置FS2F,而采样点数N也不宜过大。3.2 滤波器的选用采用了滤波器中的巴特沃斯滤波器,切比雪夫滤波器,椭圆滤波器,贝塞尔滤波器,加窗FIR滤波器。3.3 滤波环节的设计采用选择结构逐个用不同的滤波器进行滤波。滤波参数设置采用簇对其进行控制。0FLFH EndAddr) break; if(SACM_DVR_Status()&0x01)=0 | Key_Get()=KEY_3)/ 如果播放完毕或Key3键按下则停止 SACM_DVR_Stop();/ 停止播放 break; else SACM_DVR_Decoder();/ 数据解码/=/ 语法格式:void Record(void);/ 实现功能:录制声音/ 参数:无/ 返回值:无/=void Record(void)unsigned int Addr;unsigned int Ret;for(Addr=START_ADDR;AddrEND_ADDR | Key_Get()=KEY_3)/ 如果到达尾地址或Key3键按下则结束录音Flash_WriteWord(START_ADDR, Addr-1);/ 录音结束地址保存在START_ADDR中SACM_DVR_Stop();/ 停止录音break;if(Addr END_ADDR)/ 如果是空间被录满导致的录音结束则播放录音PlayRecord();void init()*P_IOB_Data = 0x0000; /设置IOA0IOA15端口为带下拉的低电平输入*P_IOB_Dir = 0x0000;*P_IOB_Attrib = 0x0000;void delay(unsigned int a)unsigned int i,j; for(j=0x0000;j0xffff;j+) for(i=0x0000;ia;i+) *P_Watchdog_Clear = 0x0001; /请看门狗 /i = 0x0000; /=/ 语法格式:int main(void);/ 实现功能:主函数/ 参数:无/ 返回值:无/=int main()unsigned int KeyCode;init();Key_Init();/ 初始化按键扫描程序while(1)KeyCode = Key_Get();switch(KeyCode)case KEY_1:/ Key1键按下则录音Record();break;case KEY_2:/ Key2键按下则放音PlayRecord();break;default:break;*P_Watchdog_Clear = 0x01;if(*P_IOB_Data=0x0002)delay(75);/*for(j=0x0000;j0x0010;j+) for(k=0x0000;k0xffff;k+);*P_Watchdog_Clear = 0x01;if(*P_IOB_Data=0x0002)for(j=0x0000;j0x0005;j+) for(k=0x0000;k0xffff;k+);*P_Watchdog_Clear = 0x01;*/if(*P_IOB_Data=0x0002)/delay(20);PlayRecord();KeyCode = Key_Get();switch(KeyCode)case KEY_1:/ Key1键按下则录音Record();break;case KEY_2:/ Key2键按下则放音PlayRecord();break;default:break;*P_Watchdog_Clear = 0x01;5、调试过程在调试过程中,开始接入+5V的电源,2脚输出端的电压没有变化,然后我们重新检查电路将各个支路改好后,再次调试,出现输出断电压不稳定,在05V之间来回跳动,说明电路不稳定,我们将我们的电路修改了一下,换了几个电容,直到电路输出电压稳定。通过查资料,我们知道3脚和6脚两端的电阻和录放音的时间延迟有关需要使用小阻值的电阻,我们换用了两个25欧姆的电阻使之达到比较好的效果。6、测试结果通过调试得到了要求所需要实现的功能,在人走近是播放音乐,人离开时停止播放,但是在人走近播放时会有一分钟左右的时间延迟,人在那时每段音乐之间会有1

温馨提示

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

评论

0/150

提交评论