matlab 滤波器设计 coe_一种半带滤波器的低功耗实现方法

在如今数字技术中,半带滤波器因其通带阻带对称,系数具有偶对称性且滤波器阶数为奇数,有效系数少等特点广泛应用于通信、视频处理、语音识别等数字信号处理应用中,尤其常用于实现信号的2倍抽取。对于一个阶数为N(N为偶数),长度为N+1的半带滤波器,传统的多相分解技术下实现2倍抽取功能的转置实现结构如图1所示。

6a3a7140-a914-eb11-8da9-e4434bdf6706.png

首先,利用多相分解[1],滤波运算分为奇偶两个分支进行,输入数据经过2倍抽取后得到偶分支上的滤波输入;输入数据经过一个延迟单位进行2倍抽取后得到奇分支上的输入数据。偶分支上共有偶数个系数且系数对称。对于偶分支上数据乘以各系数的操作可以称为多常数乘法(Multiple Constant Multiplications,MCM),众所周知乘法器的硬件实现会消耗大量的资源,故可采用以移位相加代替偶分支滤波运算过程中的所有乘法操作以节省硬件资源。

一般的移位相加实现方法是对系数进行正则有符号数(Canonic Signed Digit,CSD)编码[2],以减少硬件资源开销,根据文献[1],基于CSD编码的方式比二进制编码方式平均减少33%的硬件开销。同时偶分支的滤波结构还可以采用混合形式,降低累加部分中加法器的开销[3]

不同于传统使用CSD编码的办法,本文采用的是利用以2r为基础数的算法(RADIX-2r)实现MCM操作。传统CSD编码的方法是对每个系数进行编码,每个系数的乘法是独立的,无法共享硬件资源。而RADIX-2r算法中,利用系数之间共享基本表达式以达到共享硬件资源的目的,必然比传统办法节省硬件资源。

1 所设计半带滤波器的参数

本文中所设计的两个半带滤波器分别为归一化频率下过渡带带宽为6/11、阻带衰减大于90 dB和过渡带带宽为1/11、阻带衰减大于90 dB。设计可通过MATLAB软件完成[4],具体实现代码如下所示:

h1=halfband(‘Type’,’Lowpass’,6/11,90);

Hb1=design(h1,’equiripple’);

h2=halfband(‘Type’,’Lowpass’,1/11,90);

Hb2=design(h2,’equiripple’);

由MATLAB软件仿真可得,宽过渡带半带滤波器阶数为18,窄过渡带半带滤波器阶数为118,要达到90 dB阻带衰减的技术指标,宽过渡带半带滤波器系数量化位数为17位,窄过渡带半带滤波器系数量化位数为21位。

系数量化后两个滤波器的幅频响应分别如图2、图3所示。如图所示,所得半带滤波器均满足阻带衰减大于90 dB的设计指标。量化后的宽过渡带半带滤波器的有效系数如表1所示,窄过渡带半带滤波器量化后的系数如表2所示。

813a7140-a914-eb11-8da9-e4434bdf6706.png8e3a7140-a914-eb11-8da9-e4434bdf6706.pnga23a7140-a914-eb11-8da9-e4434bdf6706.pngaa3a7140-a914-eb11-8da9-e4434bdf6706.png

从表1中可见,宽过渡带半带滤波器的有效系数只有11个,其中,多相分解下,奇分支上的有效系数只有h(9),其余全为偶分支上的有效系数且具有对称性。

同理从表2中得知,窄过渡带半带滤波器的有效系数为61个,奇分支上只有一个有效系数h(59),其余全为偶分支上的系数且具对称性。

2 高效实现方法

传统的CSD编码实现方式下是对每个有效系数进行CSD编码然后用移位相加操作完成乘法,将消耗大量的硬件资源。与使用CSD编码不同的是,本文提出了使用RADIX-2r算法实现偶分支滤波运算中的MCM,达到以更低功耗、更小面积实现半带滤波的目的。

