0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

數(shù)字信號數(shù)據(jù)截位誤差抑制方法

FPGA設(shè)計論壇 ? 來源:CSDN技術(shù)社區(qū) ? 作者:撕裂的牛仔褲 ? 2022-06-10 16:47 ? 次閱讀

FPGA數(shù)據(jù)在進行乘加過程中會面臨這數(shù)據(jù)位寬變大的問題,然而硬件資源是有限的,需要對數(shù)據(jù)最終位寬進行設(shè)計,這就會面臨著位寬的選擇和如何截位的問題。

對多位數(shù)據(jù)進行截位處理,是一個從高量化精度向低量化精度的轉(zhuǎn)換過程,由于量化位數(shù)的減少,產(chǎn)生截位誤差,導致運算結(jié)果在時域上出現(xiàn)直流分量,頻域出現(xiàn)由諧波失真造成的尖峰,降低了信號的無雜散動態(tài)范圍。

比如:模擬信號經(jīng)過16位ADC量化后變?yōu)?a target="_blank">數(shù)字信號,且數(shù)據(jù)類型為整型,且均采用補碼形式表示如按照16 bit 量化,則15 =0000 0000 0000 1111;而-15=1111 1111 11110001。直接截位法是對數(shù)據(jù)直接截掉低位。以2 bit 截位為例,則15 截位后為0000 0000 0000 11=3,而-15 截位后為1111 1111 111100=-4。可以看出,在FPGA 中采用直接截位法對數(shù)據(jù)進行截位,截位是按照向下取整的方式進行的,由截位導致的近似方式對正數(shù)和負數(shù)來言是不同的,即15/(22)=3.75≈3,而-15/(22)=-3.75≈-4,因此截位后的信號會整體向下偏移,導致出現(xiàn)直流偏置,頻譜上表現(xiàn)為在0 頻出現(xiàn)誤差尖峰。對截位后的信號,再進行變頻等處理,就會將尖峰搬移到其他的頻率。如果出現(xiàn)多次截位,則將增加誤差尖峰的個數(shù),影響信號產(chǎn)生和信號處理的效果。因此在對信號處理要求較高的場合,采用直接截位法是不合適的。

常見的截位方式有:1、負數(shù)直接截位后+1,就是所有數(shù)都按絕對值取floor

2、Truncate:直接截位,就是正數(shù)取floor,負數(shù)按絕對值取ceil

3、Rounding:舍入截位,就是所有數(shù)按絕對值取四舍五入

這三種截位方式都是可以的,其中舍入截位精度相對較高。而(《數(shù)字信號截位影響分析》-- 焦慶君,解劍)這篇論文中的數(shù)據(jù)截位誤差抑制方法就是用的四舍五入的思想,通過加上或者減去一個數(shù)來實現(xiàn)的,實現(xiàn)方法比較簡單,我個人也是用這種方法來進行數(shù)據(jù)的截位的。具體實現(xiàn)方式是:①判斷數(shù)據(jù)的符號;② 如果符號為正,則將數(shù)據(jù)加上2^ (n-1);③ 如果符號為負,則將數(shù)據(jù)加上2^(n-1)-1;④ 截掉數(shù)據(jù)的低n 位。

在一些數(shù)字信號處理的IP核中數(shù)據(jù)的截位也是可選的,一般選擇近似截位。

然而上述的幾種方法截位誤差基本上是可以滿足絕大多數(shù)需求,然而對特殊的要求時以上幾種方式難以滿足時,就需要對截位誤差進行特殊的設(shè)計。筆者根據(jù)自身項目的調(diào)試經(jīng)驗,總結(jié)出來一個經(jīng)過實際測試有效的方法。這個方法成為誤差傳遞。這里設(shè)置進位上線為0.75,向下截位下線為0.25.如下圖所示

d56fe146-e87a-11ec-ba43-dac502259ad0.png

1、 若數(shù)據(jù)大于設(shè)置的則數(shù)據(jù)直接置1,如圖中B點,如果小于下線,則直接置0,如圖中A點。這里的上線和下線是可以根據(jù)實際的需求進行調(diào)整的,但調(diào)整的原則是數(shù)據(jù)超出上下限的點的個數(shù)應當是一直的,并且上下限內(nèi)的數(shù)據(jù)應當關(guān)于上下限中點對稱的。

