基于VHDL语言的FIR滤波器设计 第3页
图1-1 VHDL语言编程结构
(4)配置若图片无法显示请联系QQ752018766
配置语句用于指定与实体对应的结构体。语法形式为
CONFIGURATION 配置名 OF 实体名 IS
[ 说明语句];
END 配置名;
标识符——基本语法规则:以英文字母开头,其余可用数字,字母及下划线,字母不分大小写,不能以下划线结尾,不能连续出现两个两个以上下划线,避免使用保留字。
数据对象——VHDL的数据对象有SIGNAL,CONSTANT,VARIABLE和FILE四类。
SIGNAL是电子电路内部连接的抽象,在元件之间起互连作用。
CONSTANT的设置使设计实体中的常数更易阅读及修改。
VARIABLE用于对电路的高层次的算法描述中,对电路的行为功能进行建模。
FILE相当于文件指针,用于对文件的读写操作;在有关测试平台的使用时,可用文件来读激励输入和写数据输出。
数据类型——VHDL中基本数据类型分为逻辑信号,数值信号两类。逻辑信号又分为布尔代数,位及标准逻辑。数值信号分为整数和实数。
VHDL中进阶数据类型包括列举与数组数据类型两种。
VHDL表达式与运算符——VHDL运算符有算术运算符、关系运算符、逻辑运算符等等。
算术运算符:+、-、*、/、MOD、REM、SLL、SRL、SLA、SRA、ROL、ROR、**、ABS
关系运算符:=、/=、<、>、<=、>=
逻辑运算符:AND、OR、NOT、NAND、NOR、XOR、XNOR
其他运算符:+(正)、-(负)、&(并置)
VHDL的基本描述语句包括一系列并行语句和顺序语句。有的语句(如赋值语句、过程调用语句、断言语句等)既可作为并行语句又可作为顺序语句。对于顺序语句,程序执行时按语句顺序执行,而并行语句作为一个整体执行,程序执行时只执行被激活的语句。从分工上看,顺序语句主要用于实现模块的算法部分,并行语句则主要用于表示算法模块间的连接关系,可以直接构成结构体。
顺序语句——构成进程、过程和函数的基础。
主要有变量赋值语句,信号赋值语句,IF语句,CASE语句,LOOP语句,NEXT语句,EXIT语句,NULL语句,WAIT语句,RUTURN语句、ASSERT语句、REPORT语句和过程调用语句等。
并行语句——直接构成结构体,使结构体具有层次性,简单易读。
VHDL的并行语句主要有进程语句(PROCESS),块语句(BLOCK),生成语句(GENERATE),元件说明和元件例化语句(COMPONENT),信号赋值语句,并行断言语句和并行过程调用语句等。
MAX+PLUS II是美国Altera公司设计的EDA工具。利用该工具所提供的编辑、仿真、综合、编译、芯片编程等功能,可以将设计好的电路图或硬件描述语言程序转换成基本的逻辑单元写入到可编程芯片中,作成ASIC芯片。
优点:界面开放,与结构无关,丰富的设计库,模块化工具,硬件描述语言。
功能:MAX+PLUS II的编译核心支持Altera公司的FLEX 10K、FLEX 8K、MAX9000、MAX7000、 Flashlogic、MAX5000、Classic系列可编程逻辑器件;
MAX+PLUS II的设计输入、处理与校验功能一起提供了全集成化的一套可编程逻辑开发工具,可加快动态调试,缩短开发周期;
MAX+PLUS II支持各种HDL设计输入,包括VHDL、VerilogHDL 、AHDL;MAX+PLUS II可与其他工业标准设计输入、综合与校验工具链接。与CAE工具接口符合EDIF200和209、参数化模块库(LPM)、VerilogHDL、VHDL及其他标准。
使用MAX+PLUS II进行设计包括四个阶段:设计输入、设计处理、设计验证和器件编程。
设计输入:通过MAX+PLUS II图形编辑器,创建图形设计文件(.gdf);通过文本编辑器,使用AHDL语言,创建文本设计文件(.tdf);使用VHDL语言,创建文本设计文件(.vhd);使用VerilogHDL语言,创建文本设计文件(.v)。还可以通过MAX+PLUS II的波形编辑器,创建波形设计文件(.wdf)等。
设计处理:MAX+PLUS II在处理设计时,Compiler在设计文件中读取信息并产生编译文件和仿真文件,Timing Analyzer 可分析设计定时,Message Processor 可自动定位错误。Compiler的Logic Synthesize模块对设计方案进行逻辑综合并能看到真正的结果。Fitter(试配)模块应用试探法可把经过综合设计的设计最恰当的用一个或多个器件实现,生成报告文件(.rpf)。Complier中的Design Doctor 程序能检查每一个设计文件。Assemble(装配程序)模块为已编译的设计创建烧写文件(.pof)。
设计校验:设计校验包括设计仿真和定时分析两部分。作用是测试逻辑操作和设计的内部定时。
器件编程:MAX+PLUS II Programmer是使用Compiler生成的烧写文件对Altera器件进行编程的。它可以用来对器件编程、校验、检查是否空白以及进行功能测试。
数字滤波器是完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入的是一组数字量,其输出是经过变换的另一组数字量。数字滤波器具有稳定高、精度高、灵活性大等突出优点。随着数字技术的发展,用数字技术设计滤波器的功能越来越受到人们的注意和广泛的应用。
一个数字滤波器的的系统函数可以表示为:
直接由H(Z)得出表示输入输出关系的常系数线性差分方程为
若图片无法显示请联系QQ752018766
可以看出,数字滤波器是把输入序列经过一定的运算变换成输出序列。大多数普通的数字滤波器是线性非时变的(linear time-invariant,LTI)滤波器。对因果的FIR系统,其系统函数仅有零点(除z=0的极点外),并且因为系数
若图片无法显示请联系QQ752018766
上式可以认为是x(n)与单位脉冲响应h(n)的直接卷积。
数字滤波器根据单位脉冲响应h(n)的时间特性可分为无限长单位脉冲响应(IIR,infinite impulse response)数字滤波器和有限长单位脉冲响应(FIR,finite impulse response)数字滤波器两种。从离散时间域来看,若系统的单位取样响应延伸到无穷之长,称之为IIR系统,若系统的单位取样响应是一个有限长序列,则称之为FIR系统。
FIR滤波器对于IIR滤波器有许多独特的优越性,在保证满足滤波器幅频响应要求的同时还可获得严格的线性相位特性,从而保持稳定。对非线性相位的FIR滤波器一般可以用IIR滤波器来代替。由于在数据通信、语音信号处理、图像处理以及自适应处理等领域往往要求信号在传输过程中不可能有明显的相位失真,而IIR存在频率色散的问题,所以FIR滤波器获得了更广泛的应用。
FIR滤波器有直接型,级联型和频率抽样型三种基本结构,其中直接型是最常见的机构。由于本次设计是采用直接型数字滤波器结构,所以只对直接型结构做讨论。
若图片无法显示请联系QQ752018766
图3-1 直接型结构
这种结构也称为抽头延迟线结构,或称为横向滤波器结构。从上图可以看出,沿着这条链每一抽头的信号被适当的系数(脉冲响应)加权,然后将所得乘积相加就得到输出y(n)。
转置定理定义为,如果将网络中所有的支路方向倒转,并将输入x(n)和输出y(n)相互交换,则其系统函数H(Z)不变。将转置定理应用于上图,就可以得出FIR的转置直接型。
若图片无法显示请联系QQ752018766
图3-2 转置直接型结构
在许多应用领域,例如通信和图像处理中,在一定的频率范围内文持相位的完整性是一个期望的系统属性。
可以证明,如果FIR滤波器的单位取样响应h(n)为实数,而且满足线性相位条件,则滤波器的单位取样响应h(n)满足以下两个条件之一:
偶对称 h(n)=h(N-1-n),
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页