FIR数字滤波器文档格式.docx
- 文档编号:8198636
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:15
- 大小:194.37KB
FIR数字滤波器文档格式.docx
《FIR数字滤波器文档格式.docx》由会员分享,可在线阅读,更多相关《FIR数字滤波器文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
在电路实现中,乘法器占用的逻辑单元数较多。
乘法器的增加,意味着电路成本增加,另外对电路的工作速度也有影响。
N阶线性相位的因果FIR系统的单位冲激响应滤波器可用对称冲激响应
或者反对称冲激响应
来描述。
具有对称冲激响应的FIR传输函数的冲激响应可写成如下形式:
当N为偶数时
当N为奇数时
则FIR线性相位系统的结构可转化成如图2(a)和图2(b)所示。
图2(a)N为奇数
图2(b)N为偶数
2FIR数字滤波设计方案
随着数字技术日益广泛的应用,以现场可编程门阵列(FPGA)为代表的ASIC器件得到了迅速普及和发展,器件集成度和速度都在高速增长。
FPGA既具有门阵列的高逻辑密度和高可靠性,又具有可编码逻辑器件的用户可编程特性,可以减少系统设计和维护的风险,降低产品成本,缩短设计周期。
分布式算法是一种以实现乘加运算为目的的运算方法。
它与传统算法实现乘加运算的不同在于执行部分积运算的先后顺序不同。
简单地说,分布式算法在完成乘加功能时是通过将各输入数据每一对应位产生的部分积预先进相加形成相应部分积,然后在对各部门积进行累加形成最终结果,而传统算法是等到所有乘积产生之后再进行相加来完成乘加运算的。
与传统算法相比,分布式算法可极大地减少硬件电路规模,很容易实现流水线处理,提高电路的执行速度。
FPGA有着规整的内部逻辑块阵列和丰富的连线资源,特别适合细粒度和高并行度结构特点的数字信号处理任务,如FIR、FFT等。
利用FPGA实现FIR滤波器的设计过程,并且对设计中的关键技术——分布式算法进行详细描述。
2.1FIR滤波器的结构
FIR滤波器的结构主要是非递归结构,没有输出到输入的反馈。
并且FIR滤波器很容易获得严格的线性相位特性,避免被处理信号产生相位失真。
而线性相位体现在时域中仅仅是h(n)在时间上的延迟,这个特点在图像信号处理、数据传输等波形传递系统中是非常重要的。
此外,他不会发生阻塞现象,能避免强信号淹没弱信号,因此特别适合信号强弱相差悬殊的情况。
2.2FIR数字滤波器的设计方案:
通常采用窗函数设计FIR滤波器方法简单,但是这些滤波器的设计还不是最优的。
首先通带和阻带的波动基本上相等,另外对于大部分窗函数来说,通带内或阻带内的波动不是均匀的,通常离开过渡带时会减小。
若允许波动在整个通带内均匀分布,就会产生较小的峰值波动。
因此考虑通过某种方法,对滤波器的结构进行优化。
对于线性相位因果FIR滤波器,它的系列具有中心对称特性,即h(i)=±
h(N-1-i)。
令s(i)=x(i)±
x(N-1-i),对于偶对称,代入式
(1)可得:
设计一个输入8位,输出8位的17阶线性相位FIR滤波器,利用图2(a)的方式,其中输入信号范围为:
MATLAB设计计算滤波器系数过程如下:
FIR滤波器参数设置,因为是17阶,所以Specifyorder处填16,h(0)=0.
FIR滤波器的幅频响应
FIR滤波器的相频响应
FIR滤波器的冲激响应
FIR滤波器系数
对FIR滤波器的系数进行调整,整数化
可得FIR滤波器的参数为[-12-181329-13-521416224214-52-132913-18-12]
根据以上所说的该思路,可以将FIR滤波器的原理图设计如下:
3FIR数字滤波模块电路设计
FIR滤波器电路由以下四种模块:
寄存器、加法器、减法器、乘法器组成。
3.1寄存器
3.1.1寄存器原理
寄存器用于寄存一组二值代码,对寄存器的触发器只要求它们具有置1、置0的功能即可,因而本设计中用D触发器组成寄存器,实现寄存功能。
3.1.2寄存器要求实现的功能
在CP正跳沿前接受输入信号,正跳沿时触发翻转,正跳沿后输入即被封锁。
3.1.3寄存器的VHDL语言实现(8位)
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYdff8IS
PORT(clk:
INSTD_LOGIC;
clear:
Din:
INSTD_LOGIC_VECTOR(7DOWNTO0);
Dout:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
ENDdff8;
ARCHITECTUREaOFdff8IS
BEGIN
PROCESS(clk,clear)
BEGIN
IFclear='
1'
THEN
Dout<
="
00000000"
;
ELSIFclear='
0'
IF(clk'
EVENTANDclk='
)THEN
Dout<
=Din;
ENDIF;
ENDPROCESS;
ENDa;
其中,clear为复位信号。
3.1.4寄存器的模块图
3.1.5寄存器的波形仿真
3.2加法器
3.2.1加法器的原理
在将两个多位二进制数相加时,除了最低位以外,每一位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位3个数相加。
这种运算称为全加,所用的电路称为全加器。
多位加法器的构成有两种方式:
并行进位和串行进位。
并行进位加法器设有进位产生逻辑,预算速度较快;
串行进位方式是将全加器级联构成多位加法器。
并行进位加法器通常比串行级联加法器占用更多的资源。
随着为数的增加,相同位数的并行加法器与串行加法器的资源占用差距也越来越大,因此,在工程中使用加法器时,要在速度和容量之间寻找平衡点。
3.2.2加法器要求实现的功能
实现两个二进制数字的相加运算。
当到达时钟上升沿时,将两数输入,运算,输出结果。
3.2.3加法器的VHDL语言实现
(以下为12位数加16位数生成16位数的加法器)
USEIEEE.STD_LOGIC_arith.ALL;
ENTITYadd121616is
PORT(clk:
inSTD_LOGIC;
Din1:
insigned(11downto0);
Din2:
insigned(15downto0);
Dout:
outsigned(15downto0));
ENDadd121616;
ARCHITECTUREaofadd121616is
SIGNALs1:
signed(15downto0);
BEGIN
s1<
=(Din1(11)&
Din1(11)&
Din1);
PROCESS(Din1,Din2,clk)
ifclk'
eventandclk='
then
Dout<
=s1+Din2;
endif;
endprocess;
enda;
3.2.4加法器的模块图
3.2.5加法器的波形仿真
3.3减法器
3.3.1减法器要求实现的功能
由上面简化电路的需要,当乘法器常系数为负数的,可以取该数的模来作为乘法器的输入,其输出作为一个减法器的输入即可。
故减法器要实现两个二进制数相减的运算。
3.3.2减法器的VHDL语言实现
(以下为16位数减去14位数输出16位数的减法器)
ENTITYsub141616is
insigned(13downto0);
outsigned(15downto0));
ENDsub141616;
ARCHITECTUREaofsub141616is
=(Din1(13)&
Din1(13)&
=Din2-s1;
3.3.3减法器的模块图
3.3.5减法器的波形仿真
3.4乘法器
3.4.1乘法器的原理
常系数乘法运算可用移位相加来实现。
将常系数分解成几个2的幂的和形式。
3.4.2乘法器要求实现的功能
实现输入带符号数据与固定数据两个二进制数的乘法运算。
3.4.3乘法器的VHDL语言实现
LIBRARYieee;
USEieee.std_logic_1164.all;
USEieee.std_logic_arith.all;
ENTITYmult18is
PORT
(clk:
INSIGNED(8DOWNTO0);
OUTSIGNED(12DOWNTO0));
ENDmult18;
ARCHITECTUREaOFmult18IS
SIGNALs1:
SIGNED(12DOWNTO0);
SIGNALs2:
SIGNED(9DOWNTO0);
SIGNALs3:
P1:
process(Din)
s1(12DOWNTO4)<
=Din;
s1(3DOWNTO0)<
0000"
s2(9DOWNTO1)<
s2(0)<
='
ifDin(8)='
then
s3<
=('
&
s1(12downto1))+("
s2(9DOWNTO1));
else
1111"
P2:
PROCESS(clk)
=s3;
ENDPROCESS;
3.4.4乘法器的模块图
3.4.5乘法器的波形仿真
4FIR滤波器整体电路
FIR滤波器的整体电路如下图所示:
图4.1FIR滤波器设计顶层模块
5FIR滤波器整体电路仿真结果
5.1设定输入信号
输入信号范围是:
70,…]
我们任意设定输入信号为:
X=[99,0,0,0,70,0,0,0,99,0,0,0,70,0,0,0,99,0,0,0,70,0,0,0,99,0,0,0,70,0,0,0]
5.2输出信号理论值
由FIR数字滤波器的公式
6结论
输出结果y[n]
理论值
仿真结果
MATLAB卷积值/512
经仿真器仿真
-2.3203
-3
-3.4805
-4
2.5137
2
5.6074
5
-4.1543
-5
-12.516
-13
4.4844
4
35.289
35
42.695
41
20.734
20
7.1348
7
17.701
17
26.418
26
15.24
15
8.9121
8
24.699
24
y[0]
38.598
37
y[1]
y[2]
y[3]
y[4]
24.777
y[5]
y[6]
y[7]
y[8]
y[9]
y[10]
y[11]
y[12]
y[13]
y[14]
y[15]
y[16]
y[17]
由上面仿真波形可以读出结果。
经比较,仿真结果与输出信号理论值基本吻合,且波形基本没有毛刺。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FIR 数字滤波器