2、 如果數(shù)據(jù)在上線和下線之間,則把數(shù)據(jù)直接截位,截下的數(shù)據(jù)與下一個數(shù)據(jù)相加后再進行直接截位,這樣依次進行下去即可。即若L1+L2+L3=LS>1,則把數(shù)據(jù)點E置1,然后把LS-1=LD作為新的誤差傳遞下去,若LD+L4+L5>1則把G點置1,產(chǎn)生新的誤差繼續(xù)傳遞下去,如果LD+L4+L5<1,則繼續(xù)加入新的數(shù)據(jù),判斷LD+L4+L5+L6是否大于1,直至產(chǎn)生大于1的那個點進行近衛(wèi),然后繼續(xù)把新產(chǎn)生的誤差進行傳遞。

通過誤差傳遞的方式在數(shù)據(jù)量相對大一些的情況下,使得信號的原始值與截位后數(shù)據(jù)的值在時域上做差產(chǎn)生的差值是0,在頻域上也沒有引入低頻信息。這種方式在實際的應用測試中很好用,因此就簡單的寫了出來,嚴格的證明畢竟麻煩,需要很大的篇幅來寫,這里就不詳細寫了,但是這個結(jié)果是通過MATLAB仿真和實際的應用測試驗證的,是能直接用的。

在實際系統(tǒng)中存在著加和乘的運算,這樣就導致數(shù)據(jù)位寬發(fā)生變化,有時候為了保證數(shù)據(jù)的精度不進行截位,但硬件資源有限,適當?shù)慕匚粚ψ罱K結(jié)果影響較小,因此合理的位寬設(shè)計既要滿足精度要求也要滿足資源要求。

一個典型的例子就是有限脈沖響應(FIR)濾波器的設(shè)計就會面臨上面的問題。

d58ed6f0-e87a-11ec-ba43-dac502259ad0.png

假設(shè)濾波器系數(shù)位[15、17、-88、103、75、75、103、-88、17、15],輸入數(shù)據(jù)位寬位N,而輸出位寬最佳是如何設(shè)計呢?要想數(shù)據(jù)全精度的運算,針對上面的濾波器系數(shù)位寬應該為N+8(系數(shù)最大值103的有符號二進制位寬)+4(系數(shù)個數(shù)的二進制值)。然而在實際運算中通常先得到系數(shù)絕對值的和596,而596至少需要10位二進制數(shù)表示,因此實際位寬設(shè)計為N+10。但是在系數(shù)較多或者運算次數(shù)較多的系統(tǒng)中,要求輸入位寬為N而輸出位寬為N+1時,就需要進行截位處理。合理的截位能提升系統(tǒng)的實際運行性能,最佳的截位是定點的運算達到浮點運算的效果。

原文標題:FPGA數(shù)字信號截位分析和位寬設(shè)計

文章出處:【微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21624

    瀏覽量

    601245
  • 濾波器
    +關(guān)注

    關(guān)注

    160

    文章

    7704

    瀏覽量

    177487
  • 數(shù)字信號
    +關(guān)注

    關(guān)注

    2

    文章

    943

    瀏覽量

    47492

