

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、《數(shù)字通信同步技術的MATLAB與FPGA實現(xiàn)》,編著:杜勇 電子工業(yè)出版社出版 duyongcn@sina.cn http://duyongcn.blog.163.com,制作:cameion 2013年1月,第二章:FPGA實現(xiàn)數(shù)字信號處理基礎,,,2.1 FPGA中數(shù)的表示,,,2.2 FPGA中數(shù)的運算,,,2.3 有限字長效應,,,2.
2、4 FPGA中的常用處理模塊,2.1 FPGA中數(shù)的表示,,萊布尼茲與二進制,2的零次方 = 12的一次方 = 22的二次方 = 42的三次方 = 82的四次方 = 162的五次方 = 322的六次方 = 642的七次方 = 128,定點數(shù)表示,,,,原碼、反碼與補碼,,正數(shù)的補碼、反碼及原碼完全相同。負數(shù)的補碼與反碼之間有一個簡單的換算關系:補碼等于反碼在最低位加1。,原碼:-0.75 1 110,反碼:-0.7
3、5 1 001,補碼:-0.75 1 010,原碼的優(yōu)點:乘除運算方便,不論正負數(shù),乘除運算都一樣,并以符號 位決定結果的正負號;若做加法則需要判斷兩個數(shù)符號是否相同; 若做減法,還需要判斷兩個數(shù)絕對值的大小,而后用大數(shù)減小數(shù)。補碼的優(yōu)點:是加減法運算方便,不論正負數(shù)均可直接加,且符號位同 樣參與運算。,浮點數(shù)格式,雖然浮點數(shù)的表示范圍及精度與定點數(shù)相比有很大的改善,但因為浮點數(shù)畢竟也是
4、以有限的32bit長度來反映無限的實數(shù)集合,因此大多數(shù)情況下都是一個近似值。,,,單精度(IEEE Single—Precision Std.754)浮點數(shù)據(jù)格式:,,浮點數(shù)格式,主要考慮到FPGA中的乘法器核通常是18比特,修改尾數(shù)的長度,,適合FPGA處理的浮點數(shù)據(jù)格式:,,,,2.2 FPGA中數(shù)的運算,加減法運算,FPGA中如何表示正數(shù)及負數(shù)?1111,是表示15還是-1?,源文件頭聲明程序包STD_LOGIC_UNSIG
5、NED:無符號運算,無符號數(shù) STD_LOGIC_SIGNED: 有符號運算,有符號數(shù)/補碼數(shù),加法運算,在一個VHDL文件中分別指定有符號數(shù)及無符號數(shù)的方法,architecture Behavioral of SymbExam isBegin signed_out <= signed(d1)+signed(d2); unsigned_out <= d3+d4;end Behavioral;
6、,use IEEE.STD_LOGIC_UNSIGNED.ALL;,加法運算,加法運算,1)B比特的二進制數(shù),如當作無符號整數(shù),表示的范圍為0~2B-1;如當作有符號整數(shù),表示的范圍為-2B-1~2B-1-1; 2)如果二進制數(shù)的表示范圍沒有溢出,將運算數(shù)據(jù)均當作無符號數(shù)或有符號數(shù),則運算結果正確; 3)兩個B比特的二進制數(shù)做加/減法運算,如要確保運算結果不溢出,需要B+1位數(shù)據(jù)存放運算結果; 4)兩
7、個二進制數(shù)據(jù)進行加/減法運算,只要輸入數(shù)據(jù)相同,則不論是當作有符號數(shù)還是無符號數(shù),其運算結果的二進制數(shù)完全相同。,乘法運算,2比特加減法運算所需的硬件邏輯資源,乘法運算,2比特加乘法運算所需的硬件邏輯資源,乘法運算,乘法器運算與加減法運算相比,需要占用成倍的硬件邏輯資源,A乘16 = A左移4位,如果一個乘數(shù)為常數(shù)時,可用移加運算實現(xiàn)乘法:,A乘20 = A左移4位+A左移2位,A乘31 = A左移5位-A,除法運算,在ISE集成開發(fā)
8、環(huán)境下的VHDL語言編譯環(huán)境中,除法、指數(shù)、求模、求余等操作均沒有在“STD_LOGIC_SIGNED”和“STD_LOGIC_UNSIGNED”程序包中定義,操作數(shù)及運算結果也沒有“STD_LOGIC_VECTOR”數(shù)據(jù)類型,因此無法在VHDL程序中直接對“STD_LOGIC_VECTOR”類型的數(shù)據(jù)進行相關運算。,除法運算通常采用IP核實現(xiàn),Constant RAM_RAW: integer:=7;Constant RAM_
9、COL: integer:=8;Constant RAM_NUM: integer:= RAM_RAW* RAM_COLConstant EXP: integer:=9;Constant COUNT: integer:=2**EXP;,除法運算,乘法器運算與加減法運算相比,需要占用成倍的硬件邏輯資源,A除16 =. A右移4位,如果一個乘數(shù)為常數(shù)時,可用移加運算實現(xiàn)乘法:,A除3 =. A乘(0.25+0.0625+0.0156)
10、 =. A右移2位+A右移4位+A右移6位,A除5 =. A乘(0.125+ 0.0625+0.0156 ) =. A右移3位+A右移4位+A右移6位,需要說明的是,與常數(shù)乘法運算不同,常量乘法通過左移運算可以得到完全準確的結果,而常數(shù)除法運算卻不可避免地存在運算誤差。,有效數(shù)據(jù)位的計算,所謂有效數(shù)據(jù)位,即指表示有用信息的數(shù)據(jù)位。比如說整數(shù)型的有符號二進制數(shù)據(jù)“001”,顯然只需要用二比特數(shù)據(jù)即可正確表示“0
11、1”,因此最高位的符號位其實沒有代表任何信息。,對于兩個長度為N的二進制數(shù)據(jù)進行加法運算,需要采用N+1位數(shù)據(jù)才能獲得完全準確的結果。如果需要采用N位數(shù)據(jù)存放結果,則取低N位會產(chǎn)生溢出,得出錯誤結果,取高N位不會出現(xiàn)溢出,但運算結果相當于降低了1/2。,有效數(shù)據(jù)位的概念,加法運算中的有效數(shù)據(jù)位,乘法運算中的有效數(shù)據(jù)位,1)對于字長分別為M、N的數(shù)據(jù)進行乘法運算,需要采用M+N位字長的數(shù) 據(jù)才能得到準確的結果;2)對于乘法
12、運算,不需要通過擴展位數(shù)來對齊乘數(shù)的小數(shù)點位置;3)當乘數(shù)為小數(shù)時,乘法結果的小數(shù)位位數(shù)等于兩個乘數(shù)的小數(shù)位位數(shù)之和;4)當需要對乘法運算結果截取時,為保證得到正確的結果,只能取高位,而 舍去低位數(shù)據(jù),這樣相當于降低了運算結果的精度;5)只有當兩個乘數(shù)均為所能表示的最小負數(shù)(最高位為1,其余位均為0) 時,才有可能出現(xiàn)最高位與次高位不同的情況。也就是說,只有在這種情 況下,才需要M+N位字長的數(shù)據(jù)來存放準確的最終
13、結果,其它情況下,實際 上均有兩位相同的符號位,只需要M+N-1位字長即可存放準確的運算結果。,乘法運算中的有效數(shù)據(jù)位,在ISE開發(fā)環(huán)境中,提供的乘法器IP核在選擇輸出數(shù)據(jù)位數(shù)時,如果選擇全精度運算,則會自動生成M+N位字長的運算結果。在實際工程設計中,如果預先知道某位乘數(shù)不可能出現(xiàn)最小負值的情況,或者通過一些控制手段去除出現(xiàn)最小負值的情況,則完全可以只用M+N-1位字長存放運算結果,從而節(jié)約一位寄存器資源。如果乘法運算只
14、是系統(tǒng)的中間環(huán)節(jié),則后續(xù)的每個運算步驟均可節(jié)約一位寄存器資源。,乘加運算中的有效數(shù)據(jù)位,比如需要設計一個FIR濾波器:,,假設濾波器系數(shù)為h=[13,-38,74,99,99,74,-38,13],如果輸入數(shù)據(jù)為N比特的二進制數(shù),則濾波器輸出最少需要采用多少位來準確表示呢?,Max=sum( abs(h))=448<2^9,輸入數(shù)據(jù)為N比特,則輸出數(shù)據(jù)需要N+9比特,2.3 有限字長效應,考慮一個一階濾波器,其系統(tǒng)函數(shù)為:,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Chen-Mobius數(shù)字通信系統(tǒng)的MATLAB仿真及FPGA實現(xiàn).pdf
- 數(shù)字通信信號解調(diào)技術的研究與FPGA實現(xiàn).pdf
- 數(shù)字通信系統(tǒng)中同步技術的研究.pdf
- 數(shù)字通信系統(tǒng)課程設計--數(shù)字通信系統(tǒng)的設計與實現(xiàn)
- 2fsk數(shù)字通信系統(tǒng)課程設計--數(shù)字通信系統(tǒng)的設計與實現(xiàn)
- 漏泄通信數(shù)字通信終端的研究與實現(xiàn).pdf
- 基于Java與MATLAB集成的數(shù)字通信原理虛擬實驗平臺的設計與實現(xiàn).pdf
- 基于數(shù)字通信的漏泄通信系統(tǒng)的研究與實現(xiàn).pdf
- 數(shù)字通信信號模擬器的設計與實現(xiàn)技術.pdf
- 基于FPGA的多體制數(shù)字通信系統(tǒng)接收機的設計與實現(xiàn).pdf
- 通信原理課程設計--數(shù)字通信系統(tǒng)的設計與實現(xiàn)
- 無線混沌數(shù)字通信系統(tǒng)的設計與實現(xiàn).pdf
- FPGA-SOPC技術在數(shù)字通信系統(tǒng)中的應用研究.pdf
- 數(shù)字通信電纜屏蔽技術的應用與原理
- 數(shù)字通信原理
- 數(shù)字通信試題
- 數(shù)字通信系統(tǒng)中PCM數(shù)字中繼接口設計與實現(xiàn).pdf
- 計《數(shù)字通信技術》試卷答案b
- 畢業(yè)論文--基于matlab的數(shù)字通信系統(tǒng)調(diào)制解調(diào)研究
- 數(shù)字通信系統(tǒng)的設計與仿真
評論
0/150
提交評論