浮點(diǎn)程序已經(jīng)給出了,那么定點(diǎn)程序會(huì)是什么樣子呢?為什么要進(jìn)行定點(diǎn)仿真呢?這是產(chǎn)品的要求!很多產(chǎn)品中用于實(shí)現(xiàn)算法的器件都會(huì)是FPGA或者DSP,在這些器件中,定點(diǎn)運(yùn)算是絕對(duì)的主流!定點(diǎn)運(yùn)算的性能不會(huì)比浮點(diǎn)差多少,但速度會(huì)快太多。因此浮點(diǎn)運(yùn)算自然需要轉(zhuǎn)換為定點(diǎn)運(yùn)算!如何轉(zhuǎn)換?確實(shí)包含很多原則和技巧!本文內(nèi)容會(huì)特別的多,請(qǐng)大家耐心看完!
如何將定點(diǎn)數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)?通過量化!量化過程有技巧嗎?當(dāng)然,后續(xù)慢慢講。此時(shí)第一步就是需要考慮器件的性能,然后決定量化的位數(shù)!不過在講定點(diǎn)程序之前還是先帶著大家熟悉一下指數(shù)濾波器的相關(guān)性能!怎么看性能?通過仿真來了解最直觀!
DSP處理器有定點(diǎn)型和浮點(diǎn)型之分。針對(duì)定點(diǎn)型DSP處理器,為了提高DSP運(yùn)算速度,需要將浮點(diǎn)型參數(shù)轉(zhuǎn)化成定點(diǎn)型參數(shù),同時(shí)還要考慮精度問題。采用定點(diǎn)數(shù)進(jìn)行數(shù)值運(yùn)算,其操作數(shù)一般采用整型數(shù)來表示。一個(gè)整型數(shù)的最大表示范圍取決于運(yùn)算芯片所給定的字長(zhǎng)。
字長(zhǎng)越長(zhǎng),所能表示的數(shù)的范圍越大,精度也越高。matlab軟件里面也有字長(zhǎng)的概念!在FPGA中,參與運(yùn)算的數(shù)以二進(jìn)制補(bǔ)碼形式表示。比如設(shè)定數(shù)的字長(zhǎng)為16位。每個(gè)16位數(shù)用一個(gè)符號(hào)位來表示數(shù)的正負(fù),0表示數(shù)值為正,1則表示數(shù)值為負(fù)。其余15位表示數(shù)值的大小。
參與數(shù)值運(yùn)算的數(shù)為16位的整型數(shù)。但在許多情況下,數(shù)學(xué)運(yùn)算過程中的數(shù)不一定都是整數(shù)。定點(diǎn)芯片本身無法處理小數(shù),必須是由程序員來確定一個(gè)數(shù)的小數(shù)點(diǎn)處于16位中的哪一位。這就是數(shù)的定標(biāo)!通過設(shè)定小數(shù)點(diǎn)在16位數(shù)中的不同位置,就可以表示不同大小和不同精度的小數(shù)。所以浮點(diǎn)轉(zhuǎn)定點(diǎn)的關(guān)鍵是定標(biāo)和截位操作!
我們?cè)诰帉慏SP浮點(diǎn)算法時(shí),一般都是采用高級(jí)語言(如C語言或者matlab語言)來編寫浮點(diǎn)程序。程序中所用的變量一般既有整型數(shù),又有浮點(diǎn)數(shù)。后來我都用matlab來寫定點(diǎn)程序,效果是一樣的。不過自己的c編程能力后來就慢慢退化了。
先看指數(shù)濾波器的程序,然后再學(xué)習(xí)AGC的定點(diǎn)程序!
指數(shù)濾波器也能濾除噪聲!但是什么樣的噪聲呢?白噪聲!再來看定點(diǎn)的AGC程序吧!這是之前工作時(shí)候?qū)懙某绦?!沒有改動(dòng)!這個(gè)定點(diǎn)程序能用在QAM接收機(jī)中,不能用于短波接收機(jī)中!為什么呢?后續(xù)文章再講解!當(dāng)年研制完短波電臺(tái)后,我整整休整了一個(gè)星期,太累了。用腦過度,一時(shí)很難緩的過來!
%%%%%%% File: FixpointAGC_test_rel1.m %%%%%%
%%%%%%%% date: 2008-08-07 %%%%%%%%
%%%%% 目的
% 在程序DigitalAGC_test_rel1改進(jìn)成定點(diǎn)優(yōu)化的程序。
編輯:jq
-
dsp
+關(guān)注
關(guān)注
559文章
8210瀏覽量
363765 -
FPGA
+關(guān)注
關(guān)注
1655文章
22277瀏覽量
629927 -
濾波器
+關(guān)注
關(guān)注
162文章
8347瀏覽量
184690 -
C語言
+關(guān)注
關(guān)注
183文章
7642瀏覽量
144535
原文標(biāo)題:大學(xué)畢業(yè)設(shè)計(jì)一席談之二十二 數(shù)字AGC的matlab仿真(3)
文章出處:【微信號(hào):gh_30373fc74387,微信公眾號(hào):通信工程師專輯】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
定點(diǎn)數(shù)表示實(shí)數(shù)的方法以及定點(diǎn)數(shù)在硬件上的運(yùn)算驗(yàn)證
中科慧眼高級(jí)智能輔助駕駛系統(tǒng)再獲雙定點(diǎn)
保隆科技閉式供氣單元首獲海外定點(diǎn)
保隆科技電控減振器獲得海外定點(diǎn)
定點(diǎn)小數(shù)運(yùn)算
STM32G070RBT6TR ADC采集定點(diǎn)電壓誤差較大,有沒有優(yōu)化方向?
佑駕創(chuàng)新獲得某頭部自主品牌定點(diǎn)
FPGA定點(diǎn)和浮點(diǎn)數(shù)學(xué)運(yùn)算實(shí)例對(duì)比
保隆科技毫米波雷達(dá)再獲項(xiàng)目定點(diǎn)
禾賽科技獲得奇瑞iCAR新車型量產(chǎn)定點(diǎn)
首發(fā)定點(diǎn):美格智能全新5G智能座艙模組獲國(guó)內(nèi)頭部大廠項(xiàng)目定點(diǎn)

定點(diǎn)程序會(huì)是什么樣?為什么要進(jìn)行定點(diǎn)仿真呢?
評(píng)論