17、高速低功耗有限脉冲响应滤波器的分析与设计

高速低功耗有限脉冲响应滤波器的分析与设计

1. FIR滤波器基础

FIR(有限脉冲响应)滤波器在数字信号处理中至关重要。若一个“1”信号样本后跟随多个“0”样本,当“1”样本通过滤波器的延迟线后,结果将为0。由于FIR滤波器无反馈,其脉冲响应是有限的,即便引入反馈,它仍是FIR滤波器且脉冲响应依旧有限。

FIR滤波器结构包含一系列延迟环节,随后是一组乘法器和加法器。乘法器是FIR滤波器的关键组件,可减少计算阶段并提升整体性能。常见的乘法器有四种:Wallace树乘法器、Dadda乘法器、Baugh Wooley乘法器和Booth乘法器。其中,Wallace树和Dadda乘法器属于并行架构,适用于对计算速度要求高于功耗的应用场景。不过,Booth乘法器存在功耗高、占用面积大的问题,因其电路复杂度较高。

为优化乘法器的设计参数(如功耗、速度和延迟),常使用压缩器。压缩器能降低功耗,减少部分积求和的延迟,常见的压缩器有3:2、4:2、5:2、5:3和7:3等类型,其中4:2压缩器拓扑结构因级联时的规则性而更受青睐。

加法器也是FIR滤波器的主要组成部分,计算速度是设计者关注的重点。根据空间使用、功耗和加法器延迟等标准,可选择不同类型的加法器。如今,并行前缀加法器(PPA)是执行高效加法最快的加法器,它基于前缀操作,使二进制加法变得简单,其源头是进位前瞻加法器。并行前缀加法器能提高FIR滤波器的速度,因其操作以并行方式进行,且具有延迟小、功耗低的特点。

2. 相关工作回顾

在信号处理应用中,曾采用基于基数 - 8的改进Booth乘法器,并结合进位前瞻加法器算法提升其性能,但Booth乘法器在处理孤立“1”时效率低,且难以实现并行乘法器。

也有利用细粒度无缝流水线实现FIR滤波器的硬件架构,采用Wallace树乘法器和纹波进位加法器,但纹波进位加法器无法同时使用所有全加器。

还有使用Dadda乘法器实现FIR滤波器的案例,不过Dadda乘法器规则性较差、复杂度高,且在早期阶段减少的比特数较少。

此外,有通过稀疏滤波器实现无位级乘法器的FIR滤波器,但稀疏矩阵包含的信息较少,并非所有信息都能用其建模。为设计低功耗、面积高效的FIR滤波器,采用了具有二进制公共子表达式消除技术的乘法器,但该子表达式算法在需要重新计算算术结果时耗时较长。

3. 有限脉冲响应滤波器的设计
3.1 Dadda乘法器

乘法器的主要功能是提供高速、紧凑且低功耗的单元。Dadda乘法器在这方面表现出色,它使用的门数量比Wallace树乘法器和Baugh - Wooley乘法器少,因此操作速度快,占用面积小,且比后两者略快。在乘法器中,系数值用于减少部分积。

Dadda乘法器的架构通常包含三个阶段:
1. 生成部分积。
2. 对生成的部分积进行相加。
3. 将所有部分积相加得到最终结果。

部分积的整体相加会产生延迟、面积和功耗,因此对高性能压缩器的需求日益增加。Dadda乘法器使用半加器和全加器,可结合精确和近似压缩器。本文对Dadda乘法器与精确4:2压缩器、Wallace树乘法器和Baugh Wooley乘法器架构进行了比较分析,目标是设计出低功耗、高速度、小延迟和小面积的乘法器结构。

以下是不同规模Dadda乘法器使用精确和近似压缩器的对比表格:
|乘法器规模|压缩器类型|面积(使用LUTs/总数/利用率)|延迟(ns)|功率(mW)|内存(KB)|
| ---- | ---- | ---- | ---- | ---- | ---- |
|8×8|精确压缩器|145/1920/7%|29.248|33.59|4509832|
|8×8|近似压缩器|130/1536/6%|20.673|32.65|4509576|
|16×16|精确压缩器|290/1920/15%|29.248|33.59|4511240|
|16×16|近似压缩器|260/1920/13%|20.673|32.65|4511240|
|32×32|精确压缩器|580/1920/30%|29.248|33.59|4517360|
|32×32|近似压缩器|520/1536/27%|20.673|32.65|4516192|

