2DPSK信號(hào)數(shù)字化解調(diào)技術(shù)研究
Since the software radio (SDR) has been formally proposed in 1992, it has been attentioned more and more, and its application increased extensivly. An important element of the SDR is the digital signal modulation and demodulation. This paper first describes the SDR profiles, and then introduces several digital signals demodulation algorithm. And presents a DFT- based digital demodulation scheme for 2DPSK signal in software radio.The idea is to do DFT on samples in every one (or several) carrier circle to get the phase of the 2DPSK signal and resume the modulated signal. MATLAB algorithm for the simulation results show that: 2DPSK signal can be demodulated accurately with DFT algorithm. Comparing with traditional methods, not only the process is simple and easy to realize with less computation, but also noise- resisting property is improved obviously. This method has practical significance in design of 2DPSK signal digital receiver.
KEY WORDS: software radio(SDR), 2DPSK, MATLAB,
Discrete Fourier Transform(DFT), digital demodulate
目 錄
摘要…………………………………………….I
ABSTRACT…………………………………………… II
第一章 緒論…………………………………………1
1.1 軟件無線電概述………………………………….1
1.1.1軟件無線電的基本概念及由來……………………1
1.1.2 軟件無線電的主要特點(diǎn)及優(yōu)點(diǎn)……………………1
1.1.3 軟件無線電的基本結(jié)構(gòu)…………………………2
1.2 軟件無線電中的調(diào)制解調(diào)技術(shù)……………………….5
1.2.1 軟件無線電中的調(diào)制解調(diào)問題……………………5
1.2.2 正交調(diào)制原理………………………………..6
1.2.3 正交解調(diào)原理………………………………..8
1.3 課題設(shè)計(jì)內(nèi)容…………………………………..10
第二章 幾種基于DFT的數(shù)字化解調(diào)技術(shù)…………………..11
2.1 DFT的基本原理………………………………….11
2.2 AM信號(hào)解調(diào)…………………………………….11
2.2.1 解調(diào)方法…………………………………..11
2.2.2 解調(diào)失真度…………………………………12
2.3 QDPSK信號(hào)數(shù)字化解調(diào)…………………………….12
2.3.1 解調(diào)方法…………………………………..13
2.3.2 位同步方法…………………………………13
2.3.3 QDPSK信號(hào)的數(shù)字化解調(diào)……………………….14
第三章 2DPSK信號(hào)數(shù)字化解調(diào)算法……………………….16
3.1 2PSK及2DPSK信號(hào)原理…………………………….16
3.2 基于DFT的2DPSK信號(hào)數(shù)字化解調(diào)方法………………..17
3.3 解調(diào)中的位同步方法……………………………..18
3.4 相關(guān)說明與討論…………………………………19
第四章 2DPSK信號(hào)數(shù)字化解調(diào)的仿真研究………………….21
4.1 仿真軟件工具的選擇……………………………..21
4.2 程序流程圖…………………………………….22
4.3 仿真主要代碼介紹……………………………….26
4.4 仿真輸出結(jié)果…………………………………..27
第五章 畢業(yè)設(shè)計(jì)總結(jié)…………………………………30
5.1 基于DFT的2DPSK信號(hào)數(shù)字化解調(diào)算法的優(yōu)點(diǎn)…………..30
5.2 設(shè)計(jì)中遇到的問題和不足之處………………………30
5.3 心得體會(huì)………………………………………31
結(jié)束語……………………………………………..32
參考文獻(xiàn)……………………………………………33
摘 要
軟件無線電(SDR)自從1992年被正式提出以來,受到了越來越多的關(guān)注,應(yīng)用也越來越廣泛。軟件無線電技術(shù)一個(gè)很重要的內(nèi)容就是信號(hào)的數(shù)字化調(diào)制與解調(diào)。本文首先闡述了SDR的概況,然后介紹了幾種信號(hào)的數(shù)字化解調(diào)算法。并且提出了一種在軟件無線電中基于離散傅立葉變換(DFT)算法的二進(jìn)制相對(duì)相移鍵控(2DPSK)信號(hào)的數(shù)字化解調(diào)算法,通過對(duì)載波周期內(nèi)的采樣值進(jìn)行DFT來提取相位信息并恢復(fù)原始調(diào)制信號(hào)。用MATLAB對(duì)這個(gè)算法進(jìn)行了仿真研究的結(jié)果表明:采用該方法可以正確的實(shí)現(xiàn)2DPSK信號(hào)的解調(diào),與傳統(tǒng)的解調(diào)方法相比,不僅解調(diào)過程簡單,易于實(shí)現(xiàn),計(jì)算量小,而且抗干擾性能得到了明顯的改善。將該方法用于2DPSK信號(hào)方式的數(shù)字化接收機(jī)設(shè)計(jì)中具有實(shí)際的意義。
關(guān)鍵詞: 軟件無線電, DFT, 2DPSK,數(shù)字化解調(diào), MATLAB
ABSTRACT
第一章 緒論
1.1軟件無線電概述
1.1.1軟件無線電的基本概念及由來
軟件無線電(SDR-software definded radio)是指在無線電系統(tǒng)中用軟件
處理的方式來實(shí)現(xiàn)智能天線、調(diào)制解調(diào)等功能,其突出特點(diǎn)是使產(chǎn)品的生產(chǎn)和維
護(hù)簡化,可靠性提高,能兼容多種信號(hào)方式,可通過更新軟件來升級(jí)系統(tǒng)功能等。
通信裝備從傳統(tǒng)電臺(tái)發(fā)展到軟件無線電,中間有一個(gè)從量變到質(zhì)變的過程。最開始人們?cè)谠O(shè)計(jì)中嘗試將所需要支持的多種不同的設(shè)備集成在一個(gè)結(jié)構(gòu)里,由硬件模塊完成在不同設(shè)備之間的切換。如果使用這種方法,系統(tǒng)的體積和重量會(huì)隨著要支持的設(shè)備種類增加而增加,顯然,這種做法難以解決多少問題。
為了避免系統(tǒng)體積無限增大,隨著數(shù)字信號(hào)處理技術(shù)的發(fā)展,出現(xiàn)了可編程數(shù)字無線電,開始嘗試硬件模塊復(fù)用以降低成本??删幊虜?shù)字無線電可以進(jìn)行部分重構(gòu),簡單地修改電臺(tái)參數(shù),重構(gòu)功能主要集中在基帶處理部分,比如選擇前向糾錯(cuò)編碼的方式等。電臺(tái)功能,尤其是發(fā)射和接收操作,依然主要由硬件控制,限制了電臺(tái)向多頻段多功能發(fā)展的能力。
隨著越來越多的基本功能改由軟件完成,系統(tǒng)的靈活性日益增強(qiáng)。另外,器件技術(shù)的進(jìn)步驅(qū)使模擬/數(shù)字接口逐漸靠近天線,可以由軟件實(shí)現(xiàn)更多的功能,模擬電路對(duì)射頻特性的影響不斷降低。由此逐漸產(chǎn)生一種全新的體系結(jié)構(gòu),誕生出軟件無線電。
1992年5月,MILTRE公司的Jeo Mitola首次明確提出了軟件無線電(soft radio)的概念。其中心思想是:構(gòu)造一個(gè)具有開放性、標(biāo)準(zhǔn)化、模塊化的通用硬件平臺(tái),將各種功能,如工作頻段、調(diào)制解調(diào)類型、數(shù)據(jù)格式、通信協(xié)議等用軟件來完成,并使寬帶A/D(模擬/數(shù)字)和D/A(數(shù)字/模擬)轉(zhuǎn)換器盡可能靠近天線,以研制出具有高度靈活性、開放性的新一代無線通信系統(tǒng)。可以說這種電臺(tái)是可用軟件控制和再定義的電臺(tái)。選用不同的軟件模塊就可以實(shí)現(xiàn)不同的功能,而且軟件可以升級(jí)更新,其硬件也可以像計(jì)算機(jī)一樣不斷地升級(jí)換代。由于軟件無線電的各種功能是用軟件實(shí)現(xiàn)的,如果要實(shí)現(xiàn)新的業(yè)務(wù)或調(diào)制方式只要增加一個(gè)新的軟件模塊即可。同時(shí),由于它能形成各種調(diào)制波形和通信協(xié)議,故還可以與舊體制的各種電臺(tái)通信,大大延長了電臺(tái)的使用周期,也節(jié)約了開支。有些人也把軟件無線電稱為”超級(jí)計(jì)算機(jī)”。
1.1.2 軟件無線電的主要特點(diǎn)及優(yōu)點(diǎn)
軟件無線電的主要特點(diǎn)可以歸納如下:
(1)具有很強(qiáng)的靈活性 軟件無線電可以通過增加軟件模塊,很容易增加新的功能。可以與其他任何電臺(tái)進(jìn)行通信,并可以作為其他電臺(tái)的射頻中繼。可以通過無線加載來改變軟件模塊或更新模塊。為了減少開支,可以根據(jù)所需功能的強(qiáng)弱,取舍選用的軟件模塊。
(2)具有較強(qiáng)的開放性 軟件無線電由于采用了標(biāo)準(zhǔn)化、模塊化的結(jié)構(gòu),其硬件可以隨著器件和技術(shù)的發(fā)展而更新或擴(kuò)展,軟件也可以隨需要而不斷升級(jí)。軟件無線電不僅能和新體制電臺(tái)通信,還能和舊體制電臺(tái)兼容。這樣,既延長了舊體制電臺(tái)的使用壽命,也保證了軟件無線電本身有很長的生命周期。
軟件無線電的主要優(yōu)點(diǎn)有:
(1)簡少了通信設(shè)備的硬件電路, 使系統(tǒng)的可靠性大大提高, 生產(chǎn)和維護(hù)因此變得十分簡單;
(2)可以通過更新軟件來實(shí)現(xiàn)系統(tǒng)功能和性能指標(biāo)的升級(jí);
(3)可以以很低的代價(jià)來擴(kuò)展系統(tǒng)的功能, 達(dá)成對(duì)多種信號(hào)體制兼容的工作能力;
(4)通過改進(jìn)數(shù)字信號(hào)處理算法, 可以獲得比基于電路的傳統(tǒng)通信設(shè)備更好的性能指標(biāo)。
軟件無線電這一新概念一經(jīng)提出,就得到了全世界無線電領(lǐng)域的廣泛關(guān)注。由于軟件無線電所具有的靈活性、開放性等特點(diǎn),使其不僅在軍、民無線通信中獲得應(yīng)用,而且將在其他領(lǐng)域例如電子戰(zhàn)、雷達(dá)、信息化家電等領(lǐng)域得到推廣,這將極大促進(jìn)軟件無線電技術(shù)及其相關(guān)產(chǎn)業(yè)(集成電路)的迅速發(fā)展。
1.1.3 軟件無線電的基本結(jié)構(gòu)
軟件無線電的基本思想[1]是以一個(gè)通用、標(biāo)準(zhǔn)、模塊化的硬件平臺(tái)為依托,通
過軟件編程來實(shí)現(xiàn)無線電臺(tái)的各種功能,從基于硬件、面向用途的電臺(tái)設(shè)計(jì)方法中解放出來。功能的軟件化實(shí)現(xiàn)勢(shì)必要求減少功能單一、靈活性差的硬件電路,尤其是減少模擬環(huán)節(jié),把數(shù)字化處理(A/D和D/A變換)盡量靠近天線。軟件無線電強(qiáng)調(diào)體系結(jié)構(gòu)的開放性和全面可編程性,通過軟件的更新改變硬件的配置結(jié)構(gòu),實(shí)現(xiàn)新的功能。軟件無線電采用標(biāo)準(zhǔn)的、高性能的開放式總線結(jié)構(gòu),以利于硬件模塊的不斷升級(jí)和擴(kuò)展。理想軟件無線電的組成結(jié)構(gòu)如圖1.1所示。
圖1.1 軟件無線電結(jié)構(gòu)框圖
軟件無線電主要有天線、射頻前端、寬帶A/D-D/A轉(zhuǎn)換器、通用和專用數(shù)字信號(hào)處理器以及各種軟件組成。軟件無線電的天線一般要覆蓋比較寬的頻段,例如1MHz~2GHz,要求每個(gè)頻段的特性均勻,以滿足各種業(yè)務(wù)的需求。例如,在軍事通信中,可能需要VHF/UHF的視距通信、UHF衛(wèi)星通信,HF通信作為備用通信方式。為便于實(shí)現(xiàn),可在全頻段甚至每個(gè)頻段使用幾付天線,并采用智能化天線技術(shù)。
射頻前端在發(fā)射時(shí)主要完成上變頻、濾波、功率放大等任務(wù),接受時(shí)實(shí)現(xiàn)濾波、放大、下變頻等功能。在射頻變換部分,寬帶、線性、高效射頻放大器的設(shè)計(jì)和電磁兼容問題的處理是比較困難的。當(dāng)然,如果采用射頻直接數(shù)字化方式,射頻前端的功能可以進(jìn)一步簡化,但對(duì)數(shù)字處理的要求提高。要實(shí)現(xiàn)射頻直接帶通采樣,要求A/D轉(zhuǎn)換器有足夠的工作帶寬(2GHz以上),較高的采樣速率(一般在60MHz以上),而且要有較高的A/D轉(zhuǎn)換位數(shù),以提高動(dòng)態(tài)范圍。目前8位A/D轉(zhuǎn)換器的工作帶寬已做到1.5GHz以上。
模擬信號(hào)進(jìn)行數(shù)字化后的處理任務(wù)全由DSP軟件承擔(dān)。為了減輕通用DSP的處理壓力,通常把A/D轉(zhuǎn)換器傳來的數(shù)字信號(hào),經(jīng)過專用數(shù)字信號(hào)處理器件(如數(shù)字下變頻器DDC)處理,降低數(shù)據(jù)流速率,并把信號(hào)變至基帶后,再把數(shù)據(jù)送給通用DSP進(jìn)行處理。通用DSP主要完成各種數(shù)據(jù)率相對(duì)較低的基帶信號(hào)的處理,例如信號(hào)的調(diào)制解調(diào),各種抗干擾、抗衰落、自適應(yīng)均衡算法的實(shí)現(xiàn)等,還要完成經(jīng)信源編碼后的前向糾錯(cuò)(FEC)、幀調(diào)整、比特填充和鏈路加密等算法。由于DSP技術(shù)和器件的發(fā)展,高速、超高速的數(shù)字信號(hào)處理器不斷涌現(xiàn),如TMS320C6X,ADSP21160等,DSP已能基本滿足軟件無線電的技術(shù)需求。如果采用多芯片并行處理的方法,其處理能力還將大大提高。
軟件無線電的結(jié)構(gòu)基本可以分為3種:射頻低通采樣數(shù)字化結(jié)構(gòu)、射頻帶通采樣數(shù)字化結(jié)構(gòu)和寬帶中頻帶通采樣數(shù)字化結(jié)構(gòu),如圖1.2~圖1.4所示。
圖1.2 射頻低通采樣數(shù)字化的理想軟件無線電結(jié)構(gòu)
射頻低通采樣數(shù)字化的軟件無線電,其結(jié)構(gòu)簡單,把模擬電路的數(shù)量減少到最低程度,如圖1.2所示。從天線進(jìn)來的信號(hào)經(jīng)過濾波放大后就由A/D進(jìn)行采樣數(shù)字化,這種結(jié)構(gòu)不僅對(duì)A/D轉(zhuǎn)換器的性能如轉(zhuǎn)換速率、工作帶寬、動(dòng)態(tài)范圍等提出了非常高的要求,同時(shí)對(duì)后續(xù)DSP或ASIC(專用集成電路)的處理速度要求也特別的高,因?yàn)樯漕l低通采樣所需的采樣速率至少是射頻工作帶寬的2倍。例如,工作在1MHz~1GHz的軟件無線電接收機(jī),其采樣速率至少需要2GHz,這樣高的采樣率,A/D能否達(dá)到暫且不說,后續(xù)的數(shù)字信號(hào)處理器也是難以滿足要求的。圖1.3所示的射頻帶通采樣軟件無線電結(jié)構(gòu)可以較好的解決上述射頻低通采樣軟件無線電結(jié)構(gòu)對(duì)A/D轉(zhuǎn)換器、高速DSP等要求過高,以至無法實(shí)現(xiàn)的問題。
圖1.3 射頻帶通采樣軟件無線電結(jié)構(gòu)
這種射頻帶通采樣軟件無線電結(jié)構(gòu)與低通采樣軟件無線電結(jié)構(gòu)的主要不同點(diǎn)是,A/D前采用了帶寬相對(duì)較窄的電調(diào)濾波器,然后根據(jù)所需的處理帶寬進(jìn)行帶通采樣。這樣對(duì)A/D采樣速率的要求就不高了,對(duì)后續(xù)DSP的處理速度也可以隨之大大降低。但是需要指出的是,這種射頻帶通采樣軟件無線電結(jié)構(gòu)對(duì)A/D工作帶寬的要求(實(shí)際上是對(duì)A/D中采樣保持器的速度要求)仍然是比較高的。
寬帶中頻帶通采樣軟件無線電結(jié)構(gòu)與目前的中頻數(shù)字化接收機(jī)的結(jié)構(gòu)是類似的,都采用了多次混頻體制或叫超外差體制,如圖1.4所示。這種寬帶中頻帶通采樣軟件無線電結(jié)構(gòu)的主要特點(diǎn)是中頻帶寬更寬(例如20MHz),所有調(diào)制解調(diào)等功能全部由軟件加以實(shí)現(xiàn)。中頻帶寬是這種軟件無線電與普通超外差中頻數(shù)字化接收機(jī)的本質(zhì)區(qū)別。顯而易見,這種寬帶中頻帶通采樣軟件無線電結(jié)構(gòu)是上述三種結(jié)構(gòu)中最容易實(shí)現(xiàn)的,對(duì)器件的性能要求最低,但它離理想軟件無線電的要求最遠(yuǎn),可擴(kuò)展性、靈活性也是最差的。
圖1.4 軟件無線電的中頻數(shù)字化結(jié)構(gòu)
1.2軟件無線電中的調(diào)制解調(diào)技術(shù)
1.2.1 軟件無線電中的調(diào)制解調(diào)問題
為了能夠進(jìn)行無線傳輸以及達(dá)到多路復(fù)用、提高抗噪聲的目的, 在發(fā)射端需要用代表信息的基帶信號(hào)(模擬或數(shù)字的低通信號(hào))去控制載波的參數(shù)變化, 這就是調(diào)制; 在接收端則需要從調(diào)制信號(hào)中恢復(fù)原來的基帶信號(hào), 這就是解調(diào)。已經(jīng)有許多不同類型的調(diào)制方式可以適應(yīng)不同的需要。
在軟件無線電系統(tǒng)中, 調(diào)制和解調(diào)都是用程序來實(shí)現(xiàn)的(也稱為全數(shù)字化調(diào)制解調(diào))。要編寫出各種類型調(diào)制信號(hào)的調(diào)制解調(diào)軟件, 關(guān)鍵是確定信號(hào)處理算法。可以利用 FPGA(現(xiàn)場(chǎng)可編程邏輯器件)來實(shí)現(xiàn)需要的調(diào)制解調(diào)算法, 其計(jì)算速度比 DSP 更快, 但是靈活性及控制功能較差, 需要與 DSP 或單片機(jī)配合使用。
建立調(diào)制解調(diào)算法及程序的一條途徑是把模擬電路的工作原理軟件化[2]。比如要對(duì) AM信號(hào)進(jìn)行相干解調(diào), 或建立載波同步乘法器、低通濾波等軟件模塊的做法雖然可行, 但是計(jì)算量很大。實(shí)際上, 根據(jù)軟件無線電的特點(diǎn), 可以建立與調(diào)制解調(diào)電路工作原理有所不同的調(diào)制解調(diào)算法。
圖 1.5為 SDR 接收機(jī)中廣泛使用的數(shù)字正交解調(diào)方案。這是一個(gè)具有通用性的解調(diào)模型, 對(duì)不同方式的調(diào)制信號(hào)只需要設(shè)計(jì)相應(yīng)的基帶解調(diào)算法。對(duì)于 AM 信號(hào), 基帶解調(diào)算法為 A(n) =(I(n) +Q(n) ) 。對(duì) LPF 的輸出進(jìn)行數(shù)據(jù)抽取是因?yàn)榛鶐盘?hào) I、Q 需要的采樣率遠(yuǎn)低于對(duì)調(diào)制信號(hào)的采樣率。這種解調(diào)方案利用軟件中可以實(shí)現(xiàn)的平方和開方運(yùn)算而免去了復(fù)雜的載波同步過程,不僅減少了計(jì)算量, 也避免了因載波同步誤差而引起的解調(diào)誤差 (相位同步誤差和比較小的頻率同步誤差都不影響解調(diào)效果)。因?yàn)槿匀皇窍喔山庹{(diào), 所以這種解調(diào)方案具有良好的抗干擾性能。
圖1.5 正交數(shù)字化解調(diào)器
但是這種解調(diào)方法的計(jì)算量還是比較大的,因?yàn)閷?duì)每一次采樣值都要分兩路進(jìn)行乘法和階數(shù)較高的低通濾波。由于計(jì)算量大(或者說對(duì)計(jì)算速度要求高), 正交數(shù)字化解調(diào)目前也難以用價(jià)位合理的 DSP 來實(shí)現(xiàn), 于是就出現(xiàn)了數(shù)字下變頻器(DDC)這樣的專用芯片。DDC 通過載波跟蹤用數(shù)控振蕩器產(chǎn)生 Cos 和 Sin 數(shù)字序列, 分別與調(diào)制信號(hào)的采樣序列相乘, 并完成低通濾波和數(shù)據(jù)抽取, 輸出 I、Q 信號(hào)供 DSP 進(jìn)行位同步和碼元解調(diào)。由于 DDC 是電路實(shí)現(xiàn)的, 可以采用并行處理結(jié)構(gòu) (同時(shí)進(jìn)行濾波所需要的多次乘法運(yùn)算), 所以能夠解調(diào)計(jì)算量大的問題。目前已經(jīng)產(chǎn)品化的軟件無線電接收機(jī), 在結(jié)構(gòu)上大多是采用的是”中頻采樣→數(shù)字下變頻器→DSP 基帶解調(diào)”方案, DDC也就成了軟件無線電的關(guān)鍵技術(shù)之一。另一種解決方案就是零中頻解調(diào), 也稱為直接變換法, 即用與發(fā)射載波同頻率的模擬 Cos 和 Sin 信號(hào)分別與接收到的調(diào)制信號(hào)相乘, 經(jīng)過 LPF 輸出 I、Q 信號(hào), 采樣后供 DSP 進(jìn)行基帶解調(diào)。比如在基于雷達(dá)工作原理的第二代射頻身份識(shí)別系統(tǒng)(RFID,需要接收和解調(diào)受到射頻 IC 卡控制的反射電磁波)中, 由于收、發(fā)是在同一個(gè)設(shè)備中, 可以把發(fā)射載波直接用于接收解調(diào), 就可以采用”直接變換法”解調(diào)方案。DDC 器件價(jià)格較高, 功耗大, 功能和結(jié)構(gòu)缺乏靈活性, 直接變換法性能不及中頻解調(diào)方案, 所以, 如果研發(fā)出計(jì)算量小、解調(diào)質(zhì)量好,能夠用”中頻采樣-DSP 軟件解調(diào)”方案實(shí)現(xiàn)的解調(diào)算法, 是很有意義的。
1.2.2 正交調(diào)制原理
為了采用統(tǒng)一的硬件結(jié)構(gòu)來實(shí)現(xiàn)多種調(diào)制方式,我們必須尋求一種通用的解調(diào)方法,正交調(diào)制的理論很好地解決了這一問題。盡管調(diào)制樣式有多種多樣,但實(shí)質(zhì)上不外乎用調(diào)制信號(hào)去控制載波的一個(gè)或幾個(gè)參數(shù),使這個(gè)參數(shù)按照調(diào)制信號(hào)的規(guī)律而變化的過程。調(diào)制信號(hào)的數(shù)學(xué)表達(dá)式為:
S(n)=A(n)cos[ω(n)n+θ(n)]
調(diào)制信號(hào)可以分別”寄生”在已調(diào)信號(hào)的振幅、頻率和相位中,相應(yīng)的調(diào)制就是調(diào)幅、調(diào)頻及調(diào)相這三人調(diào)制方式。
將上式改寫為:
S(n)=A(n)cos[ω n+Φ(n)]
式中, ω 表示載波的角頻率。
所以, S(n)=A(n)cos[Φ(n)]cos(ω n)
- A(n)sin[Φ(n)] sin(ω n)
=X (n) cos(ω n)-X (n) sin(ω n)
式中, X (n)= A(n)cos[Φ(n)]
X (n)= A(n)sin[Φ(n)]
這就是我們所希望獲得的同相和正交兩個(gè)分量,由上式可以看出它們包含了信號(hào)的幅度和相位信息,根據(jù)X (n)、X (n),,就可以對(duì)各種調(diào)制信號(hào)進(jìn)行解調(diào)。通用調(diào)制算法如圖1.6所示。
圖 1.6 數(shù)字正交調(diào)制通用模型
現(xiàn)以MSK信號(hào)正交調(diào)制為例來說明,二進(jìn)制頻移鍵控(MSK)信號(hào):
S_msk 〖=cos〗?(ωn+π/2 α_k/T_b n+Φ_k )
應(yīng)用三角恒等式展開該式,并考慮到α_k=±1,Ф_k=0或π,則可得:
S_msk (n)=cos?〖Ф_k 〗 cos?〖πn/(2T_b )〗 cos?ωn
-α_k cos?〖Ф_k 〗 sin?〖πn/(2T_b ) sin?ωn 〗
=〖 I〗_k cos?〖πn/(2T_b )〗 cos?ωn+Q_k sin?〖πn/(2T_b ) sin?ωn 〗
式中,〖 I〗_k=cos?〖Ф_k 〗 , Q_k= -α_k cos?〖Ф_k 〗 。
DMSK(數(shù)字MSK)正交調(diào)制器實(shí)現(xiàn)框圖如圖1.7所示。
圖1.7 數(shù)字MSK正交調(diào)制框圖
1.2.3 正交解調(diào)原理
多種調(diào)制信號(hào)在理論上都可以通過正交解調(diào)算法實(shí)現(xiàn)解調(diào)[3]。正交解調(diào)必須首先實(shí)現(xiàn)正交分解,圖1.8示出了數(shù)字正交下變頻法實(shí)現(xiàn)正交分解的框圖。
圖1.8 數(shù)字正交解調(diào)的通用模型
經(jīng)過數(shù)字正交下變頻和低通濾波后形成I 、Q 兩路正交基帶信號(hào),解調(diào)算法主要是用兩路正交信號(hào)計(jì)算出信號(hào)的幅度和相位。解調(diào)算法如下:
調(diào)幅解調(diào):
A(n)=√(I^2 (n)+Q^2 (n)) (1.1)
調(diào)相信號(hào)解調(diào):
Ф(n)=tan^(-1)?〖[(Q(n))/(I(n))]〗 (1.2)
調(diào)頻信號(hào)解調(diào):
f(n)=Φ^’ (n)=Φ_n-Φ_(n-1) (1.3)
由式(1.2)和式(1.3)可見,對(duì)于調(diào)頻調(diào)相信號(hào)的解調(diào)算法需要求出瞬時(shí)相位Ф(n),即需做除法與反正切運(yùn)算,這在硬件實(shí)現(xiàn)上比較困難,若用FPGA實(shí)現(xiàn)則要消耗很多門資源,故需尋找簡化算法。
假設(shè)I_n和Q_n為n時(shí)刻I路和Q路采樣值,I_(n-1)和Q_(n-1)為n-1時(shí)刻I路和Q路采樣值,則:
Dot(n)=I_n I_(n-1)+Q_n Q_(n-1)
=cos?〖φ_n 〗 cos?〖φ_(n-1) 〗 〖+sin〗?〖φ_n 〗 sin?〖φ_(n-1) 〗
=cos?〖(φ_n-φ_(n-1))〗
=cos?〖(?φ)〗
和 cross(n)=I_n Q_(n-1)-Q_n I_(n-1)
=cos?〖φ_n 〗 sin?〖φ_(n-1) 〗-sin?〖φ_n 〗 cos?〖φ_(n-1) 〗
=sin?〖(φ_n-φ_(n-1))〗
=sin?〖(?φ)〗
分別為前后兩個(gè)數(shù)據(jù)采樣點(diǎn)的相位差的正弦和余弦值,我們分別稱Dot(n)為點(diǎn)積,cross(n)為叉積。通過點(diǎn)積值或符號(hào)可判斷相差大小,可用于DPSK和DMSK的解調(diào);通過叉積的值和符號(hào)可判斷頻差大小,可用于GMSK解調(diào);通過點(diǎn)積與叉積符號(hào)可組合判決相差大小,從而對(duì)DQPSK、π/4 DQPSK、D8PSK等調(diào)制方式解調(diào)。點(diǎn)積與叉積只有和、差與乘法運(yùn)算,用FPGA很容易實(shí)現(xiàn)。而且叉積所提取的頻差可直接用于載波跟蹤。
1.3課題設(shè)計(jì)內(nèi)容
數(shù)字化調(diào)制是指用軟件產(chǎn)生出調(diào)制信號(hào)的采樣序列,再通過D/A轉(zhuǎn)換得到模擬的調(diào)制信號(hào),數(shù)字化解調(diào)則是指對(duì)已調(diào)波信號(hào)進(jìn)行A/D轉(zhuǎn)換,再通過數(shù)據(jù)處理來實(shí)現(xiàn)對(duì)信號(hào)的解調(diào)。數(shù)字化調(diào)制、解調(diào)是軟件無線電技術(shù)(SDR)中的一個(gè)重要內(nèi)容。SDR主要依靠軟件來完成接收系統(tǒng)的各項(xiàng)功能,如智能天線、信號(hào)識(shí)別、調(diào)制解調(diào)等,其優(yōu)點(diǎn)在于可以使產(chǎn)品的硬件大大簡化,可靠性大大提高,便于生產(chǎn)和維護(hù),可以通過更新軟件來實(shí)現(xiàn)產(chǎn)品的功能升級(jí)等。π/4QDPSK信號(hào)相對(duì)一般的QPSK信號(hào)具有頻譜更加集中,更有利于實(shí)現(xiàn)位同步的優(yōu)點(diǎn)。數(shù)字化調(diào)制的基本要求是產(chǎn)生性能好的調(diào)制信號(hào)波形,計(jì)算量小。
本課題要求:
(1)對(duì)SDR的基本概念進(jìn)行研究,重點(diǎn)是數(shù)字化調(diào)制、解調(diào)技術(shù)。
(2)設(shè)計(jì)一個(gè)基于離散傅立葉變換的2DPSK信號(hào)的數(shù)字化解調(diào)算法。
(3)用MATLAB語言編程產(chǎn)生出具有典型性的2DPSK信號(hào)。
(4)對(duì)2DPSK信號(hào)進(jìn)行數(shù)字化解調(diào)。
(5)對(duì)解調(diào)的誤碼率進(jìn)行研究。
第二章 幾種基于DFT的解調(diào)技術(shù)
2.1 DFT的基本原理
離散傅立葉變換(DFT)對(duì)于有限長序列是一種非常重要的數(shù)學(xué)變換。因?yàn)槠鋵?shí)質(zhì)上是有限長序列傅立葉變換的有限點(diǎn)離散采樣,從而開辟了頻域離散化的道路,使數(shù)字信號(hào)處理論可以再頻域采用數(shù)字運(yùn)算的方法進(jìn)行,這樣就大大增加了數(shù)字信號(hào)處理的靈活性。更重要的是DFT有多種快速算法,統(tǒng)稱為快速傅立葉變換(FFT),從而使信號(hào)的實(shí)時(shí)處理和設(shè)備的簡化得以實(shí)現(xiàn)。因此,時(shí)域離散系統(tǒng)的研究于應(yīng)用在許多方面取代了傳統(tǒng)的連續(xù)時(shí)間系統(tǒng)。所以說,DFT不僅在理論上有重要意義,而且在各種信號(hào)的處理中亦起著核心作用。
一般DFT被定義為:
X(k)=DFT[x(n)]=∑_(n=0)^(N-1)?〖x(n)e^(-j2πnk/N) 〗
其中, k=0,1,2……,N-1
它的逆變換IDFT定義為:
x(n)=IDFT[X(k)]=1/N ∑_(k=0)^(N-1)?〖X(k)〗 e^(j2πnk/N)
其中, n=0,1,2……,N-1
其中,e^(-jθ)=cos?θ+jsin?θ 。
可以證明,離散傅立葉變換的逆變換是唯一的。
DFT的快速算法FFT的出現(xiàn),使DFT在數(shù)字通信、語音信號(hào)處理、圖象處理、功率譜估值、仿真、系統(tǒng)分析、雷達(dá)理論、光學(xué)、醫(yī)學(xué)、地震以及數(shù)值分析等各個(gè)領(lǐng)域都得到廣泛應(yīng)用。
2.2 AM信號(hào)解調(diào)
2.2.1 解調(diào)方法
文獻(xiàn)[4]中提出了一種基于DFT(離散傅立葉變換)的AM信號(hào)解調(diào)算法,要點(diǎn)是對(duì)低中頻AM信號(hào)進(jìn)行整周期采樣(比如取采樣頻率為載波頻率的8倍),對(duì)每一個(gè)載波周期內(nèi)的采樣點(diǎn)(記為x_1~x_8)進(jìn)行DFT,計(jì)算出載波的幅值A(chǔ)(n):
I(n)=∑_(k=1)^8?x_k cos?〖(2πk/8)〗
=0.707(x_1-x_3-x_5+x_7)-x_8+x_4
Q(n)=∑_(k=1)^8?x_k sin?〖(2πk/8)〗
=0.707(x_1+x_3-x_5-x_7)+x_2-x_6
A(n)=〖(〖I(n)〗^2+〖Q(n)〗^2)〗^(1/2)
顯然,去除直流成分后,A(n)序列便是需要的解調(diào)輸出。與一般的正交解調(diào)算法相比較, 由于省去了低通濾波和數(shù)據(jù)抽取過程, 對(duì)采樣數(shù)據(jù)基本上只做加減運(yùn)算, 每 8 個(gè)采樣點(diǎn)才做一次平方、開方運(yùn)算, 計(jì)算量大大降低, 為采用”中頻采樣-DSP 解調(diào)”方案創(chuàng)造了條件。采用較低的采樣頻率( 比如每個(gè)載波周期采樣 4 個(gè)點(diǎn)) 也可以正常解調(diào), 當(dāng)然較高的采樣頻率對(duì)抑制噪聲是有利的。
2.2.2 解調(diào)失真度
要正確的完成對(duì)AM信號(hào)的解調(diào),必須考慮輸出的失真度,只有失真度限制在一定的范圍內(nèi),才可能不失真的恢復(fù)原始調(diào)制信號(hào)(通常應(yīng)小于0.1)。失真度的表達(dá)式如下式:
D=√(P_x/P_s )
其中,P_x表示諧波功率,P_s表示輸出信號(hào)功率。
在不存在定時(shí)誤差的情況下,失真度很小,通過計(jì)算得出D=3.4*〖10〗^(-7),可以完全忽略不計(jì),改變調(diào)幅系數(shù)對(duì)解調(diào)輸出失真沒有明顯的影響。
在存在定時(shí)誤差時(shí),會(huì)對(duì)失真度有一定的影響。所謂定時(shí)誤差是指由于AM信號(hào)載波頻率偏離設(shè)計(jì)值(或接收端對(duì)載波頻率測(cè)量存在誤差)和采樣定時(shí)精度有限等原因,使得對(duì)AM信號(hào)在一個(gè)載波周期內(nèi)的平均采樣點(diǎn)數(shù)不是整數(shù)。若對(duì)AM信號(hào)每20個(gè)載波周期采159.5點(diǎn)(定時(shí)誤差大約為0.0031),得到失真度為D=0.0081。每20個(gè)載波周期采159點(diǎn),得到D=0.02.可見定時(shí)誤差會(huì)使失真度增大,但在通常的定時(shí)誤差條件下,失真度仍然是可以忽略的。
2.3 QDPSK信號(hào)數(shù)字化解調(diào)
按照定義產(chǎn)生的PSK信號(hào)在碼元切換時(shí)會(huì)發(fā)生相位跳變,需要經(jīng)過限帶濾波后才能夠發(fā)射(或者先對(duì)基帶信號(hào)進(jìn)行限帶濾波,再進(jìn)行正交調(diào)制),在接收機(jī)的解調(diào)器之前也會(huì)對(duì)信號(hào)進(jìn)行帶通濾波,所以實(shí)際接收到的PSK信號(hào)的碼元波形會(huì)分成兩種區(qū)域,碼元的中間部分是穩(wěn)定區(qū),前、后部分位過渡區(qū)。穩(wěn)定區(qū)內(nèi)的波形接近正弦波,過渡區(qū)內(nèi)的波形則不是正弦波,并且幅度明顯降低。因?yàn)樾诺涝肼曉谡麄€(gè)碼元內(nèi)是相同的,所以在過渡區(qū)內(nèi)信噪比很低。提出數(shù)字化解調(diào)方案應(yīng)該考慮上述條件。
為了表述方便,下面先以一個(gè)QDPSK信號(hào)為例來對(duì)解調(diào)方法進(jìn)行說明,然后再就一般情況進(jìn)行討論。設(shè)進(jìn)入解調(diào)器的中頻QDPSK信號(hào)一個(gè)碼元包含10個(gè)載波周期,中間5個(gè)周期為穩(wěn)定區(qū),信號(hào)上疊加了高斯型噪聲,載波頻率已知(由收發(fā)雙方約定,或在接收機(jī)中利用某種方法測(cè)定),采樣頻率取為載波頻率的8倍,碼元數(shù)據(jù)與相位跳變的關(guān)系是:
00–0π, 10–π/2, 11–π, 01–3π/2
2.3.1解調(diào)方法
先假設(shè)已經(jīng)實(shí)現(xiàn)位同步,取碼元穩(wěn)定區(qū)內(nèi)的40個(gè)采樣值(計(jì)為x -x )進(jìn)行DFT,求出5次諧波(即載波)譜值的實(shí)部I和虛部Q,再求出相位Ф作為本碼元的相位,用本碼元相位減去前一碼元相位,便得到本碼元的相位跳變值?_T。有關(guān)的計(jì)算公式如下:
I=∑_(k=1)^40?x_k cos?〖5*2πk/40〗
=1/40 ∑_(k=1)^40?x_k cos?〖πk/4〗
Q=1/40 ∑_(k=1)^40?〖x_k sin?〖πk/4〗 〗 (2.1)
θ= tan^(-1)?〖|Q/I|〗
當(dāng) I≥0,Q≥0 時(shí) ?=θ ; 當(dāng)I≥0,Q<0時(shí) ?=-θ ;
當(dāng) I<0,Q<0時(shí) ?=π+θ; 當(dāng) I<0,Q≥0時(shí) ?=π-θ ; (2.2)
碼元的相位跳變?yōu)椋?br>?_T=?_b-?_a+?_d (mod 2π) (2.3)
其中?_b 是本碼元相位,?_a是前一碼元相位,?_d是調(diào)整位同步點(diǎn)時(shí)的附加相位(見下段內(nèi)容)。從?_T到碼元解調(diào)數(shù)據(jù)的判決條件為:
π/4≥?_T≥-π/4 判為 00;3π/4≥?_T≥π/4 判為01
5π/4≥?_T≥3π/4 判為 11;7π/4≥?_T≥5π/4 判為10 (2.4)
2.3.2位同步方法:
正交數(shù)字化解調(diào)是對(duì)基帶信號(hào)I、Q執(zhí)行位同步算法,而本方案是直接用QDPSK信號(hào)的采樣值進(jìn)行位同步,其原理是:按載波周期(對(duì)應(yīng)連續(xù)8個(gè)采樣值)進(jìn)行DFT求出載波幅值A(chǔ)_1,在碼元切換處A_1將出現(xiàn)極小值,所以通過尋找A_1的極小值點(diǎn),就可以實(shí)現(xiàn)位同步。
初始位同步: 為了提高位同步的定位精度,每接受到4個(gè)采樣值就用最新的8個(gè)采樣值(記為x_1 〖~x〗_8)計(jì)算一次A_1:
I_1=1/8 ∑_(k=1)^8?x_k cos?〖πk/4〗;
Q_1=1/8 ∑_(k=1)^8?x_k sin?〖πk/4〗;
A_1=√(〖I_1〗^2+〖Q_1〗^2 ) (2.5)
對(duì)前后的A_1值進(jìn)行比較,就可以找出極小值點(diǎn),如果該點(diǎn)的A_1值也明顯小于A_1的正常值,則該點(diǎn)就是一個(gè)碼元切換點(diǎn)(而不是由于干擾引起的)。繼續(xù)尋找下一個(gè)碼元切換點(diǎn),如果前后兩個(gè)碼元切換點(diǎn)的距離(用采樣點(diǎn)數(shù)表示)近似等于80的整數(shù)倍,便認(rèn)為位同步成功,可以開始進(jìn)行碼元解調(diào)。否則就繼續(xù)尋找下一個(gè)碼元切換點(diǎn)。
位同步維持: 對(duì)每一個(gè)碼元,在計(jì)算過碼元的相位后,便從該碼元的倒數(shù)第2個(gè)載波周期開始按(2.5)式計(jì)算A_1值,并尋找碼元切換點(diǎn),如果在4個(gè)載波周期內(nèi)沒有出現(xiàn)或者找到的碼元切換點(diǎn)與原來的位同步點(diǎn)相同,則位同步點(diǎn)不調(diào)整;否則,就要進(jìn)行位同步點(diǎn)調(diào)整:如果找到的碼元切換點(diǎn)超前于現(xiàn)有的位同步點(diǎn),就把位同步點(diǎn)前移一個(gè)采樣點(diǎn),如果找出的碼元切換點(diǎn)落后于現(xiàn)有的位同步點(diǎn),就把位同步點(diǎn)后移一個(gè)采樣點(diǎn)。如果調(diào)整了位同步點(diǎn),就需要在后一個(gè)碼元的相位跳變值上加上一個(gè)修正值?_d,見(2.3)式。位同步點(diǎn)后移時(shí)?_d=π/4,位同步點(diǎn)前移時(shí)?_d=-π/4 。
2.3.3 QDPSK信號(hào)的數(shù)字化解調(diào)
文獻(xiàn)[5]中提到了一種基于DFT的QDPSK信號(hào)解調(diào)算法。接收到的限帶 QDPSK 信號(hào)的碼元波形分為兩個(gè)區(qū)域, 中間部分是穩(wěn)定區(qū), 前、后部分為過渡區(qū)。信號(hào)波形在碼元穩(wěn)定區(qū)內(nèi)基本上是正弦波, 在過渡區(qū)內(nèi)幅度明顯降低。
設(shè)進(jìn)入解調(diào)器的中頻QDPSK信號(hào)的一個(gè)碼元包含10個(gè)載波周期,中間7個(gè)周期為穩(wěn)定區(qū),采樣頻率取為載波頻率的8倍。
解調(diào)方法:用碼元穩(wěn)定區(qū)內(nèi)的56個(gè)采樣值(記為x_1~x_56)進(jìn)行DFT,求出7次諧波(即載波)譜值的實(shí)部I和虛部Q,在求出本碼元的相位?,用本碼元相位減去前一碼元相位,即得到本碼元的相位跳變值,進(jìn)而可判決得到本碼元的數(shù)據(jù)。DFT部分的算式如下:
I=1/56 ∑_(k=1)^56?x_k cos?〖πk/4〗
Q=1/56 ∑_(k=1)^56?〖x_k sin?〖πk/4〗 〗
?=tan^(-1)?〖 (I+j*Q)〗
QDPSK信號(hào)解調(diào)的位同步可以利用DFT算法實(shí)現(xiàn)。按載波周期(連續(xù)8個(gè)采樣值)進(jìn)行DFT求出載波幅值A(chǔ)_1,因?yàn)樵诖a元切換出A_1將出現(xiàn)極小值,所以通過在碼元過渡區(qū)內(nèi)尋找A_1的極小值點(diǎn)就可以實(shí)現(xiàn)初始位同步及位同步維持。
第三章2DPSK信號(hào)數(shù)字化解調(diào)算法
3.1 2PSK及2DPSK信號(hào)原理[6]
二進(jìn)制移相鍵控(2PSK)方式是受鍵控的載波相位按基帶脈沖而改變的一種數(shù)字調(diào)制方式。設(shè)二進(jìn)制符號(hào)及其基帶波形與以前假設(shè)的一樣,那么,2PSK信號(hào)的形式一般表示為:
e_0 (t)=[∑_n?a_n g(t-nT_s)]cos?〖ω_c 〗 t
這就是說,在一碼元持續(xù)時(shí)間內(nèi),當(dāng)發(fā)送二進(jìn)制符號(hào)0時(shí),e_0 (t)取0相位;發(fā)送二進(jìn)制符號(hào)1時(shí),e_0 (t)取π相位。這種以載波的不同相位直接去表示相應(yīng)數(shù)字信息的相位鍵控,通常被稱為絕對(duì)移相方式。
但我們看到,如果采用絕對(duì)移相方式,由于發(fā)送端是以某一個(gè)相位做基準(zhǔn)的,因而在接收系統(tǒng)中也必須有這樣一個(gè)固定基準(zhǔn)相位做參考。如果這個(gè)參考相位發(fā)生變化(0相位變?yōu)棣邢辔换蛘擀邢辔蛔兂?相位),則恢復(fù)的數(shù)字信息就會(huì)發(fā)生0變?yōu)?或者1變?yōu)?,從而造成錯(cuò)誤的恢復(fù)。考慮到實(shí)際通信時(shí)參考基準(zhǔn)相位的隨機(jī)跳變是可能的,而且在通信中不易被覺察,比如,由于某種突然的騷動(dòng),系統(tǒng)中的分頻器可能發(fā)生狀態(tài)的轉(zhuǎn)移、鎖相環(huán)路的穩(wěn)定狀態(tài)也可能發(fā)生轉(zhuǎn)移等等。這樣,采用2PSK方式就會(huì)在接收端發(fā)生錯(cuò)誤的恢復(fù)。這種現(xiàn)象,通常稱為2PSK方式的”倒π”現(xiàn)象或者”反向工作”現(xiàn)象。為此,實(shí)際中一般不采用2PSK方式,而是采用一種所謂的相對(duì)(差分)移相(2DPSK)鍵控方式。
2DPSK方式即是利用前后相鄰碼元的相對(duì)載波相位值去表示數(shù)字信息的一種方式。例如,假設(shè)相位值用相位偏移??表示(??定義為本碼元初相與前一碼元初相之差),并設(shè)
{_(??=0 數(shù)字信息”0″)^(??=π 數(shù)字信息”1″)
則數(shù)字信息序列與2DPSK信號(hào)的碼元相位關(guān)系可舉例表示如下:
數(shù)字信息: 0 0 1 1 1 0 0 1 0 1
2DPSK信號(hào)相位: 0 0 0 π 0 π π π 0 0 π
或者: π π π 0 π 0 0 0 π π 0
2DPSK信號(hào)的波形與2PSK信號(hào)的波形不同,2DPSK信號(hào)的波形的同一相位并不對(duì)應(yīng)相同的數(shù)字信息符號(hào),而前后碼元相對(duì)相位的差才是唯一決定信息符號(hào)的因素。這說明,解調(diào)2DPSK信號(hào)時(shí)并不依賴于某一固定的載波相位參考值,只要前后碼元的相對(duì)相位關(guān)系不破壞,則鑒別這個(gè)相位關(guān)系就可正確恢復(fù)數(shù)字信息,這就避免了2PSK方式的倒π現(xiàn)象發(fā)生。
二進(jìn)制移相鍵控系統(tǒng)在抗噪聲性能以及信道頻帶利用率等方面比二進(jìn)制FSK和OOK優(yōu)越,因而被廣泛應(yīng)用于數(shù)字通信中??紤]到2PSK方式有倒π現(xiàn)象,故它的改進(jìn)型2DPSK信號(hào)受到重視。目前,在話帶內(nèi)以中速傳輸數(shù)據(jù)時(shí),2DPSK是CCITT建議選用的一種數(shù)字調(diào)制方式。
3.2 基于DFT的2DPSK信號(hào)數(shù)字化解調(diào)方法
實(shí)際中接收到的2DPSK信號(hào)在經(jīng)過帶通濾波后,由于碼元跳變出的高頻分量被過濾掉,濾波后的 2DPSK 信號(hào)波形分為穩(wěn)定區(qū)和過渡區(qū), 碼元中間部分是穩(wěn)定區(qū), 前、后部分為過渡區(qū)[7]。穩(wěn)定區(qū)內(nèi)的信號(hào)基本無損失, 波形近似為正弦波, 而過渡區(qū)內(nèi)的波形則不是正弦波, 并且幅度明顯降低。調(diào)制信息基本上只存在于碼元穩(wěn)定區(qū)。從上述分析出發(fā), 可以得到如圖 4.1 所示的基于 DFT 的數(shù)字解調(diào)方案。
圖3.1 DFT解調(diào)算法框圖
對(duì)每個(gè)碼元穩(wěn)定區(qū)內(nèi)的采樣點(diǎn)按照下面式子做DFT:
I=1/N ∑_(k=1)^N?x_k cos?〖2πk/n〗
Q=1/N ∑_(k=1)^N?x_k sin?〖2πk/n〗
其中, n 代表每個(gè)載波周期的采樣點(diǎn)個(gè)數(shù), N 代表做 DFT 時(shí)使用的穩(wěn)定區(qū)內(nèi)的采樣點(diǎn)個(gè)數(shù)(通常取多個(gè)載波整周期)。
然后,提取出前后碼元的相位跳變信息?_T來進(jìn)行解調(diào)判決:
計(jì)算θ=tan^(-1)?〖(Q/I)〗,并根據(jù)Q和I的正負(fù)情況確定θ的取值范圍。
當(dāng) I≥0,Q≥0 時(shí) ?=θ ; 當(dāng)I≥0,Q<0時(shí) ?=-θ ;
當(dāng) I<0,Q<0時(shí) ?=π+θ; 當(dāng) I<0,Q≥0時(shí) ?=π-θ ;
把本碼元的相位記為?_b,前一碼元的相位記為?_a,則
?_T=?_b-?_a+?_d (mod 2π) (3.1)
其中?_d是進(jìn)行了位同步點(diǎn)調(diào)整時(shí)附加的相位。
?_d=±m(xù)*2π/n
m為位同步調(diào)整時(shí)移動(dòng)的采樣點(diǎn)個(gè)數(shù),n為每個(gè)載波周期的采樣點(diǎn)個(gè)數(shù)。
從?_T到碼元解調(diào)數(shù)據(jù)的判決條件為:
-π/2≤?_T≤π/2 判為 0;
π/2≤?_T≤3π/2 判為 1;
圖3.2 2DPSK移相信號(hào)矢量圖
可見,在每個(gè)碼元周期只需要計(jì)算一次相位值即本碼元的相位,然后相減得到跳變相位,就可以依據(jù)判決條件恢復(fù)原始數(shù)據(jù),而不需要像文獻(xiàn)[7]中所提到的對(duì)每個(gè)碼元要隨著窗函數(shù)的移動(dòng)多次計(jì)算譜值,因而大大減輕了計(jì)算量,非常適合于軟件無線電的數(shù)字化實(shí)時(shí)解調(diào)。
3.3 解調(diào)中的位同步方法
位同步是數(shù)字化解調(diào)中不可缺少的一個(gè)重要環(huán)節(jié)。在本方案中,對(duì)采樣點(diǎn)按照載波周期做DFT提取幅度信息則可以建立起初始位同步。其原理是:由于穩(wěn)定區(qū)內(nèi)的信號(hào)基本無損失,而過渡區(qū)內(nèi)信號(hào)的幅度則明顯降低,如果按照載波周期對(duì)采樣值進(jìn)行DFT,在碼元波形過渡區(qū)得到的載波幅值A(chǔ)_1會(huì)比在碼元穩(wěn)定區(qū)內(nèi)求得的A_1值小,而且存在一個(gè)極小值,當(dāng)該極小值小于給出的判決門限值時(shí)(防止噪聲引起的誤判),可確定為碼元的切換點(diǎn)。因此通過對(duì)A_1值進(jìn)行檢查就可以確定碼元切換點(diǎn)。在實(shí)際的通信中,為方便初始位同步的建立,可以發(fā)射一連串的1序列,以保證前后碼元存在π相位的跳變,更有利于尋找碼元切換點(diǎn)。
在初始位同步建立后,由于碼元定時(shí)誤差和噪聲干擾,位同步點(diǎn)可能有偏差,還必須進(jìn)行調(diào)整。對(duì)每個(gè)碼元計(jì)算過相位后,在過渡區(qū)仍舊按載波周期計(jì)算A_1值,并檢測(cè)幅值極小點(diǎn)。沒有出現(xiàn)幅值極小點(diǎn)(表明前后碼元相位連續(xù))或者找到的幅值極小點(diǎn)與原位同步點(diǎn)相同,則位同步點(diǎn)不調(diào)整;否則,根據(jù)本次計(jì)算出來的幅值極小點(diǎn)對(duì)已建立的位同步點(diǎn)進(jìn)行調(diào)整,并根據(jù)調(diào)整結(jié)果對(duì)碼元的跳變值附加修正值?_d,且?_d的大小由公式(3.2)決定。
〖 ?〗_d=±m(xù)*2π/n (3.2)
其中,m為位同步調(diào)整時(shí)移動(dòng)的采樣點(diǎn)個(gè)數(shù),n為每個(gè)載波周期的采樣點(diǎn)個(gè)數(shù)。
3.4 相關(guān)說明與討論
(1)在進(jìn)行碼元解調(diào)時(shí)也可以把靠近穩(wěn)定區(qū)的一些采樣值用于DFT計(jì)算(采樣值的數(shù)目仍需要與整數(shù)個(gè)載波周期相對(duì)應(yīng)),以求進(jìn)一步降低誤碼率,因?yàn)槟抢锏男旁氡纫脖容^高。其實(shí)穩(wěn)定區(qū)和過渡區(qū)并無一個(gè)明確的分界點(diǎn)。
(2)在進(jìn)行位同步計(jì)算時(shí),如果一個(gè)碼元包含的載波周期比較多(比如一個(gè)碼元包含50個(gè)載波周期),也可以每n個(gè)采樣值(一般情況下,為了提高位同步定位精度,每接收到n/2個(gè)采樣值就用最新的n個(gè)采樣值計(jì)算一次A_1)進(jìn)行一次DFT,求出I_1 和Q_1值。
I_1和Q_1計(jì)算公式是:
I_1=1/n ∑_(k=1)^n?x_k cos?〖2πk/n〗
Q_1=1/n ∑_(k=1)^n?x_k sin?〖2πk/n〗
(3)在一般的舉例中我們會(huì)假設(shè)一個(gè)碼元周期剛好等于整數(shù)個(gè)載波周期,但是解調(diào)方法并不要求一定如此。比如一個(gè)碼元包含10.25個(gè)載波周期,將有82個(gè)采樣點(diǎn)(假設(shè)n=8),只要把碼元過渡區(qū)算為5.25個(gè)載波周期,仍然使用穩(wěn)定區(qū)內(nèi)的N個(gè)采樣值來進(jìn)行DFT計(jì)算就可以了(計(jì)算碼元相位跳變的公式需要做相應(yīng)改變)。
(4)在實(shí)際系統(tǒng)中不可避免會(huì)存在位同步誤差(確定的碼元起點(diǎn)與實(shí)際起點(diǎn)有偏差),只使用碼元穩(wěn)定區(qū)內(nèi)的采樣值進(jìn)行解調(diào)計(jì)算,位同步誤差的影響也可以消除或減小。
(5)一般情況下舉例時(shí),采樣頻率是取為載波頻率8倍時(shí)候多,如果取為4、5或者9、10等整數(shù),也可以實(shí)現(xiàn)解調(diào)(有關(guān)計(jì)算公式需做修改)。但是降低采樣頻率不利于抑制噪聲,會(huì)使誤碼率有所增大。選擇8或者4還可以減小計(jì)算量,比如為8時(shí),則對(duì)碼元采樣點(diǎn)按照前面公式做DFT時(shí),可求得:
I=1/N ∑_(k=1)^N?〖x_k cos?〖2πk/n〗 〗
= 1/40 ∑_(k=1)^40?x_k cos?〖πk/4〗
=0.025[x_1+x_9+x_17+x_25+x_33-x_5-x_13-x_21-x_29-x_37+0.707(x_2+x_10+〖 x〗_18+x_26+x_34-x_4-x_12-x_20-x_28-x_(36" " )-x_6-x_14-x_22-x_30-x_38+〖 x〗_8+x_16+x_24+x_32+x_40)]
可以看出,幾乎只需要做加、減運(yùn)算就可以了。另外,考慮到需要進(jìn)行載波解調(diào)和位同步,在倍數(shù)為8時(shí)每個(gè)碼元采樣80點(diǎn)已經(jīng)是比較少的了。
(6)如果存在采樣定時(shí)誤差(采樣頻率不等于載波頻率的整數(shù)倍),也會(huì)使誤碼率增大,但是不一定很嚴(yán)重。
(7)本解調(diào)算法對(duì)于各種MDPSK以及π/4QDPSK信號(hào)都是適用的,只要修改從碼元的相位跳變值到調(diào)制數(shù)據(jù)的判決條件式就可以了,也可以推廣到MQAM(幅相聯(lián)合調(diào)制)信號(hào)的解調(diào),因?yàn)橥ㄟ^DFT不僅可以求出碼元的相位及相位跳變,也可以求出碼元的載波幅值。
圖3.3 采用中頻自動(dòng)調(diào)整方案的SDR接收機(jī)結(jié)構(gòu)
(8)為了使采樣頻率為中頻的整數(shù)倍,可以采用如下的電路方案:按照設(shè)定的采樣頻率進(jìn)行采樣,在解調(diào)程序中去檢查在碼元穩(wěn)定區(qū)中的40個(gè)采樣點(diǎn)是否剛好對(duì)應(yīng)5個(gè)載波周期,如果有偏差,再去控制變頻器的本振(VCO)頻率,使中頻向正確的方向改變。相應(yīng)的軟件接收機(jī)結(jié)構(gòu)如圖3.3所示:
第四章 2DPSK信號(hào)數(shù)字化解調(diào)的仿真研究
4.1 仿真軟件工具的選擇
在目前工程界使用的各種仿真工具中,MATLAB是應(yīng)用最廣泛,也是使用最簡便的一個(gè),相比于其他各種仿真工具,它具有很多獨(dú)特的優(yōu)點(diǎn)。因此,本次設(shè)計(jì)中的算法仿真我們選用MATLAB作為仿真工具。
MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)之意。除去本身卓越的數(shù)值計(jì)算能力外,它還提供了專業(yè)水平的符號(hào)計(jì)算,文字處理,可視化建模仿真和實(shí)時(shí)控制等功能。
MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)工程那個(gè)中常用的形式十分相似,故用MATLAB來解算問題要比用C語言、FORTRAN等語言完成相同簡捷得多。
當(dāng)前流行的MATLAB5.3/Simulink3.0包括擁有數(shù)百個(gè)內(nèi)部函數(shù)的主包和三十幾種工具包(Toolbox)。工具包又可以分為功能性工具包和學(xué)科工具包。功能性工具包用來擴(kuò)充MATLAB的符號(hào)計(jì)算,可視化建模仿真,文字處理及實(shí)時(shí)控制等功能。學(xué)科工具包是專業(yè)性比較強(qiáng)的工具包,控制工具包,信號(hào)處理工具包,通信工具包等都屬于此類。
開放性使MATLAB廣受用戶歡迎。除內(nèi)部函數(shù)外,所有MATLAB主包文件和各種工具包都是可讀可修改的文件,用戶通過對(duì)源程序的修改或加入自己編寫程序構(gòu)造新的專用工具包。
一種語言之所以能如此迅速的普及,顯示出如此旺盛的生命力,是由于它有著不同于其他語言的特點(diǎn),正如同F(xiàn)ORTRAN和C等高級(jí)語言使人們擺脫了需要直接對(duì)計(jì)算機(jī)硬件資源進(jìn)行操作一樣,被稱作為第四代計(jì)算機(jī)語言的MATLAB,利用其豐富的函數(shù)資源,使編程人員從繁瑣的程序代碼中解放出來。MATLAB最突出的特點(diǎn)就是簡潔。MATLAB用更直觀的,符合人們思維習(xí)慣的代碼代替了C和FORTRAN語言的冗長代碼。MATLAB給用戶帶來的是最直觀,最簡潔的程序開發(fā)環(huán)境。下面簡單介紹一下MATLAB的主要特點(diǎn)[8]
1:語言簡潔緊湊,使用方便靈活,庫函數(shù)及其豐富。MATLAB程序編寫形式自由,利用其豐富的庫函數(shù)避開繁雜的子程序編程任務(wù),壓縮了一切不必要的編程工作。由于庫函數(shù)都由本領(lǐng)域的專家編寫,用戶不用擔(dān)心函數(shù)的可靠性。可以說,用MATLAB進(jìn)行科技開發(fā)是站在專家的肩膀上。
2:運(yùn)算符豐富。由于MATLAB是用C語言編寫的,MATLAB提供了和C語言幾乎一樣多的運(yùn)算符,靈活使用MATLAB的運(yùn)算符將使程序變得極為簡短。
3:MATLAB既具有結(jié)構(gòu)化的控制語句(如for循環(huán),while循環(huán),break語句和if語句),又有面向?qū)ο缶幊痰奶匦浴?br>4:程序限制不嚴(yán)格,程序設(shè)計(jì)自由度大。例如,在MATLAB里,用戶無需對(duì)矩陣預(yù)定義就可以使用。
5:程序的可移植性很好,基本上不做修改就可以在各種型號(hào)的計(jì)算機(jī)和操作系統(tǒng)上運(yùn)行。
6:MATLAB的圖形的功能強(qiáng)大。在FORTRAN和C語言里,繪圖都很不容易,但在MATLAB里,數(shù)據(jù)的可視化非常簡單。MATLAB還具有較強(qiáng)的編輯圖形界面的能力。
7:MATLAB的缺點(diǎn)是,它和其他高級(jí)程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序?yàn)榻忉寛?zhí)行,所以速度較慢。
8:功能強(qiáng)大的工具箱是MATLAB的另一特色。MATLAB包含兩個(gè)部分:核心部分和各種可選的工具箱。核心部分中有數(shù)百個(gè)核心的內(nèi)部函數(shù)。其工具箱又分為兩類:功能形工具箱和學(xué)科性工具箱。工具性工具箱主要用來擴(kuò)充其符號(hào)計(jì)算功能,圖示建模仿真功能,文字處理功能以及與硬件實(shí)時(shí)交互功能。功能性工具箱用于多種學(xué)科。而學(xué)科性工具箱是專業(yè)性比較強(qiáng)的,如control,toolbox,signl processing toolbox,commumnication toolbox等。這些工具箱都是由該領(lǐng)域內(nèi)學(xué)術(shù)水平很高的專家編寫的,所以用戶無需編寫自己學(xué)科范圍內(nèi)的基礎(chǔ)程序,而直接進(jìn)行高,精,尖的研究。
9:源程序的開放性。開放性也許是MATLAB最受人歡迎的特點(diǎn)。除內(nèi)部函數(shù)以外,所有MATLAB的核心文件和工具箱文件都是可讀可改的源文件,用戶可通過對(duì)源文件的修改以及加入自己的文件構(gòu)成新的工具箱。
4.2 程序流程圖
實(shí)現(xiàn)2SPSK信號(hào)數(shù)字化解調(diào)的程序分為5個(gè)部分,在這里,我首先介紹一個(gè)總體的流程圖,然后介紹幾個(gè)主要部分的程序流程圖。
2DPSK信號(hào)數(shù)字化解調(diào)仿真流程圖如下:
接下來,介紹其他幾個(gè)主要部分的程序流程圖。
首先介紹cm_dpsk: 它以微分方式實(shí)現(xiàn)二進(jìn)制隨機(jī)序列a的差分編碼,最后生成差分編碼變換序列b。
再介紹一下濾波器設(shè)計(jì)函數(shù)filter_dpsk2:
4.3 仿真主要代碼介紹
本算法仿真包括了5個(gè)部分,它們分別是:
第一部分:cm_dpsk。這部分完成差分編碼功能,由第二部分調(diào)用。它的程序流程圖在前面已經(jīng)畫出。
第二部分是cm_sm12。該函數(shù)完成信源的產(chǎn)生,再調(diào)用函數(shù)cm_dpske完成差分編碼,然后調(diào)用噪聲函數(shù)對(duì)原始信號(hào)進(jìn)行噪聲干擾,接著調(diào)用濾波器函數(shù)filter_dpsk2對(duì)加噪信號(hào)進(jìn)行濾波。然后繪制出幾個(gè)函數(shù)的圖形。包括信號(hào)圖,加載波后的圖,加入噪聲后的圖等。
第三部分就是主函數(shù)部分DPSK2。調(diào)用其他幾個(gè)部分程序,產(chǎn)生誤碼率圖形。
這部分是本程序的主體,它的代碼如下:
clear all
echo off
SNRindB1=0:2:12;
wh=waitbar(0,’Percentage Completed’);
set(wh,’Position’,[230 60 275.25 56.25]);
set(wh,’name’,'Please wait…’);
wb=100/length(SNRindB1);
for i=1:length(SNRindB1),
smld_err_prb(i)=cm_sm12(SNRindB1(i),i); %仿真誤碼率
str_bar=[num2str(wb) '% Completed'];
waitbar(wb/100,wh,str_bar);
wb=wb+100/length(SNRindB1);
end;
close(wh)
%隨后為繪圖曲線
figure
semilogy(SNRindB1,smld_err_prb,’-*’);
xlabel(’信噪比(dB)’);
ylabel(’誤碼率’);
legend(’2DPSK性能分析圖’)
grid
它首先清屏,然后用for函數(shù)判斷,當(dāng)符合條件時(shí),調(diào)用cm_sm12,然后繪制出誤碼率性能分析圖。
第四部分:filter_dpsk2。這部分是濾波器函數(shù),設(shè)計(jì)完成濾波器并繪圖。首先定義了濾波器的幾個(gè)參數(shù),然后調(diào)用freqz()函數(shù)設(shè)計(jì)濾波器。
這部分代碼如下:
function[p,q]=filter_dpsk2
Fs=200000;
wp=[45000 55000]*2/Fs;
ws=[40000 60000]*2/Fs;
Rp=1;
Rs=30;
n=40;
f=[0 ws(1) wp(1) wp(2) ws(2) 1];
c=[0 0 1 1 0 0];
b=remez(n,f,c);
p=b;
q=1;
if nargout<1;
freqz(b);
end;
第五部分:gngauss。這部分是噪聲函數(shù)。產(chǎn)生噪聲信號(hào)。供其他幾部分調(diào)用。
以上幾個(gè)部分中,此處列出了第三部分dpsk2和第四部分濾波器filter_dpsk2的程序代碼,其他幾個(gè)部分代碼詳見附件在此不予列出。
4.4 仿真輸出結(jié)果
程序運(yùn)行結(jié)果如下面各圖所示。:
圖4.1 原始信息碼、差分碼和2DPSK調(diào)制信號(hào)圖
圖4.2 加噪信號(hào)經(jīng)過濾波器后的信號(hào)圖
圖4.3 濾波器特性圖
圖4.4 2DPSK解調(diào)誤碼性能分析圖
第五章 畢業(yè)設(shè)計(jì)總結(jié)
5.1基于DFT的2DPSK信號(hào)數(shù)字化解調(diào)算法的特點(diǎn)
和一般的正交數(shù)字化解調(diào)算法相比較,本文中提出的基于DFT的2DPSK信號(hào)數(shù)字化解調(diào)算法和位同步方法的特點(diǎn)是:
(1).通過調(diào)整變頻器的本振頻率,得到固定的中頻,采樣頻率取為中頻的整數(shù)倍,碼元解調(diào)和位同步計(jì)算所使用cos和sin序列都是固定的;
(2).在每個(gè)載波周期采樣8或者4點(diǎn)時(shí),DFT幾乎只需要做加、減運(yùn)算,而且省去了數(shù)字低通濾波器,所以計(jì)算量較小,有利于DSP軟件實(shí)現(xiàn);
(3).不需要進(jìn)行載波相位同步,接收系統(tǒng)能夠快速地進(jìn)入正常解調(diào)工作狀態(tài);
(4).不需要為實(shí)現(xiàn)載波和位同步而發(fā)射專門的同步數(shù)字序列,所以可以在數(shù)字廣播等通信系統(tǒng)中使用;
(5).由于是利用碼元穩(wěn)定區(qū)的采樣值進(jìn)行解調(diào),去掉了信噪比很低的碼元過渡區(qū)的不利影響,以及DFT本身的良好濾波特性,所以解調(diào)誤碼率較低。
另外,通過仿真結(jié)果可以得到:本文提出的基于DFT的2DPSK信號(hào)數(shù)字化解調(diào)算法結(jié)構(gòu)簡單,計(jì)算量大大降低,抗干擾性能有明顯改善,在數(shù)字化軟件接收機(jī)中有具有一定實(shí)際意義。
5.2 設(shè)計(jì)中遇到的問題及不足之處
在這次做畢業(yè)設(shè)計(jì)的過程中,遇到不少的問題。首先是對(duì)基于DFT的2DPSK信號(hào)解調(diào)算法的設(shè)計(jì)中。由于通信原理課程學(xué)過已經(jīng)快2年時(shí)間了,對(duì)于里面的知識(shí)也記憶不是很深刻了。為了弄清楚信號(hào)解調(diào)以及2DPSK信號(hào)的數(shù)字化解調(diào),我從新學(xué)習(xí)了通信原理課本中有關(guān)調(diào)制解調(diào)的章節(jié),并且去定王臺(tái)圖書城購買了有關(guān)這方面的書籍,深入的學(xué)習(xí)了信號(hào)調(diào)制解調(diào)和2DPSK信號(hào),QDPSK信號(hào)以及MDPSK信號(hào)等多種信號(hào)解調(diào)算法。然后參考長沙理工大學(xué)和我們學(xué)校幾位老師的論文作品,設(shè)計(jì)出了本論文中所用的算法。第二個(gè)問題是關(guān)于MATLAB的。雖然說MATLAB在當(dāng)今是應(yīng)用非常廣泛的工具,但是我們只是在數(shù)字信號(hào)處理中對(duì)其有個(gè)初步的接觸,并沒有深入學(xué)習(xí)了解。這次畢業(yè)設(shè)計(jì),題目要求用MATLAB編程實(shí)現(xiàn)信號(hào)解調(diào)算法的仿真。這花費(fèi)了我很大的精力,通過圖書館借書,找老師指點(diǎn),經(jīng)過一番努力,總算學(xué)會(huì)了MATLAB,并編寫出了算法代碼。
本次設(shè)計(jì)的不足之處存在于算法的仿真之中。因?yàn)榉抡嬷幸恍?shù)據(jù)的設(shè)置沒有標(biāo)準(zhǔn)的參數(shù),個(gè)人設(shè)計(jì)時(shí)候的差異會(huì)使仿真圖形有時(shí)候顯示不夠理想,這個(gè)問題可以通過改變參數(shù)設(shè)置來解決。比如修改比特參數(shù)N和信噪比范圍等參數(shù)。
5.3 心得體會(huì)
轉(zhuǎn)眼之間,做畢業(yè)設(shè)計(jì)已經(jīng)四個(gè)多月了。在這四個(gè)多月的日子里,我先后完成了資料搜集,整理,算法研究,代碼編寫,論文撰寫等多個(gè)步驟。經(jīng)過四個(gè)多月的努力與辛勞,在老師和同組同學(xué)的幫助下,總算在5月20號(hào)基本完成了本次畢業(yè)設(shè)計(jì)。
回顧這四個(gè)多月的經(jīng)歷,通過本次畢業(yè)設(shè)計(jì),我在學(xué)習(xí)方法,邏輯思維,分析和解決問題的能力等各個(gè)方面都有了長足的進(jìn)步。
首先,在理論方面,為了完成對(duì)各種資料的搜集,整理,我在開始做畢設(shè)的一段日子里天天出入于圖書館和自習(xí)室,還特意去定王臺(tái)的圖書城買回來一些資料。通過對(duì)這些資料的學(xué)習(xí),結(jié)合以前學(xué)通信原理,數(shù)字信號(hào)處理等課程時(shí)的筆記,我對(duì)于信號(hào)的調(diào)制解調(diào)、離散傅立葉變換等有關(guān)本次設(shè)計(jì)的內(nèi)容有了深入的理解。有了這些堅(jiān)實(shí)的基礎(chǔ),再加上我們學(xué)校和長沙理工大學(xué)一些老師的有關(guān)信號(hào)解調(diào)方面的論文作品,經(jīng)過努力,我完成了本次設(shè)計(jì)的算法研究,即基于DFT的2DPSK信號(hào)數(shù)字化解調(diào)算法的研究。
其次,為了編寫仿真代碼,我從零開始,對(duì)于以前幾乎沒多少接觸的MATLAB進(jìn)行了系統(tǒng)細(xì)致的學(xué)習(xí)。學(xué)習(xí)完MATLAB的知識(shí)后,參考老師給的供我們參考的一段程序,在老師的幫助下,我成功的寫出了本次設(shè)計(jì)的算法的代碼。至此,我的畢業(yè)設(shè)計(jì)的主要內(nèi)容宣告完成。MATLAB是當(dāng)前工程界應(yīng)用非常廣泛的工具,對(duì)它的深入學(xué)習(xí),對(duì)我以后的工作也會(huì)有很大的幫助。
評(píng)論
查看更多