2.1 RADIX-2r算法实现MCM

一个N-bit常数C在RADIX-2r算法中由式(1)表示:

b53a7140-a914-eb11-8da9-e4434bdf6706.png

MCM模块中,输入X将同时乘以拥有M个常数的常数集{C0,C0,…,CM-2,CM-1}。常数集中需要由MCM模块产生乘积的数只有正的奇数,因为偶数可以通过奇数进行左移操作获得,而负数可以通过正数取负获得,如常数积-132X可以通过常数积33X左移2位并取负获得,在MCM问题中只需实现33X即可,不需要用多余的加法器实现-132X。常数集中所需实现的正的奇数被称为基本数。根据文献[5]、[6]可知,相比于现有的研究,RADIX-2r算法是实现MCM模块最好的办法,在功耗、面积、速度上都具有显著的优势。

对于本文中半带滤波器Hb1的偶分支的实现,通过RADIX-2r算法可以得到其基本部分积为{1,3,5,7},需要实现的基本数集为{57,101,1 601,4 985,20 115}基本部分积的具体实现过程如下所示:

X1=X

X3=X1<<1+X1

X5=X1<<2+X1

X7=X1<<3-X1

基本数集的实现过程如下所示:

X57=X1<<6-X7

X101=X5+X3<<5

X1601=X1+X1<<6+X3<<9

X4985=X1<<12+X7<<7-X7

X20115=X3-X7<<4-X1<<8+X5<<12

同理对于半带滤波器Hb2,偶分支中的基本部分积与基本数集分别如下所示:

c33a7140-a914-eb11-8da9-e4434bdf6706.png

由于篇幅原因,半带滤波器Hb2基本部分积与基本数集的实现过程不在此列出。

2.2 寄存基本部分积以降低功耗

数字电路在工作时,主要的功耗来自于动态功耗,而动态功耗中大部分为数字单元基本门电路的开关行为导致。由文献[7]可知,拥有长路径的加法器将会导致更活跃的开关行为,这是因为由不同延迟路径引起的无用毛刺将沿着路径从MCM模块传播至后续的累加模块中。虽然这种毛刺不会产生任何电路上的逻辑错误,但数字电路中高达70%的开关活动是由这些毛刺造成,进而会造成比较大的功耗。

因而,有效降低功耗的方法即是减少电路中因延迟不同而产生的毛刺。根据前文所述使用RADIX-2r实现MCM模块的方法中,每一个基本数的实现都可以通过基本部分积之间的移位相加操作完成。本文所提出的另一降低功耗的方法是寄存MCM模块中产生的基本部分积的输出,通过使用边沿有效的寄存器可以有效地消除毛刺,因为寄存器只在确定的时钟边沿进行采值,阻断毛刺从MCM模块向累加部分的传播,进而减少电路的开关行为。同时因为基本部分积的数目总是远小于基本数的总数,所以相比于寄存基本数,寄存基本部分积不会带来太多的额外寄存器的开销。对于文中Hb1半带滤波器而言,即是寄存X1、X3、X5、X7四个数值。

2.3 所提出的半带滤波器实现结构

本文提出的Hb1半带滤波器的总体实现方法如图4所示,使用了表1中的系数。总体结构包含三个子部分,一是多相分解部分;二是利用RADIX-2r实现MCM部分,其中包括了对基本部分积的寄存;最后是滤波运算的累加部分,此部分中还采取奇支路和偶支路积共用寄存器的策略。因篇幅原因,Hb2的实现结构图不在此展出。

cc3a7140-a914-eb11-8da9-e4434bdf6706.png

3 实验结果及分析

为了评测本文提出的应用于数字信号抽取下的半带滤波器的实现方法的性能,对于文中的半带滤波器Hb1、Hb2,分别用Verilog HDL硬件描述语言实现了传统的CSD编码结构、CSD编码下的混叠结构以及本文所提出的结构。在逻辑综合结果方面进行比较。

