新闻中心

EEPW首页>模拟技术>设计应用> IIR数字滤波器的Matlab和FPGA实现

IIR数字滤波器的Matlab和FPGA实现

作者: 时间:2011-07-11 来源:网络 收藏



2实现
2.1 总体设计方案
根据上述参数计算可知,需要设计的滤波器为2个二阶节的系统级联形式,其二阶节系统函数的差分方程均为:
g.JPG
可以看出,一个二阶节的实现,需要五次乘法运算、四次加法运算(采用二进制补码将减法运算变为加法运算),两个二阶节共需要10次乘法运算,所有乘法运算均为无符号数的乘法运算,所以使用时需要先将两个补码乘数转换为无符号数相乘后,再将乘积转换为补码乘积输出,送入累加器求和。根据以上设计思想可知,一个二阶节系统均由控制模块、移位模块、求补模块、乘法模块和累加器模块等模块组成,其系统电路框图如图2所示。

h.JPG


由于滤波器的两个节系统电路结构完全相同,只是系数不同,故另一个二阶节的设计与此类似。
2.2 主要功能模块的设计
控制模块主要用来产生对其他模块的时序控制。
累加模块的功能是将10位×1位乘法器的5个输出数据在10个时钟周期内累加后,并将结果输出。
移位模块主要完成数据交换功能,将输入数据送入输入寄存器x(n)中,同时将x(n)寄存器上一时刻的数据送入x(n-1)寄存器,同时又将x(n-1)寄存器上一时刻的数据送入x(n-2)寄存器。同理有y(n)→y(n-1)→y(n-2)。
求补模块主要根据每路乘法器2个输入数据的补码,判断输入数据的正负,设置该路乘积结果正负标志位,并对输入的负数进行求补运算,保证乘积是在2个无符号数之间进行,再根据该路乘积结果正负标志位,对乘积结果进行求补运算,保证送入累加器的数据为补码。
将设计好的各模块按照二阶节系统电路框图衔接,即可完成IIR滤波器其中一个二阶节系统的设计。只要修改差分方程的系数就可完成另一个二阶节系统的设计。
2.3 仿真结果
各功能模块设计、调测完成之后,按照总体设计方案完成IIR滤波器的实现,并下载到Altera公司的EP1C6Q240C8器件上验证,QuartusⅡ中的仿真结果如图3所示。

a.JPG


图3中:xn为输入信号,采用单极性方波周期信号;频率为100 kHz,在采样频率为2 MHz时,每个周期采样20个点,换算成数字域频率为0.1π;二次谐波的数字频率为0.2π;yn为滤波输出。观察仿真波形可知,所设计的IIR滤波器符合设计要求。为了更直观地观察IIR滤波器滤波后的输出结果,可将仿真波形文件转换为*.tbl文件,在中描绘波形。

3 结语
的应用十分广泛,实现方法很多,运用语言,能很容易地设计出具有严格指标要求的。采用器件实现数字滤波器的方法,大大缩短了设计周期,降低了成本,提高了设计的可靠性、灵活性,为数字滤波器的设计与实现提供了一种有效的方法。

电源滤波器相关文章:电源滤波器原理


数字滤波器相关文章:数字滤波器原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