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.pswp.cn/news/537722.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537722.shtml
英文地址,請注明出處:http://en.pswp.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;我…

第三章實驗二小談

第三章實驗二小談 這周很忙...時間很趕...很多作業還沒做... 首先想談&#xff08;tu&#xff09;論&#xff08;cao&#xff09;一下計算機的嚴謹性。 編程語言嚴謹是一種好事&#xff0c;越嚴謹&#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…

計算機網絡與綜合布線系統設計,計算機網絡與通信技術10-綜合布線系統.ppt

計算機網絡與通信技術10-綜合布線系統.ppt5.7 電氣防護系統設計 電氣防護設計應把握以下原則&#xff1a; 1)為了保證綜合布線系統正常運行&#xff0c;設備間或干線交接間內應設有獨立、穩定、可靠的交流50Hz、220V電源&#xff0c;以便于維護檢修和日常管理&#xff0c;有條件…

必須Mark下,2019 年度中國質量協會質量技術優秀獎

曾經和一群可愛的人兒做的項目&#xff0c;獲得了2019 年度中國質量協會質量技術優秀獎&#xff0c;無心插柳柳成蔭。 那幾年工作得很快樂&#xff0c;工作與家庭都兼顧&#xff0c;是同事也是朋友。2019年末去過一次移動寧波分公司&#xff0c;特意去看了原來駐場的辦公室&am…

python文件編碼及執行

兼容中文編碼 由于Python源代碼也是一個文本文件&#xff0c;所以&#xff0c;當你的源代碼中包含中文的時候&#xff0c;在保存源代碼時&#xff0c;就需要務必指定保存為UTF-8編碼。 當Python解釋器讀取源代碼時&#xff0c;為了讓它按UTF-8編碼讀取&#xff0c;我們通常在文…

html5鏈接mvc,LinkExtensions.ActionLink 方法 (System.Web.Mvc.Html) | Microsoft Docs

對于指定的鏈接文本、操作、控制器、協議、主機名、URL 片段、作為路由值字典的路由值和作為字典的 HTML 屬性&#xff0c;返回一個定位點元素&#xff0c; (元素) 。public static System.Web.Mvc.MvcHtmlString ActionLink (this System.Web.Mvc.HtmlHelper htmlHelper, stri…

這些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…

瀏覽器的差距

瀏覽器 瀏覽器默認字體是16px&#xff0c;谷歌的最小字體是12px&#xff0c;其他的是10px。 HACK Hack就是針對不同的瀏覽器去寫不同的HTML、CSS樣式&#xff0c;從而讓各瀏覽器能達到一致的渲染效果。 Hack分兩種寫法 Html的hack&#xff1a;寫在html的標簽中 Css的hack&#…

業務應用系統的業務操作日志設計

目的&#xff1a;記錄業務的訪問活動 操作時間&#xff1a;精確到秒 服務器IP&#xff1a;可能部署多臺服務器&#xff0c;記錄當前線程服務器IP地址 訪問者IP&#xff1a;訪問者ip地址 訪問者賬號&#xff1a;系統通過手機號登錄&#xff0c;記錄手機號 業務名稱&#xf…

微型計算機控制技術試卷B,微型計算機控制技術試卷b..doc

微型計算機控制技術試卷b.微型計算機控制技術試卷B一、選擇題(本題共10小題&#xff0c;每小題 1.5分&#xff0c;共15分) 1. 防止抖動是能否正確讀取鍵值的必要環節&#xff0c;實現方法是( )。 A&#xff0e;可以用硬件電路或軟件程序實現?? B&#xff0e;只能用濾波電路或…

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…

汽車怎么保養省錢?

摘要&#xff1a;從4年4萬多公里的大保養&#xff0c;分享如何保養省錢。 如何保養省錢? 1.不花冤枉錢 2.不過度保養 3.平時用車注意 1.不花冤枉錢 除了第一次去4s店免費保養&#xff0c;第二次起就不要了。我第二、三次在朋友店里&#xff0c;第四次開始在途虎養車店。 …

非結構化數據與結構化數據提取---- BeautifulSoup4 解析器

CSS 選擇器&#xff1a;BeautifulSoup4 和 lxml 一樣&#xff0c;Beautiful Soup 也是一個HTML/XML的解析器&#xff0c;主要的功能也是如何解析和提取 HTML/XML 數據。 lxml 只會局部遍歷&#xff0c;而Beautiful Soup 是基于HTML DOM的&#xff0c;會載入整個文檔&#xff0c…