从表格数据可以看出,使用近似压缩器的Dadda乘法器在面积、延迟和功耗方面都有一定程度的降低,且内存利用率也有所改善。

3.2 精确压缩器

压缩器可减少Dadda乘法器最后阶段的延迟,4:2和5:2压缩器常用于消除延迟。精确4:2压缩器有四个输入(P1、P2、P3、P4)和一个输入进位(P5),输出为和(Sum)、进位(Carry)和Cout。其内部结构中,所有输入和和输出的权重相同,而进位和Cout输出的权重较高。输出信号的计算公式如下:
- Sum = P1 ⊕ P2 ⊕ P3 ⊕ P4 ⊕ P5
- Carry = cin(P1 ⊕ P2 ⊕ P3 ⊕ P4) + P4(P1 ⊕ P2 ⊕ P3 ⊕ P4)
- Cout = (P1 ⊕ P2)P1 + (P1 ⊕ P2)P3

精确4:2压缩器的真值表如下:
| P1 | P2 | P3 | P4 | P5 | Sum | Carry | Cout |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
| 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 |
|… |… |… |… |… |… |… |… |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |

3.3 近似压缩器

近似电路设计是数字信号处理等应用的先进原型。近似压缩器有四个输入(P1、P2、P3、P4)和两个输出(进位和和),内部使用P5但忽略其输入。它能在减少面积的同时提高乘法器电路的速度,尽管对于某些输入组合会产生不精确的结果。

近似压缩器的真值表如下:
| P1 | P2 | P3 | P4 | Sum | Carry | Difference |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 1 | 1 | 0 | 0 |
| 0 | 0 | 1 | 0 | 1 | 0 | 0 |
|… |… |… |… |… |… |… |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |

3.4 并行前缀加法器

并行前缀加法器用于提升DSP处理器加法运算的性能,其操作以并行方式进行,常用于高速算术电路。它的工作原理与进位前瞻加法器类似,包含以下三个阶段:
- 预处理阶段 :生成每个加法器的进位输入,并使用传播信号。传播信号Pi和进位信号Gi的计算公式为:
- Pi = Ai · Bi
- Gi = Ai · Bi
- 此阶段完成输入位的计算、进位生成和进位传播。
- 进位生成网络 :并行计算每个位的进位,将进位分为较小的组。进位运算符包含两个与门和一个或门,中间信号的表示如下:
- A(i : k) = A(i : j) · A(i)
- B(i : k) = B(i : j) + (B(j - 1 : k · A(i : j)))
- 后处理阶段 :计算最终的和与进位,此阶段对所有加法器相同,和与进位的计算公式为:
- Si = Xi · Zi
- Zi + 1 = (Xi · Z0) + Yi
- 该阶段对给定输入得到的和进行分析。

mermaid流程图如下:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A([开始]):::startend --> B(预处理阶段):::process
    B --> C(进位生成网络):::process
    C --> D(后处理阶段):::process
    D --> E([结束]):::startend

通过使用Dadda乘法器和并行前缀加法器,可提高FIR滤波器的整体性能和速度。后续将继续分析不同乘法器在FIR滤波器中的性能表现。

4. 性能分析与结果

FIR滤波器是DSP处理器中的关键组件,为实现其高吞吐量,需要高速的乘法器和加法器。乘法器在数字电路中至关重要,Dadda乘法器与精确压缩器结合使用可减少计算时间。

以下是不同规模Dadda乘法器使用精确和近似压缩器的性能对比表格:
|乘法器规模|压缩器类型|面积减少比例|延迟减少比例|功率减少比例|
| ---- | ---- | ---- | ---- | ---- |
|8×8|近似压缩器比精确压缩器|1%|29.31%|2.8%|
|16×16|近似压缩器比精确压缩器|2%|29.31%|2.8%|
|32×32|近似压缩器比精确压缩器|3%|29.31%|2.8%|

