專利名稱::一種求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及定點(diǎn)數(shù)字信號(hào)處理技術(shù),特別涉及一種求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的方法及裝置。
背景技術(shù):
:數(shù)字信號(hào)處理器可以實(shí)時(shí)快速地實(shí)現(xiàn)各種數(shù)字信號(hào)處理算法,為實(shí)時(shí)信號(hào)處理提供了很大的方便,數(shù)字信號(hào)處理器可分為浮點(diǎn)數(shù)字信號(hào)處理器和定點(diǎn)數(shù)字信號(hào)處理器兩種。絕大多數(shù)定點(diǎn)數(shù)字信號(hào)處理器都不支持直接求某個(gè)輸入數(shù)據(jù)的常用函數(shù)值的操作,例如,求平方根或者對(duì)數(shù)等,因此在定點(diǎn)數(shù)字信號(hào)處理器上進(jìn)行信號(hào)處理時(shí),如何高效、準(zhǔn)確的求平方根和求對(duì)數(shù)等常用函數(shù)是一個(gè)普遍性的難題。通常,采用查表的方法求定點(diǎn)數(shù)字信號(hào)的常用函數(shù)值。下面以求某個(gè)輸入數(shù)據(jù)的平方根為例,對(duì)現(xiàn)有技術(shù)中典型的查表求常用函數(shù)值的方法進(jìn)行說明。該方法采取舍棄輸入數(shù)據(jù)的低數(shù)據(jù)位,以減小查表索引取值范圍的方式,預(yù)先在表中存儲(chǔ)部分輸入數(shù)據(jù)的平方根運(yùn)算結(jié)果;在查表之前,先舍棄輸入數(shù)據(jù)的低數(shù)據(jù)位,如5位,得到查表索引,然后根據(jù)所得到的查表索引查表、確定相應(yīng)的運(yùn)算結(jié)果。以對(duì)字長為16比特(bits)的有符號(hào)定點(diǎn)數(shù)n求平方根為例首先,設(shè)置3個(gè)常數(shù)表數(shù)組sqrt_table_1[]、sqrt_table_2[]和sqrt_table_3[],存儲(chǔ)部分輸入數(shù)據(jù)的平方根運(yùn)算結(jié)果,所存儲(chǔ)的內(nèi)容分別為sqrt_table_1[m]=fix[sqrt(m<<10)]sqrt_table_2[m]=fix[sqrt(m<<5)]sqrt_table_3[m]=fix[sqrt(m)]---(1)]]>(1)式中,m為查表索引,取值范圍為0~31;<<表示將數(shù)據(jù)左移若干位;sqrt(m)為平方根函數(shù),表示m的平方根;fix[]表示將浮點(diǎn)數(shù)轉(zhuǎn)化成某種特定格式的定點(diǎn)數(shù)的操作,這里,所作的操作可以包括乘法、四舍五入、取整或移位等。然后查表求輸入數(shù)據(jù)n的平方根,將n的平方根表示為sqrt_result(n),則sqrt_result(n)與預(yù)先存儲(chǔ)的平方根運(yùn)算結(jié)果的對(duì)應(yīng)關(guān)系為sqrt_result(n)=sqrt_table_3[n],n<32sqrt_table_2[n>>5],32≤n<1024sqrt_table_3[n>>10],n≥1024---(2)]]>由(1)式和(2)式可知,采用本方法所得到的n的平方根sqrt_result(n)與輸入數(shù)據(jù)n之間的對(duì)應(yīng)關(guān)系為sqrt_result(n)=fix[sqrt(n)],n<32fix[sqrt(n&0x3e0)],32≤n<1024fix[sqrt(n&0x7c00)],n≥1024---(3)]]>(3)式中,&表示二進(jìn)制與操作;0x為十六進(jìn)制數(shù)的前綴,0b為二進(jìn)制數(shù)的前綴,0x3e0的二進(jìn)制表示形式為0b0000001111100000。由(3)式可知,本方法將輸入數(shù)據(jù)的最低5或10個(gè)數(shù)據(jù)位置為0作為新的輸入數(shù)據(jù)查表,使得采用本方法所求得的運(yùn)算結(jié)果可能與準(zhǔn)確值存在很大偏差,例如,對(duì)于輸入數(shù)據(jù)2047,二進(jìn)制表示形式為0b011111111111,查表得到的結(jié)果是fix[sqrt(1024)]。這是由于當(dāng)輸入數(shù)據(jù)的有效字長為11~15bits之間時(shí),本方法均將最低10個(gè)數(shù)據(jù)位置0,實(shí)際保留的有效數(shù)據(jù)位只有1~5bits,導(dǎo)致數(shù)據(jù)的有效字長越小,運(yùn)算結(jié)果將與真實(shí)值偏離越大。這里,有效字長是指定點(diǎn)數(shù)的二進(jìn)制表示形式中,最高位的1所在的數(shù)據(jù)位,例如,63的二進(jìn)制表示形式為0b0111111,其有效字長就是6位。此外,由于存在關(guān)系sqrt(n*pow(2,1))=sqrt(n)*pow(2,1/2),其中,pow()表示冪函數(shù),因此(1)式中有sqrt_table_1[m]=(sqrt_table_3[m]<<5)(4)因此,上述方法中表的內(nèi)容存在一定的冗余。綜上所述,現(xiàn)有利用查表求常用函數(shù)值的方法,存在準(zhǔn)確度低、且表的內(nèi)容有一定冗余等缺點(diǎn),不能精確地求定點(diǎn)數(shù)字信號(hào)的常用函數(shù)值。
發(fā)明內(nèi)容有鑒于此,本發(fā)明的主要目的在于提供一種求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的方法,以提高定點(diǎn)數(shù)字信號(hào)處理的準(zhǔn)確度。本發(fā)明的另一個(gè)目的在于提供一種求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的裝置,以提高定點(diǎn)數(shù)字信號(hào)處理的準(zhǔn)確度。為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的一種求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的方法,根據(jù)預(yù)先確定的定點(diǎn)數(shù)字信號(hào)字長和預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)確定查表索引,并對(duì)所述每個(gè)查表索引左移預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)位、置其次高位為1所得到的值求所述常用函數(shù)值,將所得到的常用函數(shù)值作為中間結(jié)果,建立所述中間結(jié)果與所述查表索引的對(duì)應(yīng)關(guān)系,該方法包括以下步驟A、對(duì)所述常用函數(shù)的輸入數(shù)據(jù)進(jìn)行歸一化處理,得到與所述輸入數(shù)據(jù)相對(duì)應(yīng)的歸一化數(shù)據(jù);B、根據(jù)所得到的歸一化數(shù)據(jù)求查表索引,并根據(jù)所求得的查表索引以及預(yù)先建立的中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系,得到與輸入數(shù)據(jù)相對(duì)應(yīng)的中間結(jié)果;C、根據(jù)中間結(jié)果計(jì)算所述輸入數(shù)據(jù)的常用函數(shù)值。其中,所述確定查表索引可以為將所述定點(diǎn)數(shù)字信號(hào)字長減所述預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù),再減2所得到的值作為查表索引的長度,將符合所述查表索引長度的所有二進(jìn)制數(shù)確定為所述查表索引;所述得到每個(gè)查表索引對(duì)應(yīng)的中間結(jié)果可以為設(shè)L表示所述定點(diǎn)數(shù)字信號(hào)字長,d表示所述預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù),對(duì)所述查表索引左移d位,加上以2為底、以(L-2)為指數(shù)的冪所得到的結(jié)果求所述常用函數(shù)值,并將所得到的常用函數(shù)值以乘法、四舍五入、取整或移位的操作轉(zhuǎn)化為特定格式的定點(diǎn)數(shù),得到所述中間結(jié)果。其中,可以預(yù)先設(shè)置放大因子,在得到所述常用函數(shù)值之后,將所得到的常用函數(shù)值轉(zhuǎn)化為特定格式的定點(diǎn)數(shù)之前,可以進(jìn)一步包括將所述常用函數(shù)值乘以所述放大因子。其中,所述設(shè)置放大因子可以為根據(jù)與所述常用函數(shù)的最大輸入數(shù)據(jù)相對(duì)應(yīng)的函數(shù)值的二進(jìn)制有效字長,將所述放大因子設(shè)置為小于等于以2為底、以(L-1-所述函數(shù)值的二進(jìn)制有效字長)為指數(shù)的冪。其中,所述步驟A可以包括A1、求所述輸入數(shù)據(jù)的冗余符號(hào)位個(gè)數(shù);A2、將所述輸入數(shù)據(jù)左移所述冗余符號(hào)位個(gè)數(shù)位,得到所述輸入數(shù)據(jù)的歸一化數(shù)據(jù)。其中,步驟B所述根據(jù)所得到的歸一化數(shù)據(jù)求查表索引可以包括B11、構(gòu)造長度等于所述定點(diǎn)數(shù)字信號(hào)字長的掩碼,并將所述掩碼的最高位和次高位置為0、從最低位開始的連續(xù)d位數(shù)據(jù)位置為0、其余位置為1,其中,d為預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù);B12、對(duì)所述歸一化數(shù)據(jù)和所構(gòu)造的掩碼進(jìn)行二進(jìn)制與操作,并將所述與操作的結(jié)果右移d位,得到查表索引。其中,步驟B所述根據(jù)所得到的歸一化數(shù)據(jù)求查表索引可以包括B21、構(gòu)造長度等于所述定點(diǎn)數(shù)字信號(hào)字長的掩碼,并將所述掩碼的最高位和次高位置為0、從最低位開始的連續(xù)(d-1)位數(shù)據(jù)位置為0、其余位置為1,其中,d為預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù);B22、對(duì)所述歸一化數(shù)據(jù)和所構(gòu)造的掩碼進(jìn)行二進(jìn)制與操作,并將所述與操作的結(jié)果右移(d-1)位,得到右移結(jié)果;B23、若右移結(jié)果等于以2為底、以(L-d-1)為指數(shù)的冪減1,則將以2為底、以(L-d-2)為指數(shù)的冪減1所得到的值作為所述查表索引;否則,將右移結(jié)果與1的和右移1位所得到的值作為所述查表索引。其中,所述常用函數(shù)可以為平方根函數(shù),所述步驟C可以為求以2為底、以所述輸入數(shù)據(jù)冗余符號(hào)位個(gè)數(shù)除以2所得值的相反數(shù)為指數(shù)的冪,并將所述冪與所述中間結(jié)果的乘積轉(zhuǎn)化為特定格式的定點(diǎn)數(shù),得到所述輸入數(shù)據(jù)的常用函數(shù)值。其中,所述常用函數(shù)可以為平方根函數(shù),所述步驟C可以為求以2為底、以所述輸入數(shù)據(jù)冗余符號(hào)位個(gè)數(shù)除以2所得值的相反數(shù)為指數(shù)的冪,將所述冪除以所述放大因子、并乘以所述中間結(jié)果所得到的值轉(zhuǎn)化為特定格式的定點(diǎn)數(shù),得到所述輸入數(shù)據(jù)的常用函數(shù)值。其中,所述常用函數(shù)可以為對(duì)數(shù)函數(shù),所述步驟C可以為設(shè)logx2表示求以x為底2的對(duì)數(shù),求所述輸入數(shù)據(jù)冗余符號(hào)位個(gè)數(shù)與logx2之乘積,并將所述中間結(jié)果與所述乘積之差轉(zhuǎn)化為特定格式的定點(diǎn)數(shù),得到所述輸入數(shù)據(jù)的常用函數(shù)值。其中,所述常用函數(shù)可以為對(duì)數(shù)函數(shù),所述步驟C可以為設(shè)logx2表示求以x為底2的對(duì)數(shù),求所述輸入數(shù)據(jù)冗余符號(hào)位個(gè)數(shù)與logx2之乘積,并求所述中間結(jié)果與放大因子之商,將所述商與所述乘積之差轉(zhuǎn)化為特定格式的定點(diǎn)數(shù),得到所述輸入數(shù)據(jù)的常用函數(shù)值。進(jìn)一步地,在所述步驟B與步驟C之間,可以包括C0、判斷所述步驟C之后是否存在以所述輸入數(shù)據(jù)的常用函數(shù)值作為輸入數(shù)據(jù)的后續(xù)運(yùn)算,若是,則以所述中間結(jié)果作為所述后續(xù)運(yùn)算的輸入數(shù)據(jù),并根據(jù)后續(xù)運(yùn)算結(jié)果計(jì)算所述輸入數(shù)據(jù)的常用函數(shù)值,結(jié)束本流程;否則,繼續(xù)執(zhí)行步驟C。一種求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的裝置,該裝置包括輸入模塊、常用函數(shù)值求取模塊、存儲(chǔ)模塊和輸出模塊;所述輸入模塊,用于將輸入數(shù)據(jù)發(fā)送給所述常用函數(shù)值求取模塊;所述常用函數(shù)值求取模塊,用于對(duì)來自于所述輸入模塊的輸入數(shù)據(jù)進(jìn)行歸一化處理,并得到查表索引,并以所得到的查表索引向所述存儲(chǔ)模塊查詢;所述存儲(chǔ)模塊,用于存儲(chǔ)中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系,并根據(jù)所述常用函數(shù)值求取模塊的查詢,向所述常用函數(shù)值求取模塊提供中間結(jié)果;所述常用函數(shù)值求取模塊,用于根據(jù)來自于所述存儲(chǔ)模塊的中間結(jié)果計(jì)算所述輸入數(shù)據(jù)的常用函數(shù)值,并將計(jì)算所得到的常用函數(shù)值發(fā)送給所述輸出模塊;所述輸出模塊,用于接收來自于所述常用函數(shù)值求取模塊的常用函數(shù)值。其中,所述常用函數(shù)值求取模塊可以包括歸一化處理子模塊、查表子模塊和運(yùn)算子模塊;所述歸一化處理子模塊,可以用于對(duì)來自于所述輸入模塊的輸入數(shù)據(jù)進(jìn)行歸一化處理,并將所得到的歸一化數(shù)據(jù)發(fā)送給所述查表子模塊;所述查表子模塊,可以用于根據(jù)來自于所述歸一化處理子模塊的歸一化數(shù)據(jù)求查表索引,并以所求得的查表索引向所述存儲(chǔ)模塊查詢,將來自于所述存儲(chǔ)模塊的中間結(jié)果發(fā)送給所述運(yùn)算子模塊;所述運(yùn)算模塊,可以用于根據(jù)來自于所述查表子模塊的中間結(jié)果計(jì)算與輸入數(shù)據(jù)相對(duì)應(yīng)的常用函數(shù)值,并將所得到的常用函數(shù)輸出值發(fā)送給所述輸出模塊。由上述技術(shù)方案可見,本發(fā)明技術(shù)方案在吸取現(xiàn)有技術(shù)舍棄輸入數(shù)據(jù)的低數(shù)據(jù)位,以減小查表索引取值范圍之優(yōu)點(diǎn)的基礎(chǔ)上,采取了首先將輸入數(shù)據(jù)左移、消除冗余符號(hào)位,然后再舍棄低數(shù)據(jù)位的方式確定查表索引,使得無論輸入數(shù)據(jù)的有效字長如何變化,本發(fā)明均能保證若干最高數(shù)據(jù)位的準(zhǔn)確性。如此,一方面保證了本發(fā)明所求得的常用函數(shù)值具有足夠的準(zhǔn)確度,另一方面減小了查表索引的取值范圍,降低了存儲(chǔ)中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系所需的空間。而且,本發(fā)明表中所存儲(chǔ)的中間結(jié)果,采用放大之后再存儲(chǔ)的方式,使得本發(fā)明所求得的常用函數(shù)值具備最高數(shù)據(jù)精度。并且,本發(fā)明得到中間結(jié)果之后,還可以先以中間結(jié)果作為后續(xù)運(yùn)算的輸入數(shù)據(jù),參與后續(xù)運(yùn)算,并根據(jù)后續(xù)運(yùn)算的結(jié)果計(jì)算常用函數(shù)值,從而使運(yùn)算準(zhǔn)確度得到了進(jìn)一步提高。此外,由于本發(fā)明所存儲(chǔ)的中間結(jié)果與查表索引對(duì)應(yīng)關(guān)系表的尺寸較小,因此查表速度將比較快。圖1為本發(fā)明求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的示例性方法流程圖。圖2為本發(fā)明實(shí)施例一中求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的方法流程圖。圖3為本發(fā)明實(shí)施例中求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的裝置結(jié)構(gòu)示意圖。具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。本發(fā)明的主要思想是根據(jù)預(yù)先確定的定點(diǎn)數(shù)字信號(hào)字長和預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)確定查表索引,并對(duì)每個(gè)查表索引左移預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)位、置其次高位為1所得到的值求相應(yīng)的常用函數(shù)值,將所得到的常用函數(shù)值作為中間結(jié)果,預(yù)先建立中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系;當(dāng)需要求某個(gè)輸入數(shù)據(jù)的常用函數(shù)值時(shí),將輸入數(shù)據(jù)歸一化之后再舍棄預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)個(gè)最低數(shù)據(jù)位的值確定為查表索引,然后根據(jù)中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系,確定與輸入數(shù)據(jù)相對(duì)應(yīng)的中間結(jié)果,最后根據(jù)中間結(jié)果計(jì)算輸入數(shù)據(jù)對(duì)應(yīng)的常用函數(shù)值。圖1為本發(fā)明求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的示例性方法流程圖。參見圖1,該方法根據(jù)預(yù)先確定的定點(diǎn)數(shù)字信號(hào)字長和預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)確定查表索引,其中,定點(diǎn)數(shù)字信號(hào)字長由具體實(shí)施本發(fā)明技術(shù)方案的硬件平臺(tái)的字長決定,預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)可以根據(jù)具體應(yīng)用中對(duì)準(zhǔn)確度要求的不同而設(shè)置相應(yīng)的值;并對(duì)每個(gè)查表索引左移預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)位、置其次高位為1所得到的值求相應(yīng)的常用函數(shù)值,將所得到的常用函數(shù)值作為中間結(jié)果,預(yù)先建立中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系,本方法還包括以下步驟步驟101對(duì)常用函數(shù)的輸入數(shù)據(jù)進(jìn)行歸一化處理,得到與輸入數(shù)據(jù)相對(duì)應(yīng)的歸一化數(shù)據(jù);步驟102根據(jù)所得到的歸一化數(shù)據(jù)求查表索引,并根據(jù)所求得的查表索引以及預(yù)先建立的中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系,得到與輸入數(shù)據(jù)相對(duì)應(yīng)的中間結(jié)果;步驟103根據(jù)中間結(jié)果計(jì)算輸入數(shù)據(jù)的常用函數(shù)值。至此,結(jié)束本發(fā)明示例性方法流程。常用函數(shù)包括平方根函數(shù)、對(duì)數(shù)函數(shù)等。以下舉兩個(gè)實(shí)施例分別對(duì)采用本發(fā)明技術(shù)方案求平方根和求自然對(duì)數(shù)的具體實(shí)施方式進(jìn)行詳細(xì)說明實(shí)施例一本實(shí)施例中,定點(diǎn)數(shù)字信號(hào)字長為16bits、預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)為6個(gè)、常用函數(shù)為平方根函數(shù)。在實(shí)際應(yīng)用中,根據(jù)實(shí)施本發(fā)明技術(shù)方案的硬件平臺(tái)的字長不同,定點(diǎn)數(shù)字信號(hào)字長可能為24bits、32bits或其他長度,而預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)也可能因具體應(yīng)用中對(duì)準(zhǔn)確度要求的不同而為其他值,只需將本實(shí)施例中的定點(diǎn)數(shù)字信號(hào)字長和預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)作相應(yīng)調(diào)整即可實(shí)施。圖2為本發(fā)明實(shí)施例一中求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的方法流程圖。在本實(shí)施例中,常用函數(shù)類型為平方根函數(shù),參見圖2,該方法包括以下步驟步驟201根據(jù)預(yù)先確定的定點(diǎn)數(shù)字信號(hào)字長、預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)以及常用函數(shù)類型,建立中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系表。本實(shí)施例中,將所建立的中間結(jié)果與查表索引對(duì)應(yīng)關(guān)系表記為sqrt_table[]。由于平方根函數(shù)的輸入數(shù)據(jù)只能是正數(shù),因此16bits輸入數(shù)據(jù)的最高位,即符號(hào)位取值恒為0;而采用本發(fā)明方法求函數(shù)值時(shí),需先對(duì)輸入數(shù)據(jù)進(jìn)行歸一化處理,使所得到的歸一化數(shù)據(jù)的次高位,即最高數(shù)據(jù)位取值恒為1;并且,本實(shí)施例預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)為6,因此所建立的sqrt_table[]表中查表索引的長度為定點(diǎn)數(shù)字信號(hào)字長減預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù),再減2所得到的值,即16-6-2=8bits,而查表索引的取值范圍為所有符合查表索引長度的二進(jìn)制數(shù),即0~28,因此,表中共有28=256個(gè)元素。表中各元素是與各查表索引相對(duì)應(yīng)的中間結(jié)果,設(shè)置中間結(jié)果的依據(jù)為由于采用本發(fā)明方法求函數(shù)值時(shí),需先對(duì)輸入數(shù)據(jù)進(jìn)行歸一化處理,使所得到的歸一化數(shù)據(jù)的最高數(shù)據(jù)位取值為1,然后右移預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)位,即舍棄預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)個(gè)最低數(shù)據(jù)位,從而得到查表索引,因此,將查表索引左移預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)位,并置最高數(shù)據(jù)位為1即可近似恢復(fù)歸一化數(shù)據(jù),對(duì)所得到的歸一化數(shù)據(jù)近似值求平方根,即可得到與每個(gè)查表索引對(duì)應(yīng)的中間結(jié)果。以index_talbe表示查表索引、sqrt_table[index_table]表示與查表索引index_table相對(duì)應(yīng)的中間結(jié)果,本實(shí)施例中所建立的查表索引與查表結(jié)果的對(duì)應(yīng)關(guān)系表示為sqrt_table[index_table]=fix[sqrt(pow(2,14)+(index_table<<6))*pow(2,7.5)](5.a)(5.a)式中,index_talbe的取值范圍為0~255;<<為左移操作,表示將定點(diǎn)數(shù)據(jù)左移若干位;pow(a,b)為冪函數(shù),表示以a為底,以b為指數(shù)的冪;fix[]為將浮點(diǎn)數(shù)轉(zhuǎn)化為某種特定格式定點(diǎn)數(shù)的操作,這里,所作的操作可以包括乘法、四舍五入、取整或移位等。為了提高中間結(jié)果的存儲(chǔ)精度,可以將歸一化數(shù)據(jù)近似值的平方根乘以一個(gè)放大因子g,再轉(zhuǎn)化為定點(diǎn)數(shù)作為中間結(jié)果存儲(chǔ)在表中相應(yīng)的位置。這里,所選取的放大因子與常用函數(shù)的類型以及定點(diǎn)數(shù)字信號(hào)字長有關(guān)。具體而言,根據(jù)與所述常用函數(shù)的最大輸入數(shù)據(jù)相對(duì)應(yīng)的函數(shù)值的二進(jìn)制有效字長x,設(shè)置小于等于pow(2,L-1-x)的放大因子,其中,L表示定點(diǎn)數(shù)字信號(hào)處理平臺(tái)的字長。對(duì)應(yīng)于本實(shí)施例,放大因子為pow(2,(L-1)/2),這是由于長度為L的輸入數(shù)據(jù)的平方根必定小于pow(2,(L-1)/2),而乘以pow(2,(L-1)/2)之后,一方面使得中間結(jié)果小于pow(2,L-1),保證不會(huì)產(chǎn)生溢出;另一方面將原始計(jì)算結(jié)果放大了pow(2,(L-1)/2)倍,最大程度地保留了平方根函數(shù)值的有效位數(shù),使得存儲(chǔ)精度得以提高,在(5.a)式中,表示為sqrt(pow(2,14)+(index_table<<6))*pow(2,7.5)。步驟202對(duì)平方根函數(shù)的輸入數(shù)據(jù)進(jìn)行歸一化處理,得到與輸入數(shù)據(jù)相對(duì)應(yīng)的歸一化數(shù)據(jù)。本步驟中,將16bits正定點(diǎn)輸入數(shù)據(jù)記為n1,若以bi表示n1的第i+1位,則n1可以用二進(jìn)制形式表示為n1=0b14…bm+1bm…b1b0(5.b)(5.b)中,最高位b15為符號(hào)位,值為0表示n1是正數(shù);b14~b0為15個(gè)數(shù)據(jù)位,取值為0或1。設(shè)n1的有效字長為m+1,即數(shù)據(jù)位bm為1、數(shù)據(jù)位b14~bm+1均為0,將b14~bm+1這些值為全0的高位數(shù)據(jù)位稱為冗余符號(hào)位。通常,定點(diǎn)數(shù)字信號(hào)處理器都提供求冗余符號(hào)位個(gè)數(shù)的函數(shù),如norm(),在沒有提供相應(yīng)函數(shù)的定點(diǎn)數(shù)字信號(hào)處理器中,可以編程用移位操作求取。本例中,有norm(n1)=14-m(5.c)以下均以norm(n)表示定點(diǎn)數(shù)據(jù)n的冗余符號(hào)位個(gè)數(shù)。本步驟中,對(duì)n1進(jìn)行歸一化處理為將n1左移norm(n1)位,得到與n1相對(duì)應(yīng)的歸一化數(shù)據(jù)n2,即有n2=n1<<norm(n1)(5.d)若以ci表示n2的第i+1位,則n2的二進(jìn)制表示形式可以記為n2=0c14c13c12…c14-m…c0(5.e)則由(5.b)和(5.d)可知,存在關(guān)系c14=bm=1(5.f)c14-j=bm-j(其中,j=1~m)(5.g)因此,n2中不存在冗余符號(hào)位,其最高數(shù)據(jù)位c14必然為1。n2保留了n1的全部m個(gè)有效數(shù)據(jù)位bm~b0,只是將這m個(gè)數(shù)據(jù)位左移到最高數(shù)據(jù)位部分。由(5.d)可知,若以sqrt_fix_result(n1)和sqrt_fix_result(n2)分別表示的n1和n2的平方根,則n1與n2的平方根之間存在關(guān)系sqrt_fix_result(n1)=fix[sqrt_fix_result(n2)*pow(2,-norm(n))](5.h)步驟203根據(jù)所得到的歸一化數(shù)據(jù)求查表索引,并根據(jù)所求得的查表索引以及預(yù)先建立的中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系,得到與輸入數(shù)據(jù)相對(duì)應(yīng)的中間結(jié)果。本步驟中,采取對(duì)歸一化數(shù)據(jù)舍棄部分最低數(shù)據(jù)位的方式求查表索引。本實(shí)施例中,預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)為6,因此,舍棄歸一化數(shù)據(jù)n2的最低6個(gè)數(shù)據(jù)位之后,將保留c14~c6共9個(gè)數(shù)據(jù)位。由于n2的最高數(shù)據(jù)位c14恒為1,只有c13~c6這8個(gè)數(shù)據(jù)位存在0和1取值的變化,因此雖然保留了9個(gè)數(shù)據(jù)位,但在步驟201中建立中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系表時(shí)只需要8bits,即表中共需要存儲(chǔ)256個(gè)元素。此外,為了提高求函數(shù)值的精度,可以引入c5的值,即根據(jù)歸一化數(shù)據(jù)n2的c13~c5求查表索引。具體而言,由歸一化數(shù)據(jù)求查表索引包括首先,根據(jù)實(shí)際需要保留的數(shù)據(jù)位設(shè)置相應(yīng)的掩碼,本實(shí)施例中需要保留c13~c5,因此,所設(shè)置的掩碼masking如下masking=0x3FE0=0b0011111111100000(5.i)(5.i)中,0x表示十六進(jìn)制數(shù),0b表示二進(jìn)制數(shù);然后,保留歸一化數(shù)據(jù)n2的c13~c5數(shù)據(jù)位,并舍棄最低5位,得到索引indexindex=(n2&masking)>>5(5.j)最后,對(duì)所得到的索引index的最后一個(gè)數(shù)據(jù)位做圓整處理,即等價(jià)于一個(gè)四舍五入的處理,得到查表索引。以index_table表示查表索引,則查表索引與索引的對(duì)應(yīng)關(guān)系為index_table=255,index=511(index+1)>>1,index≠511---(5.k)]]>然后,根據(jù)所求得的查表索引index_table查找步驟201所建立的中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系表sqrt_table[],得到與輸入數(shù)據(jù)相對(duì)應(yīng)的中間結(jié)果sqrt_table[index_table]。步驟204判斷求得輸入數(shù)據(jù)的平方根之后,是否存在以該平方根作為輸入數(shù)據(jù)的后續(xù)運(yùn)算,若是,則繼續(xù)執(zhí)行步驟205;否則,繼續(xù)執(zhí)行步驟206。本步驟中,后續(xù)運(yùn)算包括以該平方根作為輸入數(shù)據(jù)所進(jìn)行的所有數(shù)學(xué)運(yùn)算。步驟205以中間結(jié)果作為該后續(xù)運(yùn)算的輸入數(shù)據(jù),并根據(jù)后續(xù)運(yùn)算的結(jié)果計(jì)算輸入數(shù)據(jù)的平方根,結(jié)束本流程。步驟206根據(jù)中間結(jié)果計(jì)算輸入數(shù)據(jù)的平方根。由步驟201中關(guān)于對(duì)應(yīng)關(guān)系表sqrt_table[]的建立過程可知,步驟203查表所得到的中間結(jié)果是歸一化數(shù)據(jù)n2的平方根乘以pow(2,(L-1)/2)之后的結(jié)果,因此,歸一化數(shù)據(jù)n2的平方根sqrt_fix_result(n2)為sqrt_fix_result(n2)=fix[sqrt_table[index_table]*pow(2,-7.5)](5.m)又因?yàn)閚2與n1的平方根之間存在如(5.h)所示的關(guān)系,可由(5.h)和(5.m)得n1的平方根sqrt_fix_result(n1)為sqrt_fix_result(n1)=fix[sqrt_table[index_table]*pow(2,-(norm(n1)/2+7.5))](5.n)(5.n)中,進(jìn)行底數(shù)為2的冪運(yùn)算時(shí),指數(shù)的整數(shù)部分可以利用移位操作實(shí)現(xiàn),使得本發(fā)明方法的操作復(fù)雜度進(jìn)一步降低。至此,結(jié)束本實(shí)施例求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的方法流程。由上述實(shí)施例可見,本發(fā)明在吸取現(xiàn)有技術(shù)舍棄輸入數(shù)據(jù)的低數(shù)據(jù)位,以減小查表索引取值范圍之優(yōu)點(diǎn)的基礎(chǔ)上,采取了將輸入數(shù)據(jù)左移、消除冗余符號(hào)位,再舍棄低數(shù)據(jù)位的方式確定查表索引,使得無論輸入數(shù)據(jù)的有效字長如何變化,本發(fā)明均能保證若干最高數(shù)據(jù)位的準(zhǔn)確性。如此,一方面保證了本發(fā)明所求得的常用函數(shù)值具有足夠的準(zhǔn)確度,另一方面減小了查表索引的取值范圍,降低了中間結(jié)果與查表索引對(duì)應(yīng)關(guān)系表的存儲(chǔ)空間。此外,本實(shí)施例表中所存儲(chǔ)的中間結(jié)果,采用放大之后再存儲(chǔ)的方式,使得本發(fā)明所求得的常用函數(shù)值具備最高數(shù)據(jù)精度。并且,本實(shí)施例得到中間結(jié)果之后,如果確定求得相應(yīng)函數(shù)值之后,該函數(shù)值將參與后續(xù)運(yùn)算,則先以中間結(jié)果代替與之相應(yīng)的常用函數(shù)值參與后續(xù)運(yùn)算,在運(yùn)算完成之后再進(jìn)行中間結(jié)果與常用函數(shù)值之間的轉(zhuǎn)換,從而使運(yùn)算準(zhǔn)確度得到了進(jìn)一步提高。以上為采用本發(fā)明方法求平方根函數(shù)值的具體實(shí)施方式,下面以采用本發(fā)明方法求自然對(duì)數(shù)函數(shù)值為例對(duì)本發(fā)明技術(shù)方案進(jìn)行說明。實(shí)施例二本實(shí)施例中,定點(diǎn)數(shù)字信號(hào)字長為16bits、預(yù)備舍棄數(shù)據(jù)位為5個(gè)、常用函數(shù)為以e為底的自然對(duì)數(shù)函數(shù)。本實(shí)施例中求自然對(duì)數(shù)函數(shù)值的方法流程圖與實(shí)施例一中圖2相同,參見圖2,本實(shí)施例方法包括以下步驟在步驟201中,根據(jù)預(yù)先確定的定點(diǎn)數(shù)字信號(hào)字長、預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)以及常用函數(shù)的類型,建立中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系表,記為ln_table[]。本實(shí)施例中,由于預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)為5個(gè),因此,所建立的ln-table[]需要16-2-5=9bits,表中共有29=512個(gè)元素。本實(shí)施例中確定中間結(jié)果的依據(jù)與實(shí)施例一設(shè)置中間結(jié)果的依據(jù)類似,不同之處在于,將以e為底歸一化數(shù)據(jù)近似值的對(duì)數(shù)作為中間結(jié)果,存儲(chǔ)在表中的相應(yīng)位置。以index_talbe表示查表索引、ln_table[index_table]表示與查表索引index_table相對(duì)應(yīng)的中間結(jié)果,本實(shí)施例中所建立的查表索引與查表結(jié)果的對(duì)應(yīng)關(guān)系表示為ln_table[index_table]=fix[ln(pow(2,14)+(index_table<<5))*pow(2,11)](6.a)(6.a)式中l(wèi)n()為自然對(duì)數(shù)函數(shù)。本實(shí)施例中,根據(jù)對(duì)數(shù)函數(shù)的特性,對(duì)提高中間結(jié)果存儲(chǔ)精度的放大因子作了相應(yīng)的調(diào)整,設(shè)置為pow(2,11),這是因?yàn)閘n(215-1)≈10.4,其二進(jìn)制表示形式的有效字長為4bit,因此乘上放大因子pow(2,11)之后,既能將原始計(jì)算結(jié)果放大以提高存儲(chǔ)數(shù)據(jù)的精度,同時(shí)又能保證所得到的中間結(jié)果不會(huì)溢出。在步驟202至步驟203中,與實(shí)施例一類似,執(zhí)行將輸入數(shù)據(jù)n1歸一化得到歸一化數(shù)據(jù)n2,并舍棄n2的最低5個(gè)數(shù)據(jù)位的操作,從而得到查表索引,并根據(jù)查表索引查表得到相應(yīng)的中間結(jié)果。具體而言,包括首先,根據(jù)實(shí)際需要保留的數(shù)據(jù)位設(shè)置相應(yīng)的掩碼,本實(shí)施例中需要保留c13~c4,因此,所設(shè)置的掩碼masking如下masking=0x3FF0=0b0011111111110000(6.b)然后,保留歸一化數(shù)據(jù)n2的c13~c4數(shù)據(jù)位,并舍棄最低4位,得到索引indexindex=(n2&masking)>>4(6.c)最后,對(duì)所得到的索引index的最后一個(gè)數(shù)據(jù)位做圓整處理,得到查表索引。以index_table表示查表索引,則查表索引與索引的對(duì)應(yīng)關(guān)系為index_table=511,index=1023(index+1)>>1,index≠1023---(6.d)]]>然后,根據(jù)所求得的查表索引index_table查找步驟201所建立的中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系表ln_table[],得到與輸入數(shù)據(jù)相對(duì)應(yīng)的中間結(jié)果ln_table[index_table]。在步驟204至步驟205中,進(jìn)行與實(shí)施例一步驟204中相同的操作,在此不再贅述。在步驟206中,首先根據(jù)(6.a)中中間結(jié)果與歸一化數(shù)據(jù)n2的自然對(duì)數(shù)函數(shù)值之間的關(guān)系,計(jì)算以e為底n2的自然對(duì)數(shù)函數(shù)值。以ln_fix_result(n2)表示以e為底n2的自然對(duì)數(shù)函數(shù)值,以ln_table[index_table]表示所得到的中間結(jié)果,則對(duì)數(shù)函數(shù)值與中間結(jié)果的關(guān)系表示為ln_fix_result(n2)=fix[ln_table[index_table]*pow(2,-11)](6.e)由于n2與n1之間存在關(guān)系n2=n1<<norm(n1)(6.f)并且,對(duì)于對(duì)數(shù)函數(shù)a和b,存在關(guān)系ln(a*b)=ln(a)+ln(b)(6.g)ln(xy)=y(tǒng)*ln(x)(6.h)因此,若以ln_fix_result(n1)表示n1的自然對(duì)數(shù)函數(shù)值,則n2與n1的自然對(duì)數(shù)函數(shù)值之間存在關(guān)系ln_fix_result(n1)=fix[ln(n2*pow(2,-norm(n1)))](6.i)由(6.e)和(6.i)可得以e為底n1的自然對(duì)數(shù)函數(shù)值ln_fix_result(n1)為ln_fix_result(n1)=fix[ln_table[index_table]*pow(2,-11)-norm(n1)*ln(2)](6.j)至此,結(jié)束本實(shí)施例求自然對(duì)數(shù)函數(shù)值的方法流程。由實(shí)施例一與實(shí)施例二可見,本發(fā)明在求各種常用函數(shù)值的過程中,所采取的基本步驟是一樣的,即首先對(duì)輸入數(shù)據(jù)歸一化,然后求查表索引,再查表得中間結(jié)果,最后根據(jù)中間結(jié)果計(jì)算對(duì)應(yīng)的函數(shù)值;各個(gè)過程的區(qū)別在于表中所存儲(chǔ)的數(shù)據(jù),即中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系。在建立中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系時(shí),一方面需要考慮本發(fā)明的應(yīng)用場合,即常用函數(shù)類型;另一方面需要根據(jù)常用函數(shù)類型確定放大因子,即根據(jù)與最大輸入數(shù)據(jù)相對(duì)應(yīng)的函數(shù)值的二進(jìn)制有效字長,確定對(duì)應(yīng)關(guān)系表中的數(shù)據(jù)所乘的放大因子的值。為了給本發(fā)明方法提供具體的實(shí)施環(huán)境,本發(fā)明提供了一種定點(diǎn)數(shù)字信號(hào)處理裝置,下面通過一個(gè)具體實(shí)施例對(duì)本發(fā)明裝置進(jìn)行詳細(xì)說明。圖3為本發(fā)明實(shí)施例中求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的裝置結(jié)構(gòu)示意圖。參見圖3,該裝置包括輸入模塊310、常用函數(shù)值求取模塊320、存儲(chǔ)模塊330和輸出模塊340,其中,常用函數(shù)值求取模塊320進(jìn)一步包括歸一化處理子模塊321、查表子模塊322和運(yùn)算子模塊323。圖3所示裝置中,輸入模塊310,用于將輸入數(shù)據(jù)發(fā)送給常用函數(shù)值求取模塊320;常用函數(shù)值求取模塊320,用于對(duì)來自于輸入模塊310的輸入數(shù)據(jù)進(jìn)行歸一化處理,并得到查表索引,并以所得到的查表索引向存儲(chǔ)模塊330查詢;存儲(chǔ)模塊330,用于存儲(chǔ)中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系,并根據(jù)常用函數(shù)值求取模塊320的查詢,向常用函數(shù)值求取模塊320提供相應(yīng)的中間結(jié)果;常用函數(shù)值求取模塊320,根據(jù)來自于存儲(chǔ)模塊330的中間結(jié)果計(jì)算輸入數(shù)據(jù)的常用函數(shù)值,并將計(jì)算所得到的常用函數(shù)值發(fā)送給輸出模塊340;輸出模塊340,用于接收來自于常用函數(shù)值求取模塊320的常用函數(shù)值。其中,常用函數(shù)值求取模塊320中的歸一化處理子模塊321,用于對(duì)來自于輸入模塊310的輸入數(shù)據(jù)進(jìn)行歸一化處理,并將所得到的歸一化數(shù)據(jù)發(fā)送給查表子模塊322;查表子模塊322,用于根據(jù)來自于歸一化處理子模塊321的歸一化數(shù)據(jù)求查表索引,并以所求得的查表索引向存儲(chǔ)模塊330查詢,將來自于存儲(chǔ)模塊330的中間結(jié)果發(fā)送給運(yùn)算子模塊323;運(yùn)算子模塊323,用于根據(jù)來自于查表子模塊322的中間結(jié)果計(jì)算與輸入數(shù)據(jù)相對(duì)應(yīng)的常用函數(shù)值,并將所得到的常用函數(shù)值發(fā)送給輸出模塊340;圖3所示裝置中,也可以不設(shè)置運(yùn)算子模塊323,則查表子模塊322直接將中間結(jié)果發(fā)送給輸出模塊340,由輸出模塊340將中間結(jié)果發(fā)送給其他模塊參與后續(xù)運(yùn)算。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1.一種求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的方法,其特征在于,根據(jù)預(yù)先確定的定點(diǎn)數(shù)字信號(hào)字長和預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)確定查表索引,并對(duì)所述每個(gè)查表索引左移預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)位、置其次高位為1所得到的值求所述常用函數(shù)值,將所得到的常用函數(shù)值作為中間結(jié)果,建立所述中間結(jié)果與所述查表索引的對(duì)應(yīng)關(guān)系,該方法包括以下步驟A、對(duì)所述常用函數(shù)的輸入數(shù)據(jù)進(jìn)行歸一化處理,得到與所述輸入數(shù)據(jù)相對(duì)應(yīng)的歸一化數(shù)據(jù);B、根據(jù)所得到的歸一化數(shù)據(jù)求查表索引,并根據(jù)所求得的查表索引以及預(yù)先建立的中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系,得到與輸入數(shù)據(jù)相對(duì)應(yīng)的中間結(jié)果;C、根據(jù)中間結(jié)果計(jì)算所述輸入數(shù)據(jù)的常用函數(shù)值。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述確定查表索引為將所述定點(diǎn)數(shù)字信號(hào)字長減所述預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù),再減2所得到的值作為查表索引的長度,將符合所述查表索引長度的所有二進(jìn)制數(shù)確定為所述查表索引;所述得到每個(gè)查表索引對(duì)應(yīng)的中間結(jié)果為設(shè)L表示所述定點(diǎn)數(shù)字信號(hào)字長,d表示所述預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù),對(duì)所述查表索引左移d位,加上以2為底、以(L-2)為指數(shù)的冪所得到的結(jié)果求所述常用函數(shù)值,并將所得到的常用函數(shù)值以乘法、四舍五入、取整或移位的操作轉(zhuǎn)化為特定格式的定點(diǎn)數(shù),得到所述中間結(jié)果。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,預(yù)先設(shè)置放大因子,在得到所述常用函數(shù)值之后,將所得到的常用函數(shù)值轉(zhuǎn)化為特定格式的定點(diǎn)數(shù)之前,進(jìn)一步包括將所述常用函數(shù)值乘以所述放大因子。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述設(shè)置放大因子為根據(jù)與所述常用函數(shù)的最大輸入數(shù)據(jù)相對(duì)應(yīng)的函數(shù)值的二進(jìn)制有效字長,將所述放大因子設(shè)置為小于等于以2為底、以(L-1-所述函數(shù)值的二進(jìn)制有效字長)為指數(shù)的冪。5.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述步驟A包括A1、求所述輸入數(shù)據(jù)的冗余符號(hào)位個(gè)數(shù);A2、將所述輸入數(shù)據(jù)左移所述冗余符號(hào)位個(gè)數(shù)位,得到所述輸入數(shù)據(jù)的歸一化數(shù)據(jù)。6.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,步驟B所述根據(jù)所得到的歸一化數(shù)據(jù)求查表索引包括B11、構(gòu)造長度等于所述定點(diǎn)數(shù)字信號(hào)字長的掩碼,并將所述掩碼的最高位和次高位置為0、從最低位開始的連續(xù)d位數(shù)據(jù)位置為0、其余位置為1,其中,d為預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù);B12、對(duì)所述歸一化數(shù)據(jù)和所構(gòu)造的掩碼進(jìn)行二進(jìn)制與操作,并將所述與操作的結(jié)果右移d位,得到查表索引。7.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,步驟B所述根據(jù)所得到的歸一化數(shù)據(jù)求查表索引包括B21、構(gòu)造長度等于所述定點(diǎn)數(shù)字信號(hào)字長的掩碼,并將所述掩碼的最高位和次高位置為0、從最低位開始的連續(xù)(d-1)位數(shù)據(jù)位置為0、其余位置為1,其中,d為預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù);B22、對(duì)所述歸一化數(shù)據(jù)和所構(gòu)造的掩碼進(jìn)行二進(jìn)制與操作,并將所述與操作的結(jié)果右移(d-1)位,得到右移結(jié)果;B23、若右移結(jié)果等于以2為底、以(L-d-1)為指數(shù)的冪減1,則將以2為底、以(L-d-2)為指數(shù)的冪減1所得到的值作為所述查表索引;否則,將右移結(jié)果與1的和右移1位所得到的值作為所述查表索引。8.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述常用函數(shù)為平方根函數(shù),所述步驟C為求以2為底、以所述輸入數(shù)據(jù)冗余符號(hào)位個(gè)數(shù)除以2所得值的相反數(shù)為指數(shù)的冪,并將所述冪與所述中間結(jié)果的乘積轉(zhuǎn)化為特定格式的定點(diǎn)數(shù),得到所述輸入數(shù)據(jù)的常用函數(shù)值。9.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述常用函數(shù)為平方根函數(shù),所述步驟C為求以2為底、以所述輸入數(shù)據(jù)冗余符號(hào)位個(gè)數(shù)除以2所得值的相反數(shù)為指數(shù)的冪,將所述冪除以所述放大因子、并乘以所述中間結(jié)果所得到的值轉(zhuǎn)化為特定格式的定點(diǎn)數(shù),得到所述輸入數(shù)據(jù)的常用函數(shù)值。10.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述常用函數(shù)為對(duì)數(shù)函數(shù),所述步驟C為設(shè)logx2表示求以x為底2的對(duì)數(shù),求所述輸入數(shù)據(jù)冗余符號(hào)位個(gè)數(shù)與logx2之乘積,并將所述中間結(jié)果與所述乘積之差轉(zhuǎn)化為特定格式的定點(diǎn)數(shù),得到所述輸入數(shù)據(jù)的常用函數(shù)值。11.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述常用函數(shù)為對(duì)數(shù)函數(shù),所述步驟C為設(shè)logx2表示求以x為底2的對(duì)數(shù),求所述輸入數(shù)據(jù)冗余符號(hào)位個(gè)數(shù)與logx2之乘積,并求所述中間結(jié)果與放大因子之商,將所述商與所述乘積之差轉(zhuǎn)化為特定格式的定點(diǎn)數(shù),得到所述輸入數(shù)據(jù)的常用函數(shù)值。12.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,在所述步驟B與步驟C之間,進(jìn)一步包括C0、判斷所述步驟C之后是否存在以所述輸入數(shù)據(jù)的常用函數(shù)值作為輸入數(shù)據(jù)的后續(xù)運(yùn)算,若是,則以所述中間結(jié)果作為所述后續(xù)運(yùn)算的輸入數(shù)據(jù),并根據(jù)后續(xù)運(yùn)算結(jié)果計(jì)算所述輸入數(shù)據(jù)的常用函數(shù)值,結(jié)束本流程;否則,繼續(xù)執(zhí)行步驟C。13.一種求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的裝置,其特征在于,該裝置包括輸入模塊、常用函數(shù)值求取模塊、存儲(chǔ)模塊和輸出模塊;所述輸入模塊,用于將輸入數(shù)據(jù)發(fā)送給所述常用函數(shù)值求取模塊;所述常用函數(shù)值求取模塊,用于對(duì)來自于所述輸入模塊的輸入數(shù)據(jù)進(jìn)行歸一化處理,并得到查表索引,并以所得到的查表索引向所述存儲(chǔ)模塊查詢;所述存儲(chǔ)模塊,用于存儲(chǔ)中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系,并根據(jù)所述常用函數(shù)值求取模塊的查詢,向所述常用函數(shù)值求取模塊提供中間結(jié)果;所述常用函數(shù)值求取模塊,用于根據(jù)來自于所述存儲(chǔ)模塊的中間結(jié)果計(jì)算所述輸入數(shù)據(jù)的常用函數(shù)值,并將計(jì)算所得到的常用函數(shù)值發(fā)送給所述輸出模塊;所述輸出模塊,用于接收來自于所述常用函數(shù)值求取模塊的常用函數(shù)值。14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述常用函數(shù)值求取模塊包括歸一化處理子模塊、查表子模塊和運(yùn)算子模塊;所述歸一化處理子模塊,用于對(duì)來自于所述輸入模塊的輸入數(shù)據(jù)進(jìn)行歸一化處理,并將所得到的歸一化數(shù)據(jù)發(fā)送給所述查表子模塊;所述查表子模塊,用于根據(jù)來自于所述歸一化處理子模塊的歸一化數(shù)據(jù)求查表索引,并以所求得的查表索引向所述存儲(chǔ)模塊查詢,將來自于所述存儲(chǔ)模塊的中間結(jié)果發(fā)送給所述運(yùn)算子模塊;所述運(yùn)算模塊,用于根據(jù)來自于所述查表子模塊的中間結(jié)果計(jì)算與輸入數(shù)據(jù)相對(duì)應(yīng)的常用函數(shù)值,并將所得到的常用函數(shù)輸出值發(fā)送給所述輸出模塊。全文摘要本發(fā)明公開了一種求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的方法,該方法根據(jù)預(yù)先確定的定點(diǎn)數(shù)字信號(hào)字長、預(yù)備舍棄的低位數(shù)據(jù)位個(gè)數(shù)以及常用函數(shù)的類型,建立中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系,該方法包括以下步驟A、對(duì)所述常用函數(shù)的輸入數(shù)據(jù)進(jìn)行歸一化處理,得到與所述輸入數(shù)據(jù)相對(duì)應(yīng)的歸一化數(shù)據(jù);B、根據(jù)所得到的歸一化數(shù)據(jù)求查表索引,并根據(jù)所求得的查表索引以及預(yù)先建立的中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系,得到與輸入數(shù)據(jù)相對(duì)應(yīng)的中間結(jié)果;C、根據(jù)中間結(jié)果計(jì)算所述輸入數(shù)據(jù)的常用函數(shù)值。本發(fā)明還公開了一種求定點(diǎn)數(shù)字信號(hào)常用函數(shù)值的裝置。應(yīng)用本發(fā)明能夠提高定點(diǎn)數(shù)字信號(hào)處理的準(zhǔn)確度、并降低存儲(chǔ)中間結(jié)果與查表索引的對(duì)應(yīng)關(guān)系所需的空間。文檔編號(hào)G06F1/03GK1945488SQ20061013853公開日2007年4月11日申請(qǐng)日期2006年11月7日優(yōu)先權(quán)日2006年11月7日發(fā)明者鄧昊,馮宇紅,張晨申請(qǐng)人:北京中星微電子有限公司