沈智翔,萬明康,于宏毅
(信息工程大學(xué) 信息工程學(xué)院,河南 鄭州 450002)
目前以數(shù)字信號處理為核心的軟件無線電得到越來越廣泛的應(yīng)用。在工程實現(xiàn)中,數(shù)字信號在FPGA、DSP以及其他各種數(shù)字信號處理芯片中多采用定點計算,所以處理流程中的定點字長與量化誤差是必須考慮的問題。
數(shù)字信號采用有限位二進(jìn)制數(shù)表示,假設(shè)A/D量化誤差為均勻分布白噪聲且與信號不相關(guān)[1],則經(jīng)B bit均勻量化后,量化信噪比[2-3]可表示為:
對于零均值高斯信號可取Pm/σx=3,在 8 bit量化時量化信噪比約為50 dB??梢娫诒3忠欢ㄓ行Я炕粩?shù)的情況下量化信噪比是比較高的。但實際應(yīng)用中信號經(jīng)過一級運算后結(jié)果往往會超出規(guī)定字長,需要進(jìn)行截短處理。多次截短產(chǎn)生的誤差會不斷累積,同時需要考慮如何保證一定的有效量化位數(shù)。如選擇簡單的取高位截短,在多級處理后有效量化位數(shù)可能遠(yuǎn)小于字長,帶來信噪比損失和計算效率的降低。因此,實現(xiàn)時需針對具體算法流程進(jìn)行定點設(shè)計,這樣就大大降低了處理算法的靈活性和通用性。本文通過建立信號多級定點處理模型,對字長選取和截短問題進(jìn)行分析,提出了更為靈活通用的數(shù)字信號處理字長選取策略及字長截短控制處理算法。
連續(xù)隨機(jī)信號經(jīng)過等間隔采樣量化后得到離散隨機(jī)序列 x0(k),k=0,1,2…,一次信號處理的運算結(jié)果可看作該隨機(jī)序列經(jīng)過系統(tǒng)后的輸出序列:x1(k),k=0,1,2…,輸出序列經(jīng)過字長截短后進(jìn)入下一級處理。則經(jīng) n次處理后依次得到輸出序列x1(k),x2(k)…xn(k)。假設(shè)每次截短帶來的截短誤差相互獨立,便可以將截短誤差等效為處理流程中依次引入的若干個噪聲源,從而得到信號多級定點處理模型如圖1所示。
圖1 信號多級定點處理流程圖
模型中以截短處理為節(jié)點,將信號處理流程劃分為多級。模型假設(shè)A/D滿量程采樣,采樣序列為零均值平穩(wěn)序列,處理算法均為線性處理。
當(dāng)一次運算輸出結(jié)果超出規(guī)定字長時,需要進(jìn)行尾數(shù)截短。截短處理相當(dāng)于重新量化,可由截短量化噪聲的產(chǎn)生、噪聲過系統(tǒng)及量化信噪比損失等方面,考慮字長選取問題。
式(1)中A/D量化誤差取值是連續(xù)的,服從均勻分布,而截短量化誤差是取值非連續(xù)的數(shù)字序列。若截去字長為Br,則量化噪聲有 2Br種取值,可認(rèn)為其滿足離散均勻分布,各取值出現(xiàn)的概率相同,均為1/2Br。
若被截短數(shù)據(jù)為有符號數(shù)表示,則對負(fù)值數(shù)據(jù),量化噪聲取值范圍為[-ΔV/2,ΔV/2],均值為-ΔV/2Br+1。 根據(jù)數(shù)據(jù)序列的零均值假設(shè),可認(rèn)為總的量化噪聲均值為零,則方差為:
由式(2)、式(3)可得,截短量化噪聲功率由最小量化電平 ΔV=Pm/2B′以及截短字長 Br決定。 隨著 Br的增加趨近于均勻分布:均值趨近于零,方差趨近于ΔV2/12。
其中B為 A/D量化位數(shù),B′為截短后保留字長,ΔB=B′-B。不同截短處理次數(shù)、不同保留字長下的量化信噪比損失如圖 2。
圖2 截短后量化信噪比損失
圖中N為截短次數(shù),N增加則量化信噪比損失增大;當(dāng) ΔB為負(fù)時,量化信噪比損失較大,ΔB=2時損失小于3 dB。綜上可得,在實際A/D量化信噪比較高的情況下,算法保留字長只要大于A/D量化字長(3~4)bit,就可以大大降低截短量化噪聲的影響。
假設(shè)在L位字長中保留B位,則保留高B位可保證不溢出,但無法保證有效量化數(shù)。即量化器的滿幅度值與信號均方差的比值Pm/σx可能變得較大,而信號實際只占用滿量程的一部分。
在實際系統(tǒng)中應(yīng)用的截短處理算法,需要能夠應(yīng)對較復(fù)雜的處理流程,適應(yīng)輸入信號的變化。通過建立前饋自動增益控制模型[4-5]確定增益因子,可較好地完成截短位的自適應(yīng)調(diào)整。首先采用參數(shù)估計的方法計算信號均方差;而后將均方差的估計值與參考值R=Pm/3比較,其中α為誤差信號修正系數(shù),通過迭代收斂到最佳增益值。實現(xiàn)流程如圖3。
圖3 截短位控制算法流程
實現(xiàn)過程中,復(fù)雜度較大仍是該模型的一個主要缺點。尤其在多次截短處理時,為進(jìn)一步降低計算復(fù)雜度,可以采用直接統(tǒng)計信號動態(tài)范圍方法代替均方差估計。
設(shè)信號均值為零,動態(tài)范圍表示為[+Xm,-Xm],Xm為信號幅度的最大值。以分段統(tǒng)計最大幅值代替均方差估計。若樣本長度為M,參數(shù)估計時需進(jìn)行M次乘累加運算和一次除法運算,而最大幅值統(tǒng)計只要進(jìn)行M次比較。理論參考值可取R=2B-1-1,為保留字長所能表示的最大幅值。與參數(shù)估計相比,模型輸出隨機(jī)誤差相對較大,需要保證足夠的統(tǒng)計長度,并判斷剔除錯誤數(shù)據(jù)以保證穩(wěn)健性。
下面通過基于FPGA的仿真實現(xiàn)在實際信號處理流程中對算法進(jìn)行驗證。經(jīng)寬帶采集的中頻信號在FPGA中完成數(shù)字變頻、采樣率變換以及數(shù)字濾波等處理,基本流程如圖4。
圖4 信號處理定點仿真流程圖
仿真信號由載波頻率分布于 0.3 MHz~1.4 MHz范圍內(nèi)的若干路QPSK信號組成,碼元速率 64 kb/s,升余弦成型,滾降系數(shù) 0.5,采樣頻率 3.072 MHz,8 bit量化。信號在計算機(jī)中生成并量化,以初始化文件的形式下載至FPGA的RAM中。
FPGA采用Altera公司的Stratix II EP2S90,讀取采樣信號后,首先經(jīng)過正交下變頻,數(shù)字頻率合成模塊輸出字長為16 bit。而后進(jìn)行降采樣,包括一級3階CIC濾波器和兩級14階半帶濾波器,將采樣率降至256 kHz,最終經(jīng)過一級高階FIR低通濾波器提取出一路信號。在正交下變頻、降采樣和FIR濾波器后進(jìn)行字長截短,每次截短保留12 bit字長。所有濾波器基于FIR Compiler生成,雙通道完成實部與虛部的濾波,輸入字長12 bit,系數(shù)字長16 bit。
正交下變頻為8 bit與16 bit的乘法,輸出字長24 bit;CIC濾波采用級聯(lián)的方式增加阻帶衰減,輸出字長16 bit;FIR Compiler在濾波器生成時會根據(jù)濾波器系數(shù)和輸入字長自動確定輸出字長:HB濾波器輸出字長28 bit,F(xiàn)IR濾波器輸出字長29 bit。則5次截短分別需截去 12 bit、4 bit、16 bit、16 bit、17 bit。 算 法 中 求 對 數(shù) 取 整 運 算 通 過查找表實現(xiàn),在SignalTap II Logic Analyzer中采集仿真結(jié)果。表1給出3組不同信號收斂后的移位長度Ba。
信號一為功率相等的2路QPSK信號,中心頻率分別為1 MHz和 1.1 MHz,下變頻頻點為 1 MHz;信號二為8路功率相等的QPSK信號,中心頻率分布于0.3 MHz~1.4 MHz范圍內(nèi),下變頻頻點為 960 kHz;信號三在信號二的基礎(chǔ)上隨機(jī)調(diào)整了信號功率。誤差信號修正系數(shù)取α=0.5,參數(shù)估計模型中采用滑動窗進(jìn)行方差估計,滑動窗長取500點,最大值統(tǒng)計模型中分段統(tǒng)計長度為500點。2種模型取整后的輸出結(jié)果與參考值一致,參考值為由信號實際取值范圍得到的理想截短方案,可以看出在不同的信號條件下,理想移位長度Ba是不同的。若進(jìn)行取高位截短,對于信號一將損失3 bit有效量化位,而對于信號三將損失8 bit有效量化位。
表1 3組信號截短方案仿真結(jié)果
為進(jìn)一步檢驗?zāi)P偷氖諗扛櫺阅芎洼敵鼋Y(jié)果的方差,將取整前的輸出結(jié)果進(jìn)行對比。采集查找表前的輸出數(shù)據(jù),在Matlab中取對數(shù)并做出曲線圖。2種模型樣本長度M取500點和200點時的跟蹤收斂曲線如圖5。
圖5 字長控制算法取整前輸出
圖5中橫坐標(biāo)為樣點數(shù),縱坐標(biāo)為DDC后截短移位長度(取整前)。輸入信號在2 400采樣點處由信號二變?yōu)樾盘柸?,? 200點處由信號三變回信號二。樣本長度相同時,參數(shù)估計模型抖動較小,而動態(tài)范圍統(tǒng)計模型則相對較大,相比較而言前者更加充分地利用了樣本數(shù)據(jù),受隨機(jī)性影響較小。參數(shù)估計模型收斂跟蹤速度與滑動窗長有關(guān);最大值統(tǒng)計對于信號動態(tài)范圍增大的情況能夠快速跟蹤從而避免溢出(7 200點處),而信號動態(tài)范圍減小時輸出有一個樣本長度左右的延遲(2 400點處)。
本文從兩個方面分析了定點計算中的有限字長保留問題。首先將字長的截短等效為重新量化,分析了量化信噪比損失及計算中所需的最小保留字長;而后討論了最佳截短方案及其實現(xiàn),將截短位選擇等效為信號增益調(diào)整,利用自動增益控制模型完成實時信號截短處理;最后通過硬件仿真,在典型軟件無線電處理流程中對算法進(jìn)行了驗證,并對比討論了基于參數(shù)估計與最大值統(tǒng)計兩種模型的計算量和算法性能特點。本文關(guān)于定點計算有限字長保留問題的分析和實現(xiàn),在工程實現(xiàn)中有實際參考價值和應(yīng)用價值。
[1]WIDROW B, KOLLAR I, LIU M C.Statistical theory of quantization [J].IEEE Transactions on Communications,1964,12(4):162-165.
[2]陳亮,楊吉斌,張雄偉.信號處理算法的實時 DSP實現(xiàn)[M].北京:電子工業(yè)出版社,2008.
[3]丁玉美.數(shù)字信號處理[M].西安:西安電子科技大學(xué)出版社,2000:262-290.
[4]GUESALAGA A, TEPPER S.Synthesisofautomatic gain controllers forconicalscan tracking radar[J].IEEE Transactions on Aerospace and Electronic Systems,2000,36(1):302-309.
[5]JOHNSON C R.軟 件 無 線 電 [M].北京:機(jī)械工業(yè)出版社,2008.