Keyword: VHDL language;FIR (Finite Impulse Response) Digital Filter Design ;MAX+PLUSII software
几乎在所有的工程技术领域中都会涉及到信号的处理问题,其信号的表现形式有电、磁、机械、以及热、光、声等。信号处理的目的一般是对信号进行分析、变换、综合、估值与识别等。如何在较强的噪声背景下提取出真正的信号或信号的特征,并将其应用于工程实际是信号处理的首要任务。
数字滤波是提取有用信息非常重要、灵活的方法,是现代信号处理的重要内容。因而在数字通信、语音图像处理、谱分析、模式识别、自动控制等领域得到了广泛的应用。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,而且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛。同时FPGA和CPLD的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。
相对于模拟滤波器,数字滤波器具有以下显著优点:
(1)精度高:模拟电路中元件精度很难达到
(2)灵活性大:数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。
(3)可靠性高:因为数字系统只有两个电平信号:“1”和“0”,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度,振动,电磁感应等影响。并且数字滤波器多采用大规模集成电路,如用CPLD或FPGA来实现,也可以用专用的DSP处理器来实现,这些大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低。
(4)易于大规模集成:因为数字部件具有高度的规范性,便于大规模集成大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格,因此产品的成品率高,价格也日趋降低。相对于模拟滤波器,数字滤波器在体积,重量和性能方面的优势已越来越明显。比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好的实现,这时候若采用数字滤波器则方便的多。
(5)并行处理:数字滤波器的另外一个最大的优点就是可以实现并行处理。
从数字滤波器的单位冲击响应来看,可分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。IIR滤波器系统函数的极点可以位于单位圆内的任何地方,因此可以用较低的阶数或得较高的选择性,所用的存储单位少,经济而效率高,但是系统函数的极点也可能位于单位圆外,可能会引起系统的不稳定。同时IIR滤波器的相位是非线性的,且它的选择性越好,相位的非线性就越严重。相反FIR滤波器却可以得到严格的线性相位,然而由于FIR滤波器的系统函数的极点固定在原点,所以只能用较高的阶数来实现其高选择性,对于同样的滤波器设计指标,FIR滤波器所要求的阶数要比IIR高5至10倍,所以成本较高,信号延迟也比较大。但是如果要求相同的线性相位,则IIR滤波器就必须加全通网络进行相位校正,同样也要增加滤波器网络的节点和复杂性。FIR滤波器可以用非递归的方法实现,在有限精度下不会产生振荡,同时由于量化舍入以及系数的不确定性所引起的误差的影响要比IIR滤波器小的多,并且FIR滤波器可以采用FFT算法,运算速度块。但是不象IIR滤波器可以借助模拟滤波器的成果,FIR滤波器没有现成的计算公式,必须要用计算机辅助软件(如MATLAB)来计算。由此可知,FIR滤波器应用比较广,而IIR滤波器则用在相位要求不是很严格的场合。
滤波器从功能上分又可分为如下4类:
(1)低通滤波器(LPF);
(2)高通滤波器(HPF);
(3)带同滤波器(BPF);
(4)带阻滤波器(BSF)。
随着EDA技术的发展,使用硬件语言设计PLD/FPGA成为一种趋势。目前最主要的硬件描述语言是VHDL和Verilog HDL。 VHDL发展的较早,语法严格,而Verilog HDL是在C语言的基础上发展起来的一种硬件描述语言,语法较自由。
VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)是美国国防部为其超高速集成电路研究计划提出的硬件描述语言,作为各合同商之间提交复杂电路设计文档的一种标准方案.
作为EDA的重要组成部分,VHDL提供了借助计算机进行数字系统设计的一种很好的手段.VHDL设计硬件描述能力很强,可以用于从门级、电路级直至系统级的描述、仿真、综合和调试。利用VHDL丰富的仿真语句和库函数对大系统,在设计的早期可在远离门级的高层次上进行模拟,以利于设计者确定整个设计的结构和功能的可行性。VHDL强大的行为描述能力和程序结构,是其具有支持对大规模设计进行分解,以及对已有的设计进行再利用的功能。运用VHDL设计系统硬件具有相对独立性,设计时没有嵌入与工艺有关的信息,对硬件的描述与具体的工艺技术和硬件结构无关。当门级或门级以上的描述通过仿真检验以后,再用相应的工具将设计映射成不同的工艺,这使硬件实现的目标器件有很宽的选择范围,并且修改电路与修改工艺相互之间不会产生不良的影响。VHDL标准、规范,语法较为严格,采用VHDL的设计便于复用和交流,VHDL所具有的类属描述语句和子程序调用等功能,使设计者对完成的设计,不必改变源程序,只需改变类属参数或函数,就可改变设计的规模和结构。
完整的VHDL程序通常包括实体、结构体、配置、程序包和库五个部分。其基本结构如图1所示:若图片无法显示请联系QQ752018766
(1)库和程序包部分
库用于存放编译过的VHDL设计单元(实体说明、结构体、配置说明、程序包说明和
程序包体等),这些设计单元可做其他VHDL描述的资源而被引用。
用户编写设计单元时可访问多个库;也可将编写的设计单元加入库中,供别的设计单元访问。访问某个库,引用所需设计单元,可用LIBRARY语句把库打开,其格式为
LIBRARY 库名表;
VHDL的库分为预定义库和资源库两种。预定义库对所有的设计单元都隐含地打开,不必用LIBRARY语句显式的打开。VHDL中有Std 和Work两个预定义库。这两个之外的库成为资源库,必须用LIBRARY语句显式地打开才能被引用。
程序包用于存放已定义的常数、数据类型、元件说明、子程序等,以便被更多的设计实体访问和共享。程序包语句格式为
PACKAGE 程序包名 IS
说明部分
END 程序包名;
PACKAGE BODY 程序包名 IS
说明部分
END 程序包名;
(2)实体部分
实体说明是对设计模块的输入输出断口进行描述,它给出设计模块与外界的接口。格式为:
ENTITY 实体名 IS
PORT(
端口信号名称1:输入/输出状态 数据类型;
端口信号名称2:输入/输出状态 数据类型;
···
端口信号名称N:输入/输出状态 数据类型
);
END 实体名;
(3)结构体
结构体用语描述设计实体的逻辑功能或内部电路结构,从而确定设计实体输出与输入之间的逻辑关系。结构体格式如下
ARCHITECTURE 结构体名 OF 实体名 IS
[说明语句]
BEGIN
[并行功能描述语句];
END [结构体名];若图片无法显示请联系QQ752018766
对结构体的常用描述方式有行为描述,数据流描述和结构描述。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页