一種數(shù)字中頻動(dòng)態(tài)范圍擴(kuò)展方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及無(wú)線電領(lǐng)域,特別涉及一種數(shù)字中頻動(dòng)態(tài)范圍擴(kuò)展方法。
【背景技術(shù)】
[0002] 基于軟件無(wú)線電原理的時(shí)頻變換過(guò)程,其數(shù)字中頻預(yù)處理包括下變頻、濾波、加窗 等過(guò)程,時(shí)頻變換一般采取FFT運(yùn)算,實(shí)現(xiàn)方案在DSP或FPGA內(nèi)完成。為保證數(shù)據(jù)處理過(guò)程輸 出數(shù)據(jù)的信噪比與輸入數(shù)據(jù)的一致,需要使用運(yùn)算精度高的數(shù)據(jù)類型,即浮點(diǎn)型數(shù)據(jù)。
[0003] 現(xiàn)有技術(shù)方案將整型采樣數(shù)據(jù)轉(zhuǎn)換成浮點(diǎn)型送入浮點(diǎn)DSP進(jìn)行運(yùn)算,或者在FPGA 內(nèi)以浮點(diǎn)型數(shù)據(jù)格式進(jìn)行運(yùn)算,如圖1所示,其數(shù)據(jù)處理實(shí)現(xiàn)步驟如下:
[0004]首先,將ADC數(shù)據(jù)格式進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換,從整型轉(zhuǎn)換成浮點(diǎn)型;
[0005]然后,將浮點(diǎn)型數(shù)據(jù)送入數(shù)字中頻信號(hào)處理單元進(jìn)行數(shù)據(jù)計(jì)算。
[0006]現(xiàn)有技術(shù)的缺點(diǎn)如下:
[0007] (1)基于浮點(diǎn)DSP實(shí)現(xiàn)數(shù)字中頻信號(hào)處理時(shí),由于DSP是單指令周期串行運(yùn)行模式, 在數(shù)據(jù)率較高時(shí),DSP無(wú)法實(shí)現(xiàn)實(shí)時(shí)處理速度的要求;
[0008] (2)如果在FPGA內(nèi)都以浮點(diǎn)型數(shù)據(jù)格式進(jìn)行運(yùn)算,同樣的乘法運(yùn)算,浮點(diǎn)型數(shù)據(jù)所 占資源量遠(yuǎn)多于整型數(shù)據(jù),迫于有限的邏輯資源,此技術(shù)不適用于數(shù)字中頻信號(hào)處理。
【發(fā)明內(nèi)容】
[0009]為解決現(xiàn)有技術(shù)的不足,本發(fā)明提供一種新的數(shù)字中頻動(dòng)態(tài)范圍擴(kuò)展方法,在不 改變?cè)蠪PGA整型數(shù)據(jù)運(yùn)算和數(shù)據(jù)截取的前提下減小數(shù)據(jù)截取對(duì)數(shù)字中頻信噪比的惡化, 擴(kuò)展動(dòng)態(tài)范圍,同時(shí)滿足數(shù)據(jù)處理的實(shí)時(shí)性。
[0010] 本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0011] -種數(shù)字中頻動(dòng)態(tài)范圍擴(kuò)展方法,還包括有效位檢測(cè)單元、數(shù)據(jù)左移單元和輸出 數(shù)據(jù)增益調(diào)整單元,實(shí)現(xiàn)步驟如下:
[0012] 步驟(1 ),將一組分辨率為η位的整型ADC采樣數(shù)據(jù)送入FPGA的RAM同時(shí),同步進(jìn)行 數(shù)據(jù)有效位檢測(cè),一組ADC采樣數(shù)據(jù)輸入完畢時(shí)獲得最大有效位數(shù),記為Μ;
[0013]步驟⑵,將η-Μ的差值送入FPGA的運(yùn)算流水線,在數(shù)據(jù)左移單元內(nèi)依次將每個(gè)ADC數(shù)據(jù)左移n-M位;
[0014]步驟(3),將左移后的數(shù)據(jù)送入中頻數(shù)字信號(hào)處理單元,在此單元內(nèi),除最后一級(jí) 乘法運(yùn)算之外,對(duì)所有整型數(shù)據(jù)乘法運(yùn)算的輸出數(shù)據(jù)進(jìn)行截??;
[0015]步驟(4),將中頻數(shù)字信號(hào)處理單元的輸出數(shù)據(jù)的數(shù)據(jù)格式從整型轉(zhuǎn)換為浮點(diǎn)型;
[0016]步驟(5),對(duì)浮點(diǎn)型輸出數(shù)據(jù)根據(jù)數(shù)據(jù)左移單元內(nèi)的左移位數(shù)n-M進(jìn)行增益調(diào)整。
[0017] 可選地,設(shè)一采樣數(shù)據(jù)為A(n) =a〇2Q+a121+a222+."+an-22n-2+an-1,aiE{〇,1},〇 <i<n-1,一共有n位,最大有效位數(shù)為M,左移n-M位最大限度保留運(yùn)算有效位數(shù),左移后的 數(shù)據(jù)記為Ain);
[0018]與其相乘的二進(jìn)制數(shù)據(jù)設(shè)為m位,表示如下:
[0019]B(m) =b〇20+bi21+b222+…+1^-22^+1^-121^ 1,其中bie{〇,1},ο<i<m-ι;
[0020] 則A(n)與B(n)相乘得其系數(shù)矩陣為:
[0022] 由于A(n)與B(n)的最大有效位分別是M和m,因此aM-iW-FUAb) ·B(m) 2 2M+m_2;
[0023] 當(dāng)M>m時(shí),A(n)與B(n)的乘積表示如下:
[0024]A(n) ·B(m)=aM-ibm-! · 2M+m-2+(an-ibm-2+aM-2bm-υ· 2M+m-3+···
[0025] +(aM-mbm-1+aM-m+lbm-2+."+aM-2bl+aM-lbo) · 2M1
[0026] < 2m_1 · (2m_1+2 · 2m_2+3 · 2m_3+---+m· 2°)
[0027]=2m-i. (2m+1-m-2)<2M+m
[0028]于是有2M+m-2<A(n) ·B(m)<2M+m;
[0029] 當(dāng)M<m時(shí),A(n)與B(n)的乘積表示如下:
[0030]A(n) ·B(m)=aM-ibm-! · 2M+m-2+(an-ibm-2+aM-2bm-!) · 2M+m-2+···
[0031] +(a〇bm-l+aibm-2+."+aM-2bm-M+iaM-lbm-M) · 2M1
[0032] < 2m_1 · (2m_1+2 · 2m_2+3 · 2μ_3+···+Μ· 2°)
[0033]=2?-i. (2M+1-M-2)<2M+m
[0034] 于是有2M+m-2<A(n) ·B(m)<2M+m;
[0035] 因此,A(n) ·B(m)的最高有效位為2μ+μ或2M+m一1;
[0036] 當(dāng)A(n) ·B(m)的最高有效位為2μ+μ時(shí):
[0039] 設(shè)Ετ為截位誤差,則Α(η) ·B(m)的截位誤差為馬=[AiB).B(m)】r-ACn)..B(m) =-Em2?=, 當(dāng)Xk均為1時(shí),截位誤差最大,此時(shí)Ετ= -(2Κ-1),2K> > 1,并令q= 2K,S卩_q<ET < 0;
[0040]N個(gè)n位采樣數(shù)據(jù)在FPGA內(nèi)進(jìn)行乘法運(yùn)算并進(jìn)行截取之后,生成N個(gè)ET構(gòu)成截取誤 差序列,設(shè)為e(j),j= 0,l,2,. . .,Ν-1;
[0043]設(shè)Α(η) ·B(m)的功率為則Α(η) ·B(m)的信噪比的對(duì)數(shù)表示為:
[0045] A(n)序列左移n-M位后的序列為A' (n)=A(n) · 2n-'A' (η) ·B(m)的結(jié)果表示為
(η) ·B(m)的截位誤差為/τ= 氣其最大值設(shè)為YY=-(2K-2n-M);
[0046]于是A' (η) ·B(m)的信噪比的對(duì)數(shù)表示為:
[0048] 可選地,對(duì)浮點(diǎn)型輸出數(shù)據(jù)根據(jù)數(shù)據(jù)左移單元的左移位數(shù)n-M進(jìn)行增益調(diào)整,浮點(diǎn) 型輸出數(shù)據(jù)除以2rf。
[0049] 可選地,e(j)具有如下統(tǒng)計(jì)特征:
[0050] (a)平穩(wěn)隨機(jī)序列;
[0051] (b)與參與乘法運(yùn)算的序列無(wú)關(guān);
[0052] (c)e(j)的任意兩個(gè)值之間不相關(guān);
[0053] (d)在誤差范圍內(nèi)是均勻分布。
[0054] 本發(fā)明的有益效果是:
[0055] (1 )ADC數(shù)據(jù)送入FPGA的同時(shí),同步進(jìn)行最大有效位數(shù)的識(shí)別,執(zhí)行效率高;
[0056] (2)最大限度的減小數(shù)據(jù)截取對(duì)數(shù)字中頻信噪比的惡化;
[0057] (3)數(shù)據(jù)輸出轉(zhuǎn)換為浮點(diǎn)型大幅度擴(kuò)展了數(shù)據(jù)表達(dá)范圍,并保證設(shè)計(jì)的數(shù)據(jù)處理 增益不變。
【附圖說(shuō)明】
[0058]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。
[0059]圖1為現(xiàn)有數(shù)字中頻信號(hào)處理過(guò)程原理示意圖;
[0060] 圖2為本發(fā)明的數(shù)字中頻動(dòng)態(tài)范圍擴(kuò)展方法原理示意圖。
【具體實(shí)施方式】
[0061] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0062] 在FPGA內(nèi),整型數(shù)據(jù)乘法運(yùn)算輸出數(shù)據(jù)位寬等于兩輸入數(shù)據(jù)位寬之和,實(shí)現(xiàn)多級(jí) 乘法運(yùn)算時(shí),位寬增加會(huì)造成后級(jí)邏輯資源的消耗大幅度增長(zhǎng);由于FPGA的邏輯資源有限, 因此需要對(duì)每級(jí)乘法運(yùn)算的輸出數(shù)據(jù)進(jìn)行截取。大量乘法運(yùn)算和數(shù)據(jù)截取帶來(lái)的數(shù)據(jù)精度 損失使得輸出數(shù)據(jù)的信噪比小于輸入數(shù)據(jù)的信噪比。
[0063] 本發(fā)明減小數(shù)據(jù)截取對(duì)數(shù)字中頻信噪比的惡化,從而擴(kuò)展數(shù)字中頻動(dòng)態(tài)范圍。
[0064] 本發(fā)明的數(shù)字中頻動(dòng)態(tài)范圍擴(kuò)展方法的原理如圖2所示,除了現(xiàn)有的數(shù)字中頻信 號(hào)處理過(guò)程之外,還包括有效位檢測(cè)單元、數(shù)據(jù)左移單元和輸出數(shù)據(jù)增益調(diào)整單元。
[0065]本發(fā)明的實(shí)現(xiàn)步驟如下:
[0066] 步驟(1 ),將一組分辨率為η位的整型ADC采樣數(shù)據(jù)送入FPGA的RAM同時(shí),同步進(jìn)行 數(shù)據(jù)有效位檢測(cè),一組ADC采樣數(shù)據(jù)輸入完畢時(shí)可以獲得最大有效位數(shù),記為Μ;
[0067]步驟(2),將η-Μ的差值送入FPGA的運(yùn)算流水線,在數(shù)據(jù)左移單元內(nèi)依次將每個(gè)ADC 數(shù)據(jù)左移n-M位;
[0068] 步驟(3),將左移后的數(shù)據(jù)送入中頻數(shù)字信號(hào)處理單元,在此單元內(nèi),除最后一級(jí) 乘法運(yùn)算之外,對(duì)所有整型數(shù)據(jù)乘法運(yùn)算的輸出數(shù)據(jù)進(jìn)行截??;
[0069]步驟(4),將中頻數(shù)字信號(hào)處理單元的輸出數(shù)據(jù)的數(shù)據(jù)格式從整型轉(zhuǎn)換為浮點(diǎn)型;