综合使用的软件为Synopsys公司的Design Compiler软件,使用的工艺库为TSMC 40 nm工艺,并设置滤波器的输入字长为16 bit。表3、表4分别展示了Hb1、Hb2不同方案所需要的硬件资源。

d53a7140-a914-eb11-8da9-e4434bdf6706.pngd83a7140-a914-eb11-8da9-e4434bdf6706.png

功耗分析使用的时钟频率为200 MHz,两个滤波器每个方案综合后的结果如表5、表6所示。

de3a7140-a914-eb11-8da9-e4434bdf6706.pnge63a7140-a914-eb11-8da9-e4434bdf6706.png

通过以上表中数据可知,文献[3]所提出的实现方法相较于CSD编码的实现方法不具有优势,仅在实现窄过渡带滤波器时降低了滤波器的面积,但提升效果也十分有限。而本文所提出的实现方法相对于传统CSD编码实现结构在功耗及面积表现上均有明显优势,对于宽过渡带半带滤波器,在本文的实现方法中,功耗下降了9.36%,面积下降了6.31%;对于窄过渡带半带滤波器,本文的实现方法使功耗降低了13.93%,面积降低了12.79%。

4 结论

本文针对应用于数字信号下变频技术中的半带滤波器,提出了一种低功耗的实现方法。利用MATLAB软件设计半带滤波器,并对新的实现方法进行了Modelsim仿真验证,最后由Design Complier 软件进行综合。结果表明,与传统的CSD编码实现方法相比较,本文提出的实现方法能有效地降低滤波器的功耗与面积,具有较高的实用价值,可广泛应用工程需求中的半带滤波器的实现。

参考文献

[1] 卜祥元,方金辉,范星宇,等.基于抽取滤波器多相分解的多速率采样模块设计[J].北京理工大学学报,2014(2):187-191.

[2] GOEL N,NANDI A.Design of FIR filter using FCSD representation[C].IEEE International Conference on Computational Intelligence and Communication Technology,2015:617-620.

[3] LOU X,MEHER P K,YU Y,et al.Novel structure for area-efficient implementation of FIR filters[J].IEEE Transactions on Circuits and Systems,2017,64:1212-1216.

[4] 杜勇.数字滤波器的MATLAB与FPGA实现[M].北京:电子工业出版社,2015.

[5] OUDJIDA A,LIACHA A,BAKIRI M,et al.Multiple constant multiplication algorithm for high-speed and low-power design[J].IEEE Transactions on Circuits and Systems,2016,63(2):176-180.

[6] LIACHA A,OUDJIDA A,FERGUENE F,et al.Design of high-speed,low-power,and area-efficient FIR filers[J].IET Circuits,Devices & Systems,2018,12(1):1-11.

[7] YE W B,YU Y J.Switching activity analysis and power estimation for multiple constant multiplier block of FIR filters[C].IEEE International Symposium of Circuits and Systems,2011:145-148.

作者信息:

徐 鹏

(电子科技大学 电子科学与工程学院,四川 成都610054)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537722.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

产品设计:APP个人信息保护指引

需求分析 2019年11月4日&#xff0c;工业和信息化部展开APP侵犯用户权益专项整治行动。即日起各安卓应用市场根据最新的规则审核市场里的各应用&#xff0c;审核不通过将下架处理。 调研了“手机qq”、“抖音”、“快手”、“今日头条”、“澎湃新闻”等APP&#xff0…

说说GIL

上一篇&#xff1a;线程深入篇引入 Code&#xff1a;https://github.com/lotapp/BaseCode/tree/master/python/5.concurrent/Thread/3.GIL 说说GIL 尽管Python完全支持多线程编程&#xff0c; 但是解释器的C语言实现部分在完全并行执行时并不是线程安全的&#xff0c;所以这时候…

