李運(yùn)洲 ,韋春玲 ,何憲文
?
基于DSP的QPSK信號(hào)解調(diào)
李運(yùn)洲1,韋春玲2,何憲文3
(1. 海軍92665部隊(duì), 湖南常德 415300;2. 黃岡師范學(xué)院, 湖北黃岡 438000;3. 海軍工程大學(xué), 武漢 430033)
本文介紹了QPSK信號(hào)產(chǎn)生和解調(diào)的相關(guān)原理。利用數(shù)字信號(hào)處理芯片運(yùn)算速度快、可編程性能好、抗干擾能力強(qiáng),能適合于實(shí)現(xiàn)復(fù)雜的算法的特點(diǎn),結(jié)合CCS開發(fā)平臺(tái),完成了以匯編語言為基礎(chǔ)的QPSK信號(hào)解調(diào)的DSP仿真。通過對(duì)比Matlab仿真和DSP仿真結(jié)果,驗(yàn)證設(shè)計(jì)的解調(diào)過程各項(xiàng)性能指標(biāo)均達(dá)到設(shè)計(jì)的要求。
DSP QPSK Matlab 仿真
0 引言
QPSK調(diào)制技術(shù)作為現(xiàn)代數(shù)字調(diào)制技術(shù)的一種,有抗干擾性能強(qiáng)、誤碼性能好、頻譜利用率高等優(yōu)點(diǎn),同時(shí),由于QPSK是一種恒包絡(luò)調(diào)制,其信號(hào)的平均功率是恒定的,使得信號(hào)不受幅度衰減的影響,幅度上的失真不會(huì)使QPSK產(chǎn)生誤碼。鑒于以上優(yōu)點(diǎn),QPSK被廣泛應(yīng)用于數(shù)字通信、數(shù)字視頻廣播、衛(wèi)星數(shù)據(jù)傳輸、移動(dòng)通信以及軍事通信等領(lǐng)域。
近年來,數(shù)字信號(hào)處理(DSP)技術(shù)的發(fā)展十分迅速,許多從前必須使用硬件電路實(shí)現(xiàn)的信號(hào)處理過程,現(xiàn)在已經(jīng)逐漸由軟件實(shí)現(xiàn)的DSP算法所取代,而且功能更強(qiáng)大,性能更可靠,接口更通用,互連更靈活。DSP技術(shù)已經(jīng)滲透到數(shù)字通信領(lǐng)域的各個(gè)環(huán)節(jié),如編碼譯碼、數(shù)字濾波、調(diào)制解調(diào)、時(shí)鐘同步、載波同步等。事實(shí)表明,DSP技術(shù)在通信和計(jì)算機(jī)應(yīng)用領(lǐng)域起著越來越重要的作用。可見如果將兩者相結(jié)合,利用DSP強(qiáng)大的數(shù)字信號(hào)處理功能可以更高效地實(shí)現(xiàn)QPSK的調(diào)制解調(diào)。
1原理及方案設(shè)計(jì)
QPSK調(diào)制技術(shù)是使用4種不同相位差的載波來表征輸入的數(shù)字信息。每一次調(diào)制能夠傳輸2個(gè)信息比特,信息就是通過載波的4種相位來傳遞的。
QPSK信號(hào)產(chǎn)生流程見圖1。
由于產(chǎn)生的QPSK信號(hào)是射頻信號(hào),因此需要對(duì)信號(hào)進(jìn)行下變頻,然后再對(duì)信號(hào)進(jìn)行解調(diào)。
根據(jù)奈奎斯特定理,設(shè)無符號(hào)間干擾的碼元波形的條件是:設(shè)接收濾波器對(duì)輸入脈沖的響應(yīng)的頻譜為(),符號(hào)速率為1/,那么()以1/為間隔進(jìn)行頻譜搬移后,得到的新的頻譜的幅度應(yīng)該是一條等幅直線。根據(jù)這一條準(zhǔn)則,我們可以設(shè)計(jì)()為升余弦。為了進(jìn)行匹配濾波接收,將()開方,得到根升余弦濾波器,分別放在發(fā)送端和接收端。這樣,從接收端匹配濾波器輸出的信號(hào)恰好就是升余弦信號(hào)。
為了得到根升余弦信號(hào),我們可以讓一個(gè)沖擊經(jīng)過根升余弦濾波器,濾波器的輸出就是所要得到的信號(hào)。而在數(shù)字濾波器中,可以將一連串的數(shù)字信號(hào)看成是多個(gè)沖擊的疊加。所以我們?cè)谠O(shè)計(jì)時(shí),可以讓信號(hào)直接通過根升余弦濾波器,得到波形成形之后的信號(hào)。需要考慮的問題是采樣頻率,符號(hào)速率,載波頻率,成形后波形帶寬(即基帶信號(hào)的帶寬)之間的關(guān)系,以及對(duì)原信號(hào)的插值倍數(shù)。下面描述上述參數(shù)之間的關(guān)系以及對(duì)原信號(hào)插值倍數(shù)的計(jì)算。
射頻頻率和符號(hào)速率是給出的。我們要確定的就是采樣頻率。設(shè)射頻頻率為s,采樣頻率為,符號(hào)速率為1/,成形后波形的帶寬為。那么,根據(jù)奈奎斯特采樣定律,采樣頻率只需要是+的2倍就可以了。也就是說,平均每個(gè)載波周期內(nèi)采(2+2*/)個(gè)點(diǎn),一般來說,遠(yuǎn)小于,所以理論上平均每個(gè)周期采2個(gè)點(diǎn)。在實(shí)際的應(yīng)用中,要想把信號(hào)提取出來,如果采樣率只是最高頻率的兩倍,那樣就需要理想的濾波器,而理想濾波器在實(shí)際中是不能實(shí)現(xiàn)的,所以需要提高采樣率。此外,為了使得經(jīng)過模數(shù)轉(zhuǎn)換之后的輸出信號(hào)有較理想的波形,取采樣頻率為的10倍。那么每個(gè)載波周期有十個(gè)采樣點(diǎn)。因?yàn)榉?hào)速率為1/,所以一個(gè)符號(hào)對(duì)應(yīng)的載波周期的個(gè)數(shù)為*,所以每一個(gè)符號(hào)對(duì)應(yīng)的點(diǎn)數(shù)是**10。所以插值的倍數(shù)就是**10。
2 QPSK信號(hào)Matlab仿真及DSP實(shí)現(xiàn)
為了驗(yàn)證DSP實(shí)現(xiàn)的正確性,我們?cè)贒SP實(shí)現(xiàn)之前用Matlab對(duì)QPSK信號(hào)進(jìn)行仿真,得到正確的仿真結(jié)果用于與DSP實(shí)現(xiàn)的結(jié)果進(jìn)行對(duì)比。
對(duì)接收信號(hào)進(jìn)行下變頻,得到I/Q兩路信號(hào),如圖4所示。
為了減小工程實(shí)現(xiàn)的難度,在DSP實(shí)現(xiàn)中我們使用Matlab軟件產(chǎn)生QPSK信號(hào)。DSP的具體實(shí)現(xiàn)是通過開發(fā)軟件CCS完成的。DSP實(shí)現(xiàn)步驟如下:
1)用matlab生成接收信號(hào),存入fir_signal.inc文件中。過程如下,在matlab中找到接收信號(hào)變量,將其內(nèi)容復(fù)制到文本文檔,然后用Mat2ASM軟件將每個(gè)數(shù)據(jù)前加一個(gè)逗號(hào),并且將數(shù)據(jù)轉(zhuǎn)化成一列的形式,復(fù)制該列數(shù)據(jù)到ccs新建的文件,然后查找逗號(hào)并替換成“ .word ”的形式,最后保存成inc文件即可。在主程序中用“.copy”將文件包含進(jìn)去即可。同理將載波信號(hào)分別存入carry_wave_i.inc 和carry_wave_q.inc兩個(gè)文件中。
2)接收信號(hào)經(jīng)過下變頻,得到I,Q兩路信號(hào)。分別給這兩路信號(hào)分配一個(gè)存儲(chǔ)空間,OUTPUT_INPUT_I和 OUTPUT_INPUT_Q。將經(jīng)過下變頻得到的結(jié)果存入這兩個(gè)空間之中。
下變頻的代碼如下:
STM #INPUT,AR2 STM #CARRY_WAVE_I,AR3
STM #OUTPUT_INPUT_I,AR4
STM #RE_NUM-1,BRC RPTB LOOP0-1
MPY *AR2+,*AR3+,A
STH A,*AR4+
LOOP0:
STM #INPUT,AR2
STM #CARRY_WAVE_Q,AR3 STM #OUTPUT_INPUT_Q,AR4
STM #RE_NUM-1,BRC
RPTB LOOP1-1
MPY *AR2+,*AR3+,A
STH A,*AR4+
LOOP1:
“LOOP0”執(zhí)行的是I路,“LOOP1”執(zhí)行的是Q路。
3)下變頻完成之后,進(jìn)行根升余弦濾波。濾波的思路是先將I路完全處理完,并將結(jié)果存入OUTPUT_I 中,然后再對(duì)Q路進(jìn)行處理,并將結(jié)果存入OUTPUT_Q中。參照課本上的濾波的代碼,其濾波的實(shí)際代碼如下(此處只寫出了I路的濾波代碼,Q路的代碼與此相似):
STM #COFFBUF,AR5
RPT #N-1
MVPD #COFF_FIR,*AR5+
STM #1,AR0
STM #DATABUF,AR4
RPTZ A,#N-1
STL A,*AR4+
STM #(DATABUF+N-1),AR4
STM #COFFBUF,AR5
FIR_TASK_I:
STM #OUTPUT_INPUT_I,AR6
STM #OUTPUT_I,AR7
STM #KS-1,BRC
RPTBD LOOP2-1
STM #N,BK
LD *AR6+,A
FIR_FILTER_I:
STL A,*AR4+%
RPTZ A,N-1
MAC *AR4+0%,*AR5+0%,A
STH A,*AR7+
4)濾波完成之后再進(jìn)行采樣判決。通過ccs上的圖形可以直接找到信號(hào)的最值點(diǎn),然后將他們記錄下來,找出最佳的采樣點(diǎn),直接將其輸出,結(jié)果存入SAMPLE_OUT_I和SAMPLE_OUT_Q中。代碼如下(僅I路信號(hào)的采樣代碼):
STM #32H,AR0
STM #OUTPUT_I,AR1
ADDM #100,AR1
STM #SAMPLE_OUT_I,AR2
STM #4,BRC
RPTB LOOP4-1
LD *AR1+0,A
STL A,*AR2+
LOOP4:
5)采樣點(diǎn)的數(shù)據(jù)得到之后,根據(jù)兩路的采樣結(jié)果,整合判決得到原始的發(fā)送信號(hào)將最終的結(jié)果存入JUDGE_OUT中。
經(jīng)過上述處理流程,QPSK信號(hào)解調(diào)DSP實(shí)現(xiàn)完成。
完成下變頻后的兩路信號(hào)如下圖所示:
下變頻信號(hào)經(jīng)過根深余弦濾波之后的信號(hào):
最終的判決結(jié)果如下:
通過比較Matlab仿真得到的結(jié)果與DSP實(shí)現(xiàn)得到的結(jié)果,可以看出本文設(shè)計(jì)的QPSK信號(hào)的DSP實(shí)現(xiàn)方法是正確的,能夠順利完成QPSK信號(hào)的解調(diào)。
3 總結(jié)
DSP芯片為實(shí)現(xiàn)各類信號(hào)的高速實(shí)時(shí)處理提供了充足的硬件資源,同時(shí)TI公司的CCS開發(fā)平臺(tái)提供了靈活高效的開發(fā)環(huán)境,因此,我們可以通過上述方法輕松實(shí)現(xiàn)QPSK信號(hào)的解調(diào)。
[1] 戴明楨,周建紅.TMS320C54x DSP結(jié)構(gòu)、原理及應(yīng)用(第2版)[M].北京航空航天大學(xué)出版社,2007.
[2] 馮桂,林其偉,陳東華.信息論與編碼技術(shù)[M].清華大學(xué)出版社,2007.
[3] 王金龍.無線通信系統(tǒng)的DSP實(shí)現(xiàn)[M].人民郵電出版社,2002.
Simulation of Hamming Coding Based on DSP
Li Yunzhou1, Wei Chunling2, He Xianwen3
(1. Army Unit 91388, Changde 415300, Hunan, China; 2. Huanggang Normal University,Huanggang 438000, Hubei, China;3. Naval University of Engineering, Wuhan 430033,China)
TN914
A
1003-4862(2016)05-0059-04
2016-03-15
李運(yùn)洲(1982-),男,工程師。研究方向:有線光纖通信。