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