2021重庆高考成绩名次排名查询,重庆高考排名对应大学-重庆高考位次大学(2021年理科)...

选择科目测一测我能上哪些大学选择科目领取你的专属报告>选择省份关闭请选择科目确定v>每年高考结束后&#xff0c;报大学、选专业、填志愿就成了考生与家长十分关心的一件事情。本期&#xff0c;圆梦志愿为大家整理了重庆高考理科2020年位次排名对应的大学&#xff0c;供…

Project项目信息的日程排定方法区别

日程排定方法分&#xff1a;项目开始日期&#xff0c;项目结束日期。 项目开始日期 设置如下 在“工期”单元格输入任意数字&#xff0c;任务开始日期会从项目开始日期2020年3月1日开始 给项目任务设置工期的时候&#xff0c;从任务的第一个开始设置&#xff0c;按正序进行&a…

gis里创建要素面板怎么打开_周末技术流 | GIS三维热力图分析

周末技术流&#xff2e;&#xff2f;&#xff37;现在行动&#xff01;我们的技术流是一个系列&#xff0c;最终带大家出一套完整图纸哦~(未经允许严禁盗用&#x1f6ab;)Rhino日照分析1.前期回顾本期内容一直关注我们的朋友到这期可能会有点熟悉&#xff0c;确实&#xff0c;我…

project提醒:无法链接这些任务,因为它们已通过另一个任务链链接

给45任务指定前置任务111时&#xff0c;提示“无法链接这些任务&#xff0c;因为它们已通过另一个任务链链接” 查了好久没找到原因&#xff0c;后来无意在46任务前置任务输入111&#xff0c;没有提示。 解决方法&#xff1a; 删除了提示的45任务&#xff0c;新建任务&#x…

企业网站 源码 e-mail_天津seo优化套餐服务收费_天津网站优化关键词价格

天津华阳在线专注于SEO关键词排名优化&#xff0c;品牌网站建设&#xff0c;营销型网站建设&#xff0c;App、小程序开发&#xff0c;搜索引擎seo优化&#xff0c;竞价托管sem&#xff0c;品牌口碑建设与代运营等服务。企业通过引进前BAT产品经理不断丰富产品线优化技术实力&am…

必须Mark下,2019 年度中国质量协会质量技术优秀奖

曾经和一群可爱的人儿做的项目&#xff0c;获得了2019 年度中国质量协会质量技术优秀奖&#xff0c;无心插柳柳成荫。 那几年工作得很快乐&#xff0c;工作与家庭都兼顾&#xff0c;是同事也是朋友。2019年末去过一次移动宁波分公司&#xff0c;特意去看了原来驻场的办公室&am…

python文件编码及执行

兼容中文编码 由于Python源代码也是一个文本文件&#xff0c;所以&#xff0c;当你的源代码中包含中文的时候&#xff0c;在保存源代码时&#xff0c;就需要务必指定保存为UTF-8编码。 当Python解释器读取源代码时&#xff0c;为了让它按UTF-8编码读取&#xff0c;我们通常在文…

这些Windows 10隐藏秘技,你知道几个?

1. 虚拟桌面 玩电脑的老鸟&#xff0c;估计都听说过虚拟桌面。简言之&#xff0c;平时要做的工作太多&#xff0c;又没有第二个显示器&#xff0c;那么“虚拟桌面”也就成了不二之选。微软Windows 10的虚拟桌面隐藏在WinTAB中&#xff0c;也就是所谓的时间线视图&#xff08;T…

vant toast loading 倒计时_日期倒计时软件哪个好 苹果日期倒计时软件推荐

日期倒计时软件哪个好&#xff0c;相信大家也是经常会查看日期&#xff0c;来保证一些重要的事情能够按时进行&#xff0c;那么哪一款日期倒计时软件比较好用&#xff0c;能够提醒用户们日期将至呢。这里就为大家推荐几款。日期倒计时软件哪个好1.Days Matter Air作为Days Matt…