从表格中可以清晰地看到,使用近似压缩器的Dadda乘法器在面积、延迟和功率方面都有显著的优化。虽然近似压缩器对于某些输入组合会给出不精确的结果,但它在速度和资源利用上具有明显优势。

此外,还对不同乘法器在8 - 抽头FIR滤波器中的性能进行了对比分析,结果如下表所示:
|8 - 抽头FIR滤波器使用的乘法器|面积(使用LUTs/总数/利用率)|延迟(ns)|功率(mW)|内存(KB)|
| ---- | ---- | ---- | ---- | ---- |
|Dadda乘法器|130/1920/6%|12.71|32.65|4537928|
|Wallace树乘法器|150/1920/7%|17.47|33.59|4549976|
|Baugh - Wooley乘法器|150/1920/7%|15.673|33.59|4539852|

从这个表格可以看出,使用Dadda乘法器的FIR滤波器在面积、延迟和功率方面都优于使用Wallace树乘法器和Baugh - Wooley乘法器的情况。

5. 结论

通过上述的设计和分析,成功实现了高性能的FIR滤波器设计。使用带有Dadda乘法器的FIR滤波器可实现低延迟和低功耗。与使用Wallace树乘法器和Baugh - Wooley乘法器的FIR滤波器相比,使用Dadda乘法器的FIR滤波器延迟大幅降低,Dadda乘法器与精确压缩器结合使用时,延迟比Wallace树乘法器降低了27.27%,比Baugh Wooley乘法器降低了18.9%,并且查找表(LUTs)使用量比其他乘法器减少了14.28%。

综上所述,在设计高速低功耗的FIR滤波器时,Dadda乘法器和并行前缀加法器是非常优秀的选择。在未来的研究中,可以考虑使用近似乘法器来进一步优化FIR滤波器的设计,以满足更高性能和更低功耗的需求。

mermaid流程图展示整个设计与分析的流程:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A([开始设计]):::startend --> B(选择乘法器和加法器):::process
    B --> C(设计FIR滤波器结构):::process
    C --> D(性能分析与对比):::process
    D --> E{是否满足要求}:::process
    E -->|是| F([完成设计]):::startend
    E -->|否| B

这个流程图展示了从开始设计到最终完成的整个过程,包括选择组件、设计结构、性能分析和反馈调整等步骤。如果性能不满足要求,则需要重新选择组件进行设计,直到满足设计要求为止。

内容概要:本文介绍了一个基于MATLAB实现的无人机三维路径规划项目,采用蚁群算法(ACO)多层感知机(MLP)相结合的混合模型(ACO-MLP)。该模型通过三维环境离散化建模,利用ACO进行全局路径搜索,并引入MLP对环境特征进行自适应学习启发因子优化,实现路径的动态调整多目标优化。项目解决了高维空间建模、动态障碍规避、局部最优陷阱、算法实时性及多目标权衡等关键技术难题,结合并行计算参数自适应机制,提升了路径规划的智能性、安全性和工程适用性。文中提供了详细的模型架构、核心算法流程及MATLAB代码示例,涵盖空间建模、信息素更新、MLP训练融合优化等关键步骤。; 适合人群:具备一定MATLAB编程基础,熟悉智能优化算法神经网络的高校学生、科研人员及从事无人机路径规划相关工作的工程师;适合从事智能无人系统、自动驾驶、机器人导航等领域的研究人员; 使用场景及目标:①应用于复杂三维环境下的无人机路径规划,如城市物流、灾害救援、军事侦察等场景;②实现飞行安全、能耗优化、路径平滑实时避障等多目标协同优化;③为智能无人系统的自主决策环境适应能力提供算法支持; 阅读建议:此资源结合理论模型MATLAB实践,建议读者在理解ACOMLP基本原理的基础上,结合代码示例进行仿真调试,重点关注ACO-MLP融合机制、多目标优化函数设计及参数自适应策略的实现,以深入掌握混合智能算法在工程中的应用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值