基于CPLD技术实现数字滤波_第1页
基于CPLD技术实现数字滤波_第2页
基于CPLD技术实现数字滤波_第3页
基于CPLD技术实现数字滤波_第4页
基于CPLD技术实现数字滤波_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、SfisSTG f O i文章编号:1002-8684(2004)04-0034-03器件与电路基于CPLD技术实现数字滤波黄智勇,扬永明,吴胜勇,安敏(重庆大学电气工程学院电工理论与新技术系,重庆400044)电路设计【摘要】对传输系统中的噪声和键盘的抖动进行了分析,采用复杂可编程逻辑器件(CPLD)来实现对噪声的滤除,并且在应用于实际电路中,取得了预期的效果。【关键词】复杂可编程逻辑器件;噪声;滤波【中图分类号】TN713+.7【文献标识码】BDigitalFilteringBasedonCPLDHuangZhi-yong,YANGYong-ming,WuSheng-yong,AnMin(

2、CollegeofElectiicalEngineeiing,ChonggingUniveisity,Chongging400044,China)【Abstract】Inthisthesiswehaveanalysecthenoiseofthetiansmissionsystemancthetiemblingofthekey-boaic,iealizecthefiltiationofthenoisewithCPLDancachievecexpecteciesultsinthepiacticalciicuits.【KeyWords】CPLD;noise;filtiation1概述在应用系统设计中

3、,噪声的处理是个难度较大的系统,无论是在信号线中的传输过程还是在交换机中处理的过程,都会或多或少地引入外界噪声,这就很容易使交换机在处理数据时出现误操作,因此在处理数据前要将语音信号进行滤波处理,即设计出一种精确度高,稳定性好的数字滤波电路对待处理的语音信号进行滤波。整个数字滤波结构如图1所示。问题,信号源、传输线都会不同程度地引入噪声,而诸如单片机、A/D转换器这些常用器件又都对噪声很敏感,这就使系统稳定性受到一定影响。对噪声的滤除一般有模拟滤波和数字滤波两种方法。采用模拟滤波方法,就是采用RC或RL电路,通过调节其参数达到指标要求,在实际应用中如果需要改变滤波频带,则需要通过更换相应元件参

4、数才能达到要求,而模拟电路本身就很容易受到外界干扰,在设计滤波电路的同时有可能引入更多的噪声,往往很难达到预期的指标。随着数字技术逐渐在电路设计中占核心地位,越来越多的开发者更愿意选择数字滤波方法。在数字化、集成化的今天,各种数字芯片本身的设计都已能很好地屏蔽外界的干扰,因此开发者只需考虑如何编写软件来实现系统功能。用数字方法设计出来的电路调节容易,重复设计方便,产品可靠性高,其优势是模拟电路所不能比的。笔者用复杂可编程逻辑器件(CPLD)设计数字滤波电路,在MAX+PLUS!软件编译环境下,用VHDL编写了核心程序,在设计语音教学系统中分别实现了对传输系统中噪声的滤除以及对键盘抖动的消除。对

5、任意输入的带噪声信号,先检测该信号的跳变沿,然后用一高频时钟信号对它将要保持的电平状态进行计数。另外要设定一个噪声的最大电平宽度,如认为宽度小于1"s的信号为噪声,如果用5MHz的时钟信号计数5次,信号状态不改变,就认为它是有用信号,并将它锁存;否则为噪声去掉。实现如图2所示。噪声有正跳变和负跳变2种形式,图中HZY_SSY和HZY_XJY分别构成正和负边沿触发器。对于HZY_SSY,一旦检测到信号的正跳变,!就被置为高电平;同样,HZY_XJY实现了对负跳变信号的检测。而!和"的清零将由信号#实现。HZY_ZXO5实现了对!和"2个输入通道的选择。这里重点对功能

6、计数器进行探讨,以下是功能计数器的VHDL程序描述。libiaiyieee;2信号传输中的噪声的滤除语音信号传送给客户端,中间要经历复杂的传输#电声技术!""#$"#$useieee.stc_logic_ll64.all;useieee.stc_logic_unsignec.all;entityhZy_lbispoit(clk,cli,f,azinstc_logic;C,Zzoutstc_logic);enc;aichitectuielbofhZy_lbissignalacczstc_logic_vectoi(3cownto0);signalmzstc_logic

