基于DSP_C54X窄帶中頻抽樣的理論與實(shí)現
1 引言
隨著(zhù)DSP技術(shù)的廣泛應用與迅速發(fā)展,現已深入到通信與電子系統的各個(gè)領(lǐng)域。軟件無(wú)線(xiàn)電是通信領(lǐng)域發(fā)展中的前沿技術(shù)之一,它集數字信號處理、DSP/FPGA、無(wú)線(xiàn)通信和計算機軟硬件技術(shù)于一體,充分體現了現代通信技術(shù)的高性能特點(diǎn)。本文在討論基本的帶通抽樣定理基礎上,分析欠抽樣率對帶通信號采樣的頻譜搬移特點(diǎn),同時(shí)結合對普通的AM調幅接收機中頻信號的采樣、濾波與處理,以獲得基帶的語(yǔ)音信號。這種用軟件進(jìn)行信號處理的技術(shù)有助于深入理解帶通抽樣濾波的理論,并為軟件無(wú)線(xiàn)電接收數據信號提供理論與實(shí)踐依據。本文討論的中頻窄帶抽樣實(shí)現的基本框圖如圖1所示。
信號采集的前面部分可以是普通AM接收機,輸入信號是fx,通過(guò)混頻輸出的中頻信號fi=fl-fx,這里確定fi=465kHz,信號帶寬是10kHz。AD轉換的采樣頻率是fs=60kHz,直接采集窄帶中頻信號,經(jīng)DSP處理后,通過(guò)DA輸出語(yǔ)音信號。這一工作過(guò)程采用了帶通抽樣理論。
2 帶通抽樣理論和DSP硬件電路
2.1 帶通抽樣理論
帶通抽樣定理是Nyquist抽樣定理的進(jìn)一步擴展。Nyquist抽樣定理的基本意義是:一個(gè)頻率限帶信號x(t),其頻帶限制在(0,fh)內,如果用fs>=2fh的采樣頻率對x(t)進(jìn)行等間隔抽樣,得到的離散信號x(n)=x(nTs),那么x(t)信號將被所得到的采樣值x(n)所確定,抽樣后的信號頻譜不發(fā)生混疊,因此可以用濾波器恢復原始的限帶信號x(t),該信號是零頻附近的基帶信號。而實(shí)際接收的無(wú)線(xiàn)電信號絕大多數是一個(gè)有中心頻率的限帶信號,并且滿(mǎn)足信號帶寬與中心頻率之比遠遠小于1(B/fo1)的條件,即中心頻率fo遠高于信號所攜帶頻譜寬度,根據基本抽樣定理知道,此時(shí)抽樣頻率fs>2fo,這樣不僅要求高性能的AD轉換器,而且高速的抽樣數據又大大的加劇了DSP的信號處理負擔。為了讓DSP有足夠的時(shí)間去處理實(shí)時(shí)的信號,當前主要的方法有兩種:(1)直接降低抽樣率;(2)進(jìn)行高速抽樣,然后采用抽取方法降低抽樣率。本文采用的是直接降低抽樣率的方法。那么降低抽樣率是否會(huì )產(chǎn)生信號混疊等問(wèn)題呢?這由帶通抽樣理論來(lái)回答。
帶通抽樣定理:設一個(gè)頻率限帶信號x(t),其頻帶限制在(fL,fH)內,如果采樣頻率fs滿(mǎn)足: 其中n取值是滿(mǎn)足fs≥2B(B=fH-fL)的最大整數值(0,1,2,...),此時(shí)用fs進(jìn)行等間隔抽樣的x(nTs)能準確的確定原始信號x(t)。并確定帶通信號的中心頻率,那么。這個(gè)表達式表示:當抽樣頻率確定后,有許多頻率(或帶通信號)在滿(mǎn)足以上表達式所取的n值條件下,可以產(chǎn)生同一個(gè)頻率(或同一個(gè)帶通信號);同樣對于確定的fo通過(guò)選擇不同的n來(lái)確定fs。如圖2所示。
其中fs是抽樣頻率,當被抽樣的信號頻率fo是3fs/4和5fs/4時(shí),都不滿(mǎn)足fs>2fh的條件,是欠抽樣情況。在欠抽樣后都會(huì )輸出一個(gè)相同頻率的信號fs/4,如黑粗的虛線(xiàn)所示。進(jìn)一步講,如果被抽樣的信號是一個(gè)以fo為中心頻率的限帶信號,帶寬是B,且抽樣頻率fs>2B,那么欠抽樣后將會(huì )輸出一個(gè)以抽樣頻率fs/4為低中心頻率的限帶信號。當然抽樣時(shí)不容許被抽樣的信號中混入其他信號,即必須是一個(gè)限帶信號,否則其他滿(mǎn)足以上公式條件的信號都會(huì )進(jìn)入該頻帶;其次根據自然抽樣定理,輸出的頻譜中還會(huì )有與fs倍頻有關(guān)的頻譜分量,即輸出信號頻譜Xs是:
這需要通過(guò)DSP設計濾波器,恢復原始信號x(t)。Cn是抽樣脈沖傅里葉級數的系數。根據前面介紹的參數,抽樣頻率是60kHz(8bit)、被抽樣信號是465kHz的普通調幅接收機的中頻信號是一個(gè)限帶信號,信號帶寬是B=10kHz。
2.2 DSP硬件電路設計
實(shí)現帶通抽樣,使用DSP5402作為基帶信號處理,基本框圖如圖3所示。
其中AD采用TCL5510,該芯片最高抽樣率是20MHz,8位數據寬度,其輸入信號的動(dòng)態(tài)范圍是0.6~2.6V,由于輸入是465kHz交流的調幅信號,因此該輸入信號需要疊加在被抽樣信號中心位置1.6V直流電平上,AD前放大電路的輸出要調整在這個(gè)電平。AD轉換時(shí)鐘是使用DSP_CLKOUT信號,經(jīng)過(guò)2分頻獲得(10MHz)。
DA采用CA338,該芯片也是8位數據寬度,直接輸出模擬信號。系統采用一個(gè)AD與一個(gè)DA,因此在程序設計中使用PORTR和PORTW指令,產(chǎn)生IO讀寫(xiě)信號,與普通的或門(mén)控制,實(shí)現對AD的讀和對DA的寫(xiě)操作。
3 抽樣頻率確定與濾波器的實(shí)現
根據以上討論,對于窄帶中頻信號465kHz,通過(guò)60kHz的抽樣,產(chǎn)生15kHz的信號。抽樣前后的信號頻譜關(guān)系如圖4所示。
其中圖4(a)表示除了465kHz的帶通信號可以通過(guò)欠抽樣產(chǎn)生15kHz的低中頻信號外,其他信號也可以通過(guò)欠抽樣產(chǎn)生15kHz低中頻,因此465kHz的中頻必須是一個(gè)限帶濾波器輸出的信號,不容許其他信號混入抽樣。其次該限帶中頻信號與抽樣信號的頻域卷積除了有15kHz的信號頻譜外,還有其他的頻譜分量,因此抽樣后,DSP要設計一個(gè)帶通濾波器,濾除其他信號的頻譜,如圖4(c)所示。然后通過(guò)包絡(luò )檢波獲得基帶語(yǔ)音信號。
3.1 確定抽樣頻率
由于需要進(jìn)行實(shí)時(shí)的數字信號處理,從濾波器實(shí)現到確定準確的抽樣頻率十分重要。具體實(shí)現的方法可以是:選擇可編程AD轉換器,可編程時(shí)鐘發(fā)生器輸入時(shí)鐘到AD、DSP采用定時(shí)中斷抽樣等。由于本硬件設計AD是輸入固定時(shí)鐘,芯片不可編程,因此采用DSP中斷抽樣和處理的方法。根據60kHz的抽樣頻率,計算抽樣周期是16667ns,DSP工作的時(shí)鐘頻率是20MHz,如果以單周期指令計算,在A(yíng)D抽樣的周期內,DSP可執行16667/50=333條指令。那么DSP的工作過(guò)程應該按圖5時(shí)序進(jìn)行。
3.2 帶通濾波器的實(shí)現
使用DSP實(shí)現帶通濾波器的設計方法很多,可以先用MATLAB、SystemView等軟件進(jìn)行模擬仿真,然后獲取濾波器的系數,設計FIR濾波器或IIR濾波器,如果僅僅處理語(yǔ)音信號可以采用IIR濾波器;如果需要處理數據信號一般可以用FIR濾波器。
其次使用DSP_C54X定點(diǎn)數字信號處理器,由于在濾波器實(shí)現與數據處理中采用小數方式,因此要求輸入的數據也是小數,而從AD轉換采集數據信號是十六進(jìn)制的,因此首先要進(jìn)行數據轉換,然后處理,處理完的數據還需要轉換成16進(jìn)制,通過(guò)DA輸出。編制的DSP抽樣與處理的程序如下所示,實(shí)際使用中還需要矢量文件和連接文件。
.title “x.asm”
.mmregs
.def start
.def DStINT ;定時(shí)器中斷入口地址
x_new .usect “DATA1”,57 ;初始化數據區
x_old .usect “DATA2”,57 ;循環(huán)緩沖區長(cháng)度
.bssy,1
size .set 57 ;重復運算次數
data_l .set 256 ;計算數據長(cháng)度是256
PA0 .set 0
PA1 .set 1
.data
COEF .word -18,99,50,-76,-64,6,38,62,28,-36,-78,-61,46,92,58
.word 14,-123,-134,45,83,122,114,-184,-199,13,4,236,260
.word -244,-213,-85,-173,408,425,-267,-117,-300,-475,642,561
.word -187,174,-716,-943,941,590,149,883,-1605,-1808,1406
.word 287,1534,3658,-5867,-7587, 8579
.text
start: STM #0820H,PMST ;
STM #0000H,SWWSR ;
STM #0010H,TCR ;關(guān)閉定時(shí)器,TDDR=0000
STM #014CH,PRD ;定時(shí)器設置60K采樣周期
STM #0008H,IFR ;清除TINT中斷標志
STM #0008H,IMR ;容許中斷
STM #y,AR1
SSBX FRCT ;小數運算
STM #x_new,AR2 ;AR2指向新緩沖區第1單元
STM #x_old+(size-1),AR3 ;AR3指向老緩沖區最后單元
STM #-1,AR0 ;
STM #size,BK ;循環(huán)緩沖區長(cháng)度
STM #0C20H,TCR ;啟動(dòng)TSS=0,TRB=1自動(dòng)加載PRD
RSBX INTM ;開(kāi)放CPU中斷
wait B wait ;等待中斷
DStINT portr PA1,*AR2 ;讀取AD抽樣數據
LD *AR2,8,A
SUB #8000H,A ;轉換16進(jìn)制數為小數表示
STL A,*AR2 ;實(shí)現FIR濾波
ADD *AR2+0%,*AR3+0%,A ;AR2地址中內容16位加AR3同樣操作-->(AH)中
RPTZ B,#(size-1)
FIRS *AR2+0%,*AR3+0%,COEF ;A*系數-->B,同時(shí)進(jìn)行下一個(gè)ADD功能,直到全部完成
STH B,*AR1
LD *AR1,16,A
RSBX TC
CMPS A,*AR1 ;實(shí)現包絡(luò )檢波
BC buchl,NTC ;TC=0,采集數據>0,不處理
STH A,*AR1 ;TC=1,保存DSP的8000H~FFFFH
LD #0FFFFH,A
SUB *AR1,A ;實(shí)現FFFFH-采樣值
STL A,-8,*AR1 ;右移8位恢復半波
B CHLEND
buchl: SFTA A,-16
STL A,-8,*AR1
CHLEND: portw *AR1,PA0 ;輸出DA
MAR *+AR2(2)% ;AR2=circ(AR2+2),修改AR2
MAR *+AR3(1)% ;訪(fǎng)問(wèn)后,AR3=circ(AR3+1)修改AR3
MVDD *AR2,*AR3+0%
RETE
.end
其中,濾波器的輸入信號已經(jīng)將采集的16進(jìn)制數轉換成Q15格式,其輸出是定點(diǎn)DSP的Q15格式,對于包絡(luò )檢波可以認為:0~1用0000H~7FFFH表示低中頻載波的正半周,而低中頻的負半周是“FFFFH-抽樣值”,即是“(0-(0~-1)=0~1”,此運算將低中頻載波的負半周轉換為正半周,實(shí)現了檢波功能,DA輸出加一個(gè)低通濾波器可以得到基帶語(yǔ)音信號。
4 性能分析
通過(guò)以上分析和程序設計,使用DSPC5402構成的數字信號處理系統,對465kHz的窄帶中頻調幅信號進(jìn)行欠抽樣與數據處理,通過(guò)存儲示波器測量的波形如圖6所示。由于采用帶通抽樣,降低了抽樣頻率,使DSP有足夠的時(shí)間處理,如濾波、信號變換等。通過(guò)輸出的波形可以看到:信號的量化噪聲在一定程度上影響輸出信號的純度。因此還需要加好的低通濾波器。實(shí)際中還對普通的調幅收音機中頻輸出進(jìn)行實(shí)際抽樣處理,可以獲得比較清晰的語(yǔ)音信號。
5 結束語(yǔ)
本文通過(guò)對帶通抽樣定理的討論,結合DSPC54芯片設計的數字信號處理系統,對窄帶中頻信號進(jìn)行實(shí)際的抽樣與處理,獲得較好的效果。盡管與實(shí)際的軟件無(wú)線(xiàn)電系統實(shí)現框架有較大的距離,但論文研究結果為DSP在該領(lǐng)域的應用提供了一個(gè)實(shí)際范例。
評論