业务应用系统的业务操作日志设计

目的&#xff1a;记录业务的访问活动 操作时间&#xff1a;精确到秒 服务器IP&#xff1a;可能部署多台服务器&#xff0c;记录当前线程服务器IP地址 访问者IP&#xff1a;访问者ip地址 访问者账号&#xff1a;系统通过手机号登录&#xff0c;记录手机号 业务名称&#xf…

c char转int_c/c++基础之sizeof用法

在 C/C 中&#xff0c;sizeof() 是一个判断数据类型或者表达式长度的运算符。1 sizeof 定义 sizeof 是 C/C 中的一个操作符&#xff08;operator&#xff09;&#xff0c;返回一个对象或者类型所占的内存字节数。The sizeof keyword gives the amount of storage, in bytes, as…

非结构化数据与结构化数据提取---- BeautifulSoup4 解析器

CSS 选择器&#xff1a;BeautifulSoup4 和 lxml 一样&#xff0c;Beautiful Soup 也是一个HTML/XML的解析器&#xff0c;主要的功能也是如何解析和提取 HTML/XML 数据。 lxml 只会局部遍历&#xff0c;而Beautiful Soup 是基于HTML DOM的&#xff0c;会载入整个文档&#xff0c…

pyaudio usb playback_5.5寸触控屏IP电话会议USB全向麦克风NK-OAM600U_影视工业网

寸触控屏视频会议USB全向麦克风(拾音器)NK-OAM600U概述&#xff1a;派尼珂NK-OAM600U视频会议USB全向麦克风&#xff0c;是一款配置多点手势触控FHD屏的高清会议电话&#xff0c;便捷的连接方式&#xff1a;支持USB/以太网/WIFI/蓝牙Bluetooth连接&#xff0c;同时支持外接视频…

微软发布Azure Storage不可变存储功能的正式版本

随着新的不可变存储功能的发布&#xff0c;blob特性在特定的保留期间内将是不可以擦除和修改的。该特性从今年6月份开始进行预览使用&#xff0c;现在&#xff0c;微软宣布它在所有公开Azure region中正式发布。\\微软添加对不可变存储的支持&#xff0c;以便于帮助客户遵循像S…

红米note5手机插u盘没反应_认真分析下:荣耀智慧屏x1和红米x50对比哪个好?用后一个月告诉大家实情...

这二款电视荣耀智慧屏x1和红米x50区别还是有的哈&#xff0c;外观和款式是不一样的&#xff0c;不过家用都是可以的&#xff0c;看个人吧&#xff0c;我自己用的是荣耀智慧屏x1&#xff0c;款式是我喜欢的&#xff0c;多时尚的&#xff0c;整体质感不错的&#xff0c;看上去很大…

用Excel函数提高效率

今天在计划20某年项目采购各阶段时间点&#xff0c;从合同计划签订日期开始倒退。 规则如下&#xff1a; 项目采购申请----&#xff08;1-2个工作日&#xff09;---->项目立项----&#xff08;1-2个工作日&#xff09;--->采购小组成立-----&#xff08;2-3个工作日&am…

python测试工具开发面试宝典3web抓取

2019独角兽企业重金招聘Python工程师标准>>> 用requests输出网站返回头 输出 https://china-testing.github.io/ 的返回头 参考答案In [1]: import requestsIn [2]: url https://china-testing.github.io/In [3]: response requests.get(url)In [4]: response.req…

计算机网络本直通线的制作方法,电脑网络:教你一分钟自制高质量网线(含水晶头分类),不求人...

在文章开头&#xff0c;我们首先来介绍一下制作水晶头需要用到的工具——网线钳。这不是多么高科技的东西&#xff0c;价格也不贵&#xff0c;普通用户都能接受&#xff0c;从网上或是线下都能买到。网线水晶头的制作及检测方法&#xff0c;从来没人写过这么全我们主要用到网线…