7、;beginif(cli='0')thenacc<=0000;Z<='0'elsif(clk'eventancclk='l')thenif(f='l')thenif(a=notm)thenif(acc=9)thenZ<='0'acc<=0000;C<=notm;m<=notm;elseacc<=acc+l;Z<='l'encif;elseacc<=0000;encif;elseacc<=0000;Z<='l'e

8、ncif;encif;encpiocess;enc;功能计数器在f为高电平时对信号acc进行计数,如果a在计数l0次后仍能保持初始状态,就将a的初始状态赋给g。否则就将acc置零,输出不做任何操作,这样实现了对噪声的滤除。图3为传输系统滤波的仿真波形。在仿真波形中,clk的时钟周期选为250ns,计数值为l0,即定义电平宽度小于2.5!s的信号为噪声。a为输入带有噪声的信号,g为滤波后的输出信号,z为每次计数完成后对边缘触发器进行清零的反馈信号,仿真波形显示了在经过滤波处理后输出的信号g完全滤除了噪声,它与器件与电路EF STG F O输入信号a相比,延迟时间(除去CPLD芯片内部延迟以外)只

9、有2.5!s,也正好是程序中设定的噪声的最大宽度,这样通过修改程序即可满足设计的需要。图4是程序配置到电路中后用示波器测出的波形。从实际波形可以看出对于传输系统中产生的噪声,电路做到了完全的滤除。输入信号滤波后的输出信号图4信号传输中的滤波效果3键盘抖动噪声的消除对于一般的机械式键盘,在操作时很容易出现在信号触发边沿抖动的现象,如图5所示。笔者通过键盘输入指令实现对数据传输控制,由于键盘的灵敏度很关键,抖动现象会造成系统响应错误指令,最终造成数据的传输错误,因此必须消除键盘抖动的干扰。按键抖动干扰的消除采用了一种更为简便的设计方法,它在速度以及资源的节省上有相当大的优势。笔者的做法是将输入的按

10、键信号进行2次延时,输出信号分别为nl和n2,将nl和n2接入模块CF进行处理,其输出g即可作为按键控制信号实现对数据传输的控制,如图6所示。模块CF的真值表见表l。当A=l和B=l时,代表连续2次对按键信号a的采样都为高电平,说明此时得到有用信号,输出 为l;当A=l和B=0,或nl=0和n2=l时,代表连续2次采样,有一次不为高电平,说明这是由于抖动引起的跳电声技术!""#$"#"SfisSTG f O i器件与电路表lCF的真值表变,模块不动作,输出O维持原来的状态;当A=0和B=0的时候,代表连续2次采样值都为0,说明此时按键没有做任何操作,输出

11、O为0。以下是采用VHDL对编程处理过程的描述。libiaiyIEEE;useieee.stc_logic_ll64.all;useieee.stc_unsighec.all;useieee.stc_logic_aiith.all;entitycfispoit(a,b:instc_logic;enc;aichitectuiebeavofcfissignalt:stc_logic;beging<=t;t<='l'when(a='l'ancb='l')elsetwhen(a='l'ancb='0')else

12、twhen(a='0'ancb='l')else'0'when(a='0'ancb='0')else'0'enc;g:outstc_logic);该滤波电路的特点是速度快、延迟小、消耗资源少,总共只耗费4个逻辑单元,这对于消除键盘的抖动,防止误操作,保持按键实时处理有很好的效果。图l0为将该程序配置到电路中后用示波器测出的波形。从实际测出的波形可以看出,键盘产生的抖动得到了完全的消除,而且延迟的时间也很短,使键盘可以做到实时控制。输入信号输出信号对整个电路进行仿真,得到如图7所示波形。从图7的波形可

13、看出,如果对模块CF的输出不加任何处理而直接进行仿真,会出现频率极高的抖动,这样的抖动对于数据传输控制同样会引起错误的操作,因此对电路略做改进,如图8所示,仿真结果见图9。由于D触发器本身具有对高频噪声的不敏感性,直接在模块CF的输出端加了一个D触发器,从仿真波形可以看出,高频的抖动完全消失了,此时输出的信号g可以直接用于电路中实现对数据传输的控制。图l0键盘抖动的滤除效果4结论根据不同噪声特征,笔者设计出了2种数字滤波电路,节省了CPLD芯片资源。该设计已成功地应用于语音教学系统(国家创新基金项目)中,长时间的测试表明确实有效地滤除了系统中的噪声。(下转第!"页)"电声技

14、术!""#$"# W FBATG G别计算,层1用公式(12XBitrate/Samplerate+Paccing)X32/8,层2和层3用公式1152/8XBitrate/SamplerateSamplerate+Paccing。其中Bitrate是码率,是采样率,两者之比是每个采样样本的比特数,对于层1来说每帧有384个样本,共分32个子带,每个子带12个样本,层2和层3共有1152个样本,Paccing填充字表示数据中是否含有附加槽(slot),之后换算成字节数就要除以8。为避免误码造成帧长计算陷入死循环,文件指针每跳转到新的一帧,都要对同步字进行检查。如果

15、同步字不正确,那么就跳出循环,转到寻找下一帧的数据块。这是由于MPEG-1的同步字是12个1,按照16进制表示是FFF,在数据块内也可能出现FFF,所以一旦帧长计算错误,之后再寻找新的帧同步字应根据多个条件加以判断,而不能仅利用同步字,以防止新的一帧误判。4.2CRC实验表明用前述方法对MPEG-1层2音频流进行校验总是有误。实际上ISo/IEC11172-3规定层2的CrC校验码是针对allocationchsb和scfsichsb两部分数据。前者表征各子带的比特分配,后者是各子带的比例因子选择信息(scalefactorselectioninforma-tion),用来通知解码器是否需要以

16、及如何共享比例因子,标准中将各子带等分为3部分,每个部分对应于12个样本值,它们之间的关系参看表1。在编码过程中,当allocationchsb为0时,就不必对相应的scfsichsb再编码,在11172-3标准中定义,只有当allocationchsb不为0的时候才将scfsichsb编到码流中,因为如果allocationchsb为0,即它所对应的子带在码流中不占用任何字节,就没有比例因子,所以scfsichsb就成为冗余,不需要编码,这样能够达到压缩码流的目的,而附录所列是全都编码(也就是allocationchsb都不为0)时,两者所占用的比特数,实际音频流一般含不同情况,所以出现错误

17、。因此对层2音频流进行CrC时,首先要按附录3表3-B.2“LAY-ErIIBITALLoCATIoNTABLES”中的比特分配对allocationchsb作出判断,有多少个allocationchsb(上接第36页)参考文献1卢毅等.2002.(PLD)原理与应用.北京:电2宋俊德等.可编程逻辑器件子工业出版社,1994.VHDL与数字电路设计.北京:科学出版社2网络与多媒体表1各子带的比例因子选择信息为0,码流中就少了多少个scfsichsb,之后根据ISo/IEC11172-3附录3B的表3-B.5中查找得到的总校验位数减去这些scfsichsb所占用的位数,就得到被校验的位数,只对相

18、应的数据进行CrC。4.3DolbyAC-3音频帧前5/8的确定AC-3音频流CrC需确定前5/8帧的长度,对此有2种结果相同的方法。一种是通过整个帧的长度来计算(int()framelength>>1)+(int)(framelength>>3),用整个帧长的1/2取整数再加上整个帧长的1/8取整数得到),另一种是根据整个帧的长度来查表。该软件采用第一种方法,实验证明校验结果正确。5结束语重点总结了编制音频压缩码流分析软件中遇到的一些问题及其解决方法。实验表明,该软件能对MPEG-1各层和DolbyAC-3音频流正确进行CrC,进而提取帧头部信息,给出分析结果。该软件

19、对研究数字音频编码、检验音频流的正确性,有一定的实用价值。参考文献1ISo/IEC11172-3.CocingofMovingPicturesancAs-sociatecAucioforDigitalStorageMeciaatuptoAbout1.5Mbit/sPart3:Aucio.1992.ATSCStancarcDoc.A/52.DigitalAucioCompression(AC-3).1995.作者简介王立,硕士研究生,研究领域为数字视频与多媒体技术.李桂苓,教授,博士生导师,从事信号与信息处理、数字视频与多媒体技术教学、科研工作.收稿日期2003-11-05!3谢嘉奎.电子线路.北京:高等教育出版社,1999.4林敏等.VHDL数字系统设计与高层次综合.北京:电子工业出版社,2001.收稿日期2003-11-08!电声技术!""#$"#"基于CPLD技术实现数字滤波作者:作者单位:刊名:英文刊名:年,卷(期):被引用次数:黄智勇, 杨永明, 吴胜勇, 安敏重庆大学,电气工程学院

温馨提示

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

评论

0/150

提交评论