原文標題:FPGA數(shù)字信號截位分析和位寬設(shè)計

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    請問AFE5801 AD轉(zhuǎn)換后數(shù)字信號是用有符號數(shù)還是無符號數(shù)表示?

    請問AFE5801 AD轉(zhuǎn)換后數(shù)字信號是用有符號數(shù)還是無符號數(shù)表示的???
    發(fā)表于 05-24 08:04

    數(shù)字信號處理與噪音抑制(英文)

    數(shù)字信號處理與噪音抑制(英文)
    發(fā)表于 05-25 23:33 ?53次下載

    數(shù)字信號處理pdf

    數(shù)字信號處理:是作者在其全國第一部信號處理著作《信號數(shù)字處理的數(shù)學原理》(1979年7月)及其第二版(1993年11月)的基礎(chǔ)上,并集20余年的教學實踐經(jīng)驗,經(jīng)過修訂、補充編
    發(fā)表于 10-30 11:34 ?1559次下載
    <b class='flag-5'>數(shù)字信號</b>處理pdf

    數(shù)字信號的糾錯原因及解決方法

    數(shù)字信號的糾錯原因及解決方法 數(shù)字信號在傳輸?shù)倪^程中,由于干擾或通道特性變壞等原因,都有可能使得傳輸?shù)?b class='flag-5'>數(shù)字信號出錯(誤碼),因此糾
    發(fā)表于 02-06 18:02 ?1412次閱讀

    數(shù)字信號處理與噪音抑制

    數(shù)字信號處理與噪音抑制 有需要的朋友下來看看
    發(fā)表于 12-30 15:31 ?3次下載

    數(shù)字信號處理實踐方法.part1

    數(shù)字信號處理時間方法,一本講解數(shù)字信號處理的好書,和實踐緊密相連。
    發(fā)表于 03-17 15:53 ?3次下載

    混合信號示波器探測模擬和數(shù)字信號方法

    本文介紹了混合信號示波器探測模擬和數(shù)字信號方法。
    發(fā)表于 10-15 11:46 ?11次下載
    混合<b class='flag-5'>信號</b>示波器探測模擬和<b class='flag-5'>數(shù)字信號</b>的<b class='flag-5'>方法</b>

    數(shù)字信號處理的PDF電子書免費下載

    數(shù)字信號處理》系統(tǒng)講述了數(shù)字信號處理的基本原理、分析方法和處理技術(shù)。《數(shù)字信號處理》內(nèi)容由五部分組成:信號
    發(fā)表于 03-30 08:00 ?104次下載
    <b class='flag-5'>數(shù)字信號</b>處理的PDF電子書免費下載

    ADSP-21990:混合信號數(shù)字信號處理器數(shù)據(jù)

    ADSP-21990:混合信號數(shù)字信號處理器數(shù)據(jù)
    發(fā)表于 05-07 15:22 ?10次下載
    ADSP-21990:混合<b class='flag-5'>信號數(shù)字信號</b>處理器<b class='flag-5'>數(shù)據(jù)</b>表

    ADSP-21991:混合信號數(shù)字信號處理器數(shù)據(jù)

    ADSP-21991:混合信號數(shù)字信號處理器數(shù)據(jù)
    發(fā)表于 05-13 13:00 ?6次下載
    ADSP-21991:混合<b class='flag-5'>信號數(shù)字信號</b>處理器<b class='flag-5'>數(shù)據(jù)</b>表

    ADMCF341DashDSPADMCF341:帶增強型模擬前端的?28引線閃存混合信號數(shù)字信號處理器數(shù)據(jù)

    ADMCF341DashDSPADMCF341:帶增強型模擬前端的?28引線閃存混合信號數(shù)字信號處理器數(shù)據(jù)
    發(fā)表于 05-25 10:19 ?15次下載
    ADMCF341DashDSPADMCF341:帶增強型模擬前端的?28引線閃存混合<b class='flag-5'>信號數(shù)字信號</b>處理器<b class='flag-5'>數(shù)據(jù)</b>表

    ADSP-21992:帶CAN數(shù)據(jù)表的混合信號數(shù)字信號處理器

    ADSP-21992:帶CAN數(shù)據(jù)表的混合信號數(shù)字信號處理器
    發(fā)表于 05-27 21:08 ?7次下載
    ADSP-21992:帶CAN<b class='flag-5'>數(shù)據(jù)</b>表的混合<b class='flag-5'>信號數(shù)字信號</b>處理器

    了解用于分析高速數(shù)字信號數(shù)據(jù)眼圖方法

    了解用于分析高速數(shù)字信號數(shù)據(jù)眼圖方法
    發(fā)表于 11-15 20:28 ?2次下載
    了解用于分析高速<b class='flag-5'>數(shù)字信號</b>的<b class='flag-5'>數(shù)據(jù)</b>眼圖<b class='flag-5'>方法</b>

    什么是一種將模擬信號數(shù)字化的技術(shù)

    信號,例如聲音、圖像、溫度等。而數(shù)字信號則是由離散的數(shù)字值組成的信號,例如計算機中的二進制數(shù)據(jù)。模擬
    的頭像 發(fā)表于 08-11 10:28 ?709次閱讀

    數(shù)字信號包括哪些 數(shù)字信號的特點是什么

    數(shù)字來表示信號,如4進制、8進制等。 模擬信號數(shù)字表示 :將模擬信號通過采樣、量化和編碼轉(zhuǎn)換為數(shù)字信
    的頭像 發(fā)表于 08-11 10:44 ?1403次閱讀