午夜性刺激免费看_小说区图片区偷拍区另_一级片视频免费_一级口次A片,欧美a片免费在线观看,国产Av无码一区二区三区,99视频在线观看视频6,A片免费无码一级,亚洲五月花AV在线,激情影院a,国产在线观看综合

首頁(yè) 技術(shù)文章

FPGA高速數(shù)據(jù)采集浮點(diǎn)數(shù)定點(diǎn)數(shù)轉(zhuǎn)換

2015-06-02 18:04:00 坤馳科技

在FPGA實(shí)現(xiàn)數(shù)字信號(hào)處理過(guò)程中經(jīng)常會(huì)遇到將MATLAB程序放到FPGA中去運(yùn)算,,運(yùn)算完后再導(dǎo)入MATLAB查看數(shù)據(jù)結(jié)果做后續(xù)處理,。而MATLAB一般為雙精度浮點(diǎn)運(yùn)算,,而FPGA一般為定點(diǎn)運(yùn)算,。所以需要將浮點(diǎn)數(shù)轉(zhuǎn)為定點(diǎn)數(shù),再送到FPGA中去運(yùn)算,,將運(yùn)算結(jié)果導(dǎo)入MATLAB后再轉(zhuǎn)為浮點(diǎn)數(shù),。這就涉及到DSP定標(biāo)問(wèn)題。
在定點(diǎn)DSP芯片中,,采用定點(diǎn)數(shù)進(jìn)行數(shù)值運(yùn)算,,其操作數(shù)一般采用整型數(shù)來(lái)表示。一個(gè)整型數(shù)的大表示范圍取決于DSP芯片所給定的字長(zhǎng),,一般為16位或24位,。顯然,字長(zhǎng)越長(zhǎng),,所能表示的數(shù)的范圍越大,,精度也越高。如無(wú)特別說(shuō)明,,本書(shū)均以16位字長(zhǎng)為例,。
DSP芯片的數(shù)以2的補(bǔ)碼形式表示。每個(gè)16位數(shù)用一個(gè)符號(hào)位來(lái)表示數(shù)的正負(fù),,0表示數(shù)值為正,,l則表示數(shù)值為負(fù)。其余15位表示數(shù)值的大小,。因此,,
二進(jìn)制數(shù)0010000000000011b=8195
二進(jìn)制數(shù)1111111111111100b= -4
對(duì)DSP芯片而言,參與數(shù)值運(yùn)算的數(shù)就是16位的整型數(shù),。但在許多情況下,,數(shù)學(xué)運(yùn)算過(guò)程中的數(shù)不一定都是整數(shù)。那么,,DSP芯片是如何處理小數(shù)的呢,?應(yīng)該說(shuō),,DSP芯片本身無(wú)能為力。那么是不是說(shuō)DSP芯片就不能處理各種小數(shù)呢,?當(dāng)然不是,。這其中的關(guān)鍵就是由程序員來(lái)確定一個(gè)數(shù)的小數(shù)點(diǎn)處于16位中的哪一位。這就是數(shù)的定標(biāo),。
通過(guò)設(shè)定小數(shù)點(diǎn)在16位數(shù)中的不同位置,就可以表示不同大小和不同精度的小數(shù)了,。數(shù)的定標(biāo)有Q表示法和S表示法兩種,。表1.1列出了一個(gè)16位數(shù)的16種Q表示、S表示及它們所能表示的十進(jìn)制數(shù)值范圍,。
從表1.1可以看出,,同樣一個(gè)16位數(shù),若小數(shù)點(diǎn)設(shè)定的位置不同,,它所表示的數(shù)也就不同,。例如,
16進(jìn)制數(shù)2000H=8192,,用Q0表示
16進(jìn)制數(shù)2000H=0.25,,用Q15表示
但對(duì)于DSP芯片來(lái)說(shuō),處理方法是完全相同的,。
從表1.1還可以看出,,不同的Q所表示的數(shù)不僅范圍不同,而且精度也不相同,。Q越大,,數(shù)值范圍越小,但精度越高,;相反,,Q越小,數(shù)值范圍越大,,但精度就越低,。例如,Q0 的數(shù)值范圍是一32768到+32767,,其精度為1,,而Q15的數(shù)值范圍為-1到0.9999695,精度為1/32768=0.00003051,。因此,,對(duì)定點(diǎn)數(shù)而言,數(shù)值范圍與精度是一對(duì)矛盾,,一個(gè)變量要想能夠表示比較大的數(shù)值范圍,,必須以犧牲精度為代價(jià),;而想精度提高,則數(shù)的表示范圍就相應(yīng)地減小,。在實(shí)際的定點(diǎn)算法中,,為了達(dá)到佳的性能,必須充分考慮到這一點(diǎn),。
浮點(diǎn)數(shù)與定點(diǎn)數(shù)的轉(zhuǎn)換關(guān)系可表示為:
浮點(diǎn)數(shù)(x)轉(zhuǎn)換為定點(diǎn)數(shù)(xq):xq=(int)x* 2Q
定點(diǎn)數(shù)(xq)轉(zhuǎn)換為浮點(diǎn)數(shù)(x):x=(float)xq*2-Q
例如,,浮點(diǎn)數(shù)x=0.5,定標(biāo)Q=15,,則定點(diǎn)數(shù)xq=L0.5*32768J=16384,,式中LJ表示下取整。反之,,一個(gè)用Q=15表示的定點(diǎn)數(shù)16384,,其浮點(diǎn)數(shù)為163幼*2-15=16384/32768=0.5。浮點(diǎn)數(shù)轉(zhuǎn)換為定點(diǎn)數(shù)時(shí),,為了降低截尾誤差,,在取整前可以先加上0.5。
表1.1 Q表示,、S表示及數(shù)值范圍
Q表示 S表示 十進(jìn)制數(shù)表示范圍
Q15 S0.15 -1≤x≤0.9999695
Q14 S1.14 -2≤x≤1.9999390
Q13 S2.13 -4≤x≤3.9998779
Q12 S3.12 -8≤x≤7.9997559
Q11 S4.11 -16≤x≤15.9995117
Q10 S5.10 -32≤x≤31.9990234
Q9 S6.9 -64≤x≤63.9980469
Q8 S7.8 -128≤x≤127.9960938
Q7 S8.7 -256≤x≤255.9921875
Q6 S9.6 -512≤x≤511.9804375
Q5 S10.5 -1024≤x≤1023.96875
Q4 S11.4 -2048≤x≤2047.9375
Q3 S12.3 -4096≤x≤4095.875
Q2 S13.2 -8192≤x≤8191.75
Q1 S14.1 -16384≤x≤16383.5
Q0 S15.0 -32768≤x≤32767
附錄:下面MATLAB代碼實(shí)現(xiàn)了將浮點(diǎn)數(shù)(注:絕對(duì)值小于1)轉(zhuǎn)為設(shè)定的位數(shù)的二進(jìn)制補(bǔ)碼形式
function [y]=dectobin(innum,N);
%將絕對(duì)值小于1的值轉(zhuǎn)換為(N+1)位的二進(jìn)制數(shù)負(fù)數(shù)用補(bǔ)碼表示
%N表示abs(innum)*2^N;多出的一位表示符號(hào)位
if (abs(innum)>=1)|(N == 0)%判斷輸入的有效性 注:輸入數(shù)據(jù)必須為-1到1之間的值
disp('error!');
return;
end
%如果需要轉(zhuǎn)換的浮點(diǎn)數(shù)X2^N還小于1的話,,該值就為0
%very important
if((abs(innum)*2^N)<1)
innum=0;
end
count=0;
tempnum=abs(innum);
record=zeros(1,N+1);
while(N)
count=count+1;%長(zhǎng)度小于N
if(count>N)
break;
end
tempnum=tempnum*2;%小數(shù)轉(zhuǎn)換為二進(jìn)制,乘2取整
if tempnum>1
record(count+1)=1;
tempnum=tempnum-1;
elseif(tempnum==1)
record(count+1)=1;
N=0;%stop loop
else
record(count+1)=0;
end
end
if innum>=0 %輸入值大于等于0
record(1)=0;
y=record;
else %輸入值小于0
record(1)=1;
for i=2:N+1 %取反
if record(i)==1
record(i)=0;
else
record(i)=1;
end
end
temp=N+1; %加1
while(temp>1)
if record(temp)==0
record(temp)=1;
temp=0;%循環(huán)結(jié)束
else
record(temp)=0;
temp=temp-1;
end
end
y=record;
end
return;

若您有高速數(shù)據(jù)采集板卡定制需求,請(qǐng)聯(lián)系我們:400-000-4026

關(guān)于坤馳科技:
坤馳科技是專注于
高速數(shù)據(jù)采集與信號(hào)處理,、高速數(shù)據(jù)存儲(chǔ)與記錄的高科技公司,。坤馳科技為用戶提供成熟的標(biāo)準(zhǔn)高速數(shù)據(jù)采集產(chǎn)品與技術(shù),也可為用戶提供定制化的高速信號(hào)采集解決方案,。目前坤馳科技服務(wù)過(guò)的研究所,、科研單位已達(dá)近百家。高速數(shù)據(jù)采集產(chǎn)品線涵蓋PCIExpress,、cPCI,、PXIe、VPX,、USB等總線,,包含高速AD、DA平臺(tái),、FPGA,、DSP處理平臺(tái),SATA/SSD,、Flash存儲(chǔ)平臺(tái)等,。
全國(guó)咨詢電話:400-000-4026

公司官方網(wǎng)站:http://jtyykv.cn

網(wǎng)友熱評(píng)