2DPSK信號數(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 軟件無線電的主要特點及優(yōu)點……………………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è)計內(nèi)容…………………………………..10
第二章 幾種基于DFT的數(shù)字化解調(diào)技術(shù)…………………..11
2.1 DFT的基本原理………………………………….11
2.2 AM信號解調(diào)…………………………………….11
2.2.1 解調(diào)方法…………………………………..11
2.2.2 解調(diào)失真度…………………………………12
2.3 QDPSK信號數(shù)字化解調(diào)…………………………….12
2.3.1 解調(diào)方法…………………………………..13
2.3.2 位同步方法…………………………………13
2.3.3 QDPSK信號的數(shù)字化解調(diào)……………………….14
第三章 2DPSK信號數(shù)字化解調(diào)算法……………………….16
3.1 2PSK及2DPSK信號原理…………………………….16
3.2 基于DFT的2DPSK信號數(shù)字化解調(diào)方法………………..17
3.3 解調(diào)中的位同步方法……………………………..18
3.4 相關(guān)說明與討論…………………………………19
第四章 2DPSK信號數(shù)字化解調(diào)的仿真研究………………….21
4.1 仿真軟件工具的選擇……………………………..21
4.2 程序流程圖…………………………………….22
4.3 仿真主要代碼介紹……………………………….26
4.4 仿真輸出結(jié)果…………………………………..27
第五章 畢業(yè)設(shè)計總結(jié)…………………………………30
5.1 基于DFT的2DPSK信號數(shù)字化解調(diào)算法的優(yōu)點…………..30
5.2 設(shè)計中遇到的問題和不足之處………………………30
5.3 心得體會………………………………………31
結(jié)束語……………………………………………..32
參考文獻……………………………………………33
摘 要
軟件無線電(SDR)自從1992年被正式提出以來,受到了越來越多的關(guān)注,應(yīng)用也越來越廣泛。軟件無線電技術(shù)一個很重要的內(nèi)容就是信號的數(shù)字化調(diào)制與解調(diào)。本文首先闡述了SDR的概況,然后介紹了幾種信號的數(shù)字化解調(diào)算法。并且提出了一種在軟件無線電中基于離散傅立葉變換(DFT)算法的二進制相對相移鍵控(2DPSK)信號的數(shù)字化解調(diào)算法,通過對載波周期內(nèi)的采樣值進行DFT來提取相位信息并恢復(fù)原始調(diào)制信號。用MATLAB對這個算法進行了仿真研究的結(jié)果表明:采用該方法可以正確的實現(xiàn)2DPSK信號的解調(diào),與傳統(tǒng)的解調(diào)方法相比,不僅解調(diào)過程簡單,易于實現(xiàn),計算量小,而且抗干擾性能得到了明顯的改善。將該方法用于2DPSK信號方式的數(shù)字化接收機設(shè)計中具有實際的意義。
關(guān)鍵詞: 軟件無線電, DFT, 2DPSK,數(shù)字化解調(diào), MATLAB
ABSTRACT
第一章 緒論
1.1軟件無線電概述
1.1.1軟件無線電的基本概念及由來
軟件無線電(SDR-software definded radio)是指在無線電系統(tǒng)中用軟件
處理的方式來實現(xiàn)智能天線、調(diào)制解調(diào)等功能,其突出特點是使產(chǎn)品的生產(chǎn)和維
護簡化,可靠性提高,能兼容多種信號方式,可通過更新軟件來升級系統(tǒng)功能等。
通信裝備從傳統(tǒng)電臺發(fā)展到軟件無線電,中間有一個從量變到質(zhì)變的過程。最開始人們在設(shè)計中嘗試將所需要支持的多種不同的設(shè)備集成在一個結(jié)構(gòu)里,由硬件模塊完成在不同設(shè)備之間的切換。如果使用這種方法,系統(tǒng)的體積和重量會隨著要支持的設(shè)備種類增加而增加,顯然,這種做法難以解決多少問題。
為了避免系統(tǒng)體積無限增大,隨著數(shù)字信號處理技術(shù)的發(fā)展,出現(xiàn)了可編程數(shù)字無線電,開始嘗試硬件模塊復(fù)用以降低成本??删幊虜?shù)字無線電可以進行部分重構(gòu),簡單地修改電臺參數(shù),重構(gòu)功能主要集中在基帶處理部分,比如選擇前向糾錯編碼的方式等。電臺功能,尤其是發(fā)射和接收操作,依然主要由硬件控制,限制了電臺向多頻段多功能發(fā)展的能力。
隨著越來越多的基本功能改由軟件完成,系統(tǒng)的靈活性日益增強。另外,器件技術(shù)的進步驅(qū)使模擬/數(shù)字接口逐漸靠近天線,可以由軟件實現(xiàn)更多的功能,模擬電路對射頻特性的影響不斷降低。由此逐漸產(chǎn)生一種全新的體系結(jié)構(gòu),誕生出軟件無線電。
1992年5月,MILTRE公司的Jeo Mitola首次明確提出了軟件無線電(soft radio)的概念。其中心思想是:構(gòu)造一個具有開放性、標準化、模塊化的通用硬件平臺,將各種功能,如工作頻段、調(diào)制解調(diào)類型、數(shù)據(jù)格式、通信協(xié)議等用軟件來完成,并使寬帶A/D(模擬/數(shù)字)和D/A(數(shù)字/模擬)轉(zhuǎn)換器盡可能靠近天線,以研制出具有高度靈活性、開放性的新一代無線通信系統(tǒng)??梢哉f這種電臺是可用軟件控制和再定義的電臺。選用不同的軟件模塊就可以實現(xiàn)不同的功能,而且軟件可以升級更新,其硬件也可以像計算機一樣不斷地升級換代。由于軟件無線電的各種功能是用軟件實現(xiàn)的,如果要實現(xiàn)新的業(yè)務(wù)或調(diào)制方式只要增加一個新的軟件模塊即可。同時,由于它能形成各種調(diào)制波形和通信協(xié)議,故還可以與舊體制的各種電臺通信,大大延長了電臺的使用周期,也節(jié)約了開支。有些人也把軟件無線電稱為”超級計算機”。
1.1.2 軟件無線電的主要特點及優(yōu)點
軟件無線電的主要特點可以歸納如下:
(1)具有很強的靈活性 軟件無線電可以通過增加軟件模塊,很容易增加新的功能??梢耘c其他任何電臺進行通信,并可以作為其他電臺的射頻中繼。可以通過無線加載來改變軟件模塊或更新模塊。為了減少開支,可以根據(jù)所需功能的強弱,取舍選用的軟件模塊。
(2)具有較強的開放性 軟件無線電由于采用了標準化、模塊化的結(jié)構(gòu),其硬件可以隨著器件和技術(shù)的發(fā)展而更新或擴展,軟件也可以隨需要而不斷升級。軟件無線電不僅能和新體制電臺通信,還能和舊體制電臺兼容。這樣,既延長了舊體制電臺的使用壽命,也保證了軟件無線電本身有很長的生命周期。
軟件無線電的主要優(yōu)點有:
(1)簡少了通信設(shè)備的硬件電路, 使系統(tǒng)的可靠性大大提高, 生產(chǎn)和維護因此變得十分簡單;
(2)可以通過更新軟件來實現(xiàn)系統(tǒng)功能和性能指標的升級;
(3)可以以很低的代價來擴展系統(tǒng)的功能, 達成對多種信號體制兼容的工作能力;
(4)通過改進數(shù)字信號處理算法, 可以獲得比基于電路的傳統(tǒng)通信設(shè)備更好的性能指標。
軟件無線電這一新概念一經(jīng)提出,就得到了全世界無線電領(lǐng)域的廣泛關(guān)注。由于軟件無線電所具有的靈活性、開放性等特點,使其不僅在軍、民無線通信中獲得應(yīng)用,而且將在其他領(lǐng)域例如電子戰(zhàn)、雷達、信息化家電等領(lǐng)域得到推廣,這將極大促進軟件無線電技術(shù)及其相關(guān)產(chǎn)業(yè)(集成電路)的迅速發(fā)展。
1.1.3 軟件無線電的基本結(jié)構(gòu)
軟件無線電的基本思想[1]是以一個通用、標準、模塊化的硬件平臺為依托,通
過軟件編程來實現(xiàn)無線電臺的各種功能,從基于硬件、面向用途的電臺設(shè)計方法中解放出來。功能的軟件化實現(xiàn)勢必要求減少功能單一、靈活性差的硬件電路,尤其是減少模擬環(huán)節(jié),把數(shù)字化處理(A/D和D/A變換)盡量靠近天線。軟件無線電強調(diào)體系結(jié)構(gòu)的開放性和全面可編程性,通過軟件的更新改變硬件的配置結(jié)構(gòu),實現(xiàn)新的功能。軟件無線電采用標準的、高性能的開放式總線結(jié)構(gòu),以利于硬件模塊的不斷升級和擴展。理想軟件無線電的組成結(jié)構(gòu)如圖1.1所示。
圖1.1 軟件無線電結(jié)構(gòu)框圖
軟件無線電主要有天線、射頻前端、寬帶A/D-D/A轉(zhuǎn)換器、通用和專用數(shù)字信號處理器以及各種軟件組成。軟件無線電的天線一般要覆蓋比較寬的頻段,例如1MHz~2GHz,要求每個頻段的特性均勻,以滿足各種業(yè)務(wù)的需求。例如,在軍事通信中,可能需要VHF/UHF的視距通信、UHF衛(wèi)星通信,HF通信作為備用通信方式。為便于實現(xiàn),可在全頻段甚至每個頻段使用幾付天線,并采用智能化天線技術(shù)。
射頻前端在發(fā)射時主要完成上變頻、濾波、功率放大等任務(wù),接受時實現(xiàn)濾波、放大、下變頻等功能。在射頻變換部分,寬帶、線性、高效射頻放大器的設(shè)計和電磁兼容問題的處理是比較困難的。當然,如果采用射頻直接數(shù)字化方式,射頻前端的功能可以進一步簡化,但對數(shù)字處理的要求提高。要實現(xiàn)射頻直接帶通采樣,要求A/D轉(zhuǎn)換器有足夠的工作帶寬(2GHz以上),較高的采樣速率(一般在60MHz以上),而且要有較高的A/D轉(zhuǎn)換位數(shù),以提高動態(tài)范圍。目前8位A/D轉(zhuǎn)換器的工作帶寬已做到1.5GHz以上。
模擬信號進行數(shù)字化后的處理任務(wù)全由DSP軟件承擔。為了減輕通用DSP的處理壓力,通常把A/D轉(zhuǎn)換器傳來的數(shù)字信號,經(jīng)過專用數(shù)字信號處理器件(如數(shù)字下變頻器DDC)處理,降低數(shù)據(jù)流速率,并把信號變至基帶后,再把數(shù)據(jù)送給通用DSP進行處理。通用DSP主要完成各種數(shù)據(jù)率相對較低的基帶信號的處理,例如信號的調(diào)制解調(diào),各種抗干擾、抗衰落、自適應(yīng)均衡算法的實現(xiàn)等,還要完成經(jīng)信源編碼后的前向糾錯(FEC)、幀調(diào)整、比特填充和鏈路加密等算法。由于DSP技術(shù)和器件的發(fā)展,高速、超高速的數(shù)字信號處理器不斷涌現(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īng)過濾波放大后就由A/D進行采樣數(shù)字化,這種結(jié)構(gòu)不僅對A/D轉(zhuǎn)換器的性能如轉(zhuǎn)換速率、工作帶寬、動態(tài)范圍等提出了非常高的要求,同時對后續(xù)DSP或ASIC(專用集成電路)的處理速度要求也特別的高,因為射頻低通采樣所需的采樣速率至少是射頻工作帶寬的2倍。例如,工作在1MHz~1GHz的軟件無線電接收機,其采樣速率至少需要2GHz,這樣高的采樣率,A/D能否達到暫且不說,后續(xù)的數(shù)字信號處理器也是難以滿足要求的。圖1.3所示的射頻帶通采樣軟件無線電結(jié)構(gòu)可以較好的解決上述射頻低通采樣軟件無線電結(jié)構(gòu)對A/D轉(zhuǎn)換器、高速DSP等要求過高,以至無法實現(xiàn)的問題。
圖1.3 射頻帶通采樣軟件無線電結(jié)構(gòu)
這種射頻帶通采樣軟件無線電結(jié)構(gòu)與低通采樣軟件無線電結(jié)構(gòu)的主要不同點是,A/D前采用了帶寬相對較窄的電調(diào)濾波器,然后根據(jù)所需的處理帶寬進行帶通采樣。這樣對A/D采樣速率的要求就不高了,對后續(xù)DSP的處理速度也可以隨之大大降低。但是需要指出的是,這種射頻帶通采樣軟件無線電結(jié)構(gòu)對A/D工作帶寬的要求(實際上是對A/D中采樣保持器的速度要求)仍然是比較高的。
寬帶中頻帶通采樣軟件無線電結(jié)構(gòu)與目前的中頻數(shù)字化接收機的結(jié)構(gòu)是類似的,都采用了多次混頻體制或叫超外差體制,如圖1.4所示。這種寬帶中頻帶通采樣軟件無線電結(jié)構(gòu)的主要特點是中頻帶寬更寬(例如20MHz),所有調(diào)制解調(diào)等功能全部由軟件加以實現(xiàn)。中頻帶寬是這種軟件無線電與普通超外差中頻數(shù)字化接收機的本質(zhì)區(qū)別。顯而易見,這種寬帶中頻帶通采樣軟件無線電結(jié)構(gòu)是上述三種結(jié)構(gòu)中最容易實現(xiàn)的,對器件的性能要求最低,但它離理想軟件無線電的要求最遠,可擴展性、靈活性也是最差的。
圖1.4 軟件無線電的中頻數(shù)字化結(jié)構(gòu)
1.2軟件無線電中的調(diào)制解調(diào)技術(shù)
1.2.1 軟件無線電中的調(diào)制解調(diào)問題
為了能夠進行無線傳輸以及達到多路復(fù)用、提高抗噪聲的目的, 在發(fā)射端需要用代表信息的基帶信號(模擬或數(shù)字的低通信號)去控制載波的參數(shù)變化, 這就是調(diào)制; 在接收端則需要從調(diào)制信號中恢復(fù)原來的基帶信號, 這就是解調(diào)。已經(jīng)有許多不同類型的調(diào)制方式可以適應(yīng)不同的需要。
在軟件無線電系統(tǒng)中, 調(diào)制和解調(diào)都是用程序來實現(xiàn)的(也稱為全數(shù)字化調(diào)制解調(diào))。要編寫出各種類型調(diào)制信號的調(diào)制解調(diào)軟件, 關(guān)鍵是確定信號處理算法??梢岳?FPGA(現(xiàn)場可編程邏輯器件)來實現(xiàn)需要的調(diào)制解調(diào)算法, 其計算速度比 DSP 更快, 但是靈活性及控制功能較差, 需要與 DSP 或單片機配合使用。
建立調(diào)制解調(diào)算法及程序的一條途徑是把模擬電路的工作原理軟件化[2]。比如要對 AM信號進行相干解調(diào), 或建立載波同步乘法器、低通濾波等軟件模塊的做法雖然可行, 但是計算量很大。實際上, 根據(jù)軟件無線電的特點, 可以建立與調(diào)制解調(diào)電路工作原理有所不同的調(diào)制解調(diào)算法。
圖 1.5為 SDR 接收機中廣泛使用的數(shù)字正交解調(diào)方案。這是一個具有通用性的解調(diào)模型, 對不同方式的調(diào)制信號只需要設(shè)計相應(yīng)的基帶解調(diào)算法。對于 AM 信號, 基帶解調(diào)算法為 A(n) =(I(n) +Q(n) ) 。對 LPF 的輸出進行數(shù)據(jù)抽取是因為基帶信號 I、Q 需要的采樣率遠低于對調(diào)制信號的采樣率。這種解調(diào)方案利用軟件中可以實現(xiàn)的平方和開方運算而免去了復(fù)雜的載波同步過程,不僅減少了計算量, 也避免了因載波同步誤差而引起的解調(diào)誤差 (相位同步誤差和比較小的頻率同步誤差都不影響解調(diào)效果)。因為仍然是相干解調(diào), 所以這種解調(diào)方案具有良好的抗干擾性能。
圖1.5 正交數(shù)字化解調(diào)器
但是這種解調(diào)方法的計算量還是比較大的,因為對每一次采樣值都要分兩路進行乘法和階數(shù)較高的低通濾波。由于計算量大(或者說對計算速度要求高), 正交數(shù)字化解調(diào)目前也難以用價位合理的 DSP 來實現(xiàn), 于是就出現(xiàn)了數(shù)字下變頻器(DDC)這樣的專用芯片。DDC 通過載波跟蹤用數(shù)控振蕩器產(chǎn)生 Cos 和 Sin 數(shù)字序列, 分別與調(diào)制信號的采樣序列相乘, 并完成低通濾波和數(shù)據(jù)抽取, 輸出 I、Q 信號供 DSP 進行位同步和碼元解調(diào)。由于 DDC 是電路實現(xiàn)的, 可以采用并行處理結(jié)構(gòu) (同時進行濾波所需要的多次乘法運算), 所以能夠解調(diào)計算量大的問題。目前已經(jīng)產(chǎn)品化的軟件無線電接收機, 在結(jié)構(gòu)上大多是采用的是”中頻采樣→數(shù)字下變頻器→DSP 基帶解調(diào)”方案, DDC也就成了軟件無線電的關(guān)鍵技術(shù)之一。另一種解決方案就是零中頻解調(diào), 也稱為直接變換法, 即用與發(fā)射載波同頻率的模擬 Cos 和 Sin 信號分別與接收到的調(diào)制信號相乘, 經(jīng)過 LPF 輸出 I、Q 信號, 采樣后供 DSP 進行基帶解調(diào)。比如在基于雷達工作原理的第二代射頻身份識別系統(tǒng)(RFID,需要接收和解調(diào)受到射頻 IC 卡控制的反射電磁波)中, 由于收、發(fā)是在同一個設(shè)備中, 可以把發(fā)射載波直接用于接收解調(diào), 就可以采用”直接變換法”解調(diào)方案。DDC 器件價格較高, 功耗大, 功能和結(jié)構(gòu)缺乏靈活性, 直接變換法性能不及中頻解調(diào)方案, 所以, 如果研發(fā)出計算量小、解調(diào)質(zhì)量好,能夠用”中頻采樣-DSP 軟件解調(diào)”方案實現(xiàn)的解調(diào)算法, 是很有意義的。
1.2.2 正交調(diào)制原理
為了采用統(tǒng)一的硬件結(jié)構(gòu)來實現(xiàn)多種調(diào)制方式,我們必須尋求一種通用的解調(diào)方法,正交調(diào)制的理論很好地解決了這一問題。盡管調(diào)制樣式有多種多樣,但實質(zhì)上不外乎用調(diào)制信號去控制載波的一個或幾個參數(shù),使這個參數(shù)按照調(diào)制信號的規(guī)律而變化的過程。調(diào)制信號的數(shù)學(xué)表達式為:
S(n)=A(n)cos[ω(n)n+θ(n)]
調(diào)制信號可以分別”寄生”在已調(dià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)]
這就是我們所希望獲得的同相和正交兩個分量,由上式可以看出它們包含了信號的幅度和相位信息,根據(jù)X (n)、X (n),,就可以對各種調(diào)制信號進行解調(diào)。通用調(diào)制算法如圖1.6所示。
圖 1.6 數(shù)字正交調(diào)制通用模型
現(xiàn)以MSK信號正交調(diào)制為例來說明,二進制頻移鍵控(MSK)信號:
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)制器實現(xiàn)框圖如圖1.7所示。
圖1.7 數(shù)字MSK正交調(diào)制框圖
1.2.3 正交解調(diào)原理
多種調(diào)制信號在理論上都可以通過正交解調(diào)算法實現(xiàn)解調(diào)[3]。正交解調(diào)必須首先實現(xiàn)正交分解,圖1.8示出了數(shù)字正交下變頻法實現(xiàn)正交分解的框圖。
圖1.8 數(shù)字正交解調(diào)的通用模型
經(jīng)過數(shù)字正交下變頻和低通濾波后形成I 、Q 兩路正交基帶信號,解調(diào)算法主要是用兩路正交信號計算出信號的幅度和相位。解調(diào)算法如下:
調(diào)幅解調(diào):
A(n)=√(I^2 (n)+Q^2 (n)) (1.1)
調(diào)相信號解調(diào):
Ф(n)=tan^(-1)?〖[(Q(n))/(I(n))]〗 (1.2)
調(diào)頻信號解調(diào):
f(n)=Φ^’ (n)=Φ_n-Φ_(n-1) (1.3)
由式(1.2)和式(1.3)可見,對于調(diào)頻調(diào)相信號的解調(diào)算法需要求出瞬時相位Ф(n),即需做除法與反正切運算,這在硬件實現(xiàn)上比較困難,若用FPGA實現(xiàn)則要消耗很多門資源,故需尋找簡化算法。
假設(shè)I_n和Q_n為n時刻I路和Q路采樣值,I_(n-1)和Q_(n-1)為n-1時刻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?〖(?φ)〗
分別為前后兩個數(shù)據(jù)采樣點的相位差的正弦和余弦值,我們分別稱Dot(n)為點積,cross(n)為叉積。通過點積值或符號可判斷相差大小,可用于DPSK和DMSK的解調(diào);通過叉積的值和符號可判斷頻差大小,可用于GMSK解調(diào);通過點積與叉積符號可組合判決相差大小,從而對DQPSK、π/4 DQPSK、D8PSK等調(diào)制方式解調(diào)。點積與叉積只有和、差與乘法運算,用FPGA很容易實現(xiàn)。而且叉積所提取的頻差可直接用于載波跟蹤。
1.3課題設(shè)計內(nèi)容
數(shù)字化調(diào)制是指用軟件產(chǎn)生出調(diào)制信號的采樣序列,再通過D/A轉(zhuǎn)換得到模擬的調(diào)制信號,數(shù)字化解調(diào)則是指對已調(diào)波信號進行A/D轉(zhuǎn)換,再通過數(shù)據(jù)處理來實現(xiàn)對信號的解調(diào)。數(shù)字化調(diào)制、解調(diào)是軟件無線電技術(shù)(SDR)中的一個重要內(nèi)容。SDR主要依靠軟件來完成接收系統(tǒng)的各項功能,如智能天線、信號識別、調(diào)制解調(diào)等,其優(yōu)點在于可以使產(chǎn)品的硬件大大簡化,可靠性大大提高,便于生產(chǎn)和維護,可以通過更新軟件來實現(xiàn)產(chǎn)品的功能升級等。π/4QDPSK信號相對一般的QPSK信號具有頻譜更加集中,更有利于實現(xiàn)位同步的優(yōu)點。數(shù)字化調(diào)制的基本要求是產(chǎn)生性能好的調(diào)制信號波形,計算量小。
本課題要求:
(1)對SDR的基本概念進行研究,重點是數(shù)字化調(diào)制、解調(diào)技術(shù)。
(2)設(shè)計一個基于離散傅立葉變換的2DPSK信號的數(shù)字化解調(diào)算法。
(3)用MATLAB語言編程產(chǎn)生出具有典型性的2DPSK信號。
(4)對2DPSK信號進行數(shù)字化解調(diào)。
(5)對解調(diào)的誤碼率進行研究。
第二章 幾種基于DFT的解調(diào)技術(shù)
2.1 DFT的基本原理
離散傅立葉變換(DFT)對于有限長序列是一種非常重要的數(shù)學(xué)變換。因為其實質(zhì)上是有限長序列傅立葉變換的有限點離散采樣,從而開辟了頻域離散化的道路,使數(shù)字信號處理論可以再頻域采用數(shù)字運算的方法進行,這樣就大大增加了數(shù)字信號處理的靈活性。更重要的是DFT有多種快速算法,統(tǒng)稱為快速傅立葉變換(FFT),從而使信號的實時處理和設(shè)備的簡化得以實現(xiàn)。因此,時域離散系統(tǒng)的研究于應(yīng)用在許多方面取代了傳統(tǒng)的連續(xù)時間系統(tǒng)。所以說,DFT不僅在理論上有重要意義,而且在各種信號的處理中亦起著核心作用。
一般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ù)字通信、語音信號處理、圖象處理、功率譜估值、仿真、系統(tǒng)分析、雷達理論、光學(xué)、醫(yī)學(xué)、地震以及數(shù)值分析等各個領(lǐng)域都得到廣泛應(yīng)用。
2.2 AM信號解調(diào)
2.2.1 解調(diào)方法
文獻[4]中提出了一種基于DFT(離散傅立葉變換)的AM信號解調(diào)算法,要點是對低中頻AM信號進行整周期采樣(比如取采樣頻率為載波頻率的8倍),對每一個載波周期內(nèi)的采樣點(記為x_1~x_8)進行DFT,計算出載波的幅值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ù)抽取過程, 對采樣數(shù)據(jù)基本上只做加減運算, 每 8 個采樣點才做一次平方、開方運算, 計算量大大降低, 為采用”中頻采樣-DSP 解調(diào)”方案創(chuàng)造了條件。采用較低的采樣頻率( 比如每個載波周期采樣 4 個點) 也可以正常解調(diào), 當然較高的采樣頻率對抑制噪聲是有利的。
2.2.2 解調(diào)失真度
要正確的完成對AM信號的解調(diào),必須考慮輸出的失真度,只有失真度限制在一定的范圍內(nèi),才可能不失真的恢復(fù)原始調(diào)制信號(通常應(yīng)小于0.1)。失真度的表達式如下式:
D=√(P_x/P_s )
其中,P_x表示諧波功率,P_s表示輸出信號功率。
在不存在定時誤差的情況下,失真度很小,通過計算得出D=3.4*〖10〗^(-7),可以完全忽略不計,改變調(diào)幅系數(shù)對解調(diào)輸出失真沒有明顯的影響。
在存在定時誤差時,會對失真度有一定的影響。所謂定時誤差是指由于AM信號載波頻率偏離設(shè)計值(或接收端對載波頻率測量存在誤差)和采樣定時精度有限等原因,使得對AM信號在一個載波周期內(nèi)的平均采樣點數(shù)不是整數(shù)。若對AM信號每20個載波周期采159.5點(定時誤差大約為0.0031),得到失真度為D=0.0081。每20個載波周期采159點,得到D=0.02.可見定時誤差會使失真度增大,但在通常的定時誤差條件下,失真度仍然是可以忽略的。
2.3 QDPSK信號數(shù)字化解調(diào)
按照定義產(chǎn)生的PSK信號在碼元切換時會發(fā)生相位跳變,需要經(jīng)過限帶濾波后才能夠發(fā)射(或者先對基帶信號進行限帶濾波,再進行正交調(diào)制),在接收機的解調(diào)器之前也會對信號進行帶通濾波,所以實際接收到的PSK信號的碼元波形會分成兩種區(qū)域,碼元的中間部分是穩(wěn)定區(qū),前、后部分位過渡區(qū)。穩(wěn)定區(qū)內(nèi)的波形接近正弦波,過渡區(qū)內(nèi)的波形則不是正弦波,并且幅度明顯降低。因為信道噪聲在整個碼元內(nèi)是相同的,所以在過渡區(qū)內(nèi)信噪比很低。提出數(shù)字化解調(diào)方案應(yīng)該考慮上述條件。
為了表述方便,下面先以一個QDPSK信號為例來對解調(diào)方法進行說明,然后再就一般情況進行討論。設(shè)進入解調(diào)器的中頻QDPSK信號一個碼元包含10個載波周期,中間5個周期為穩(wěn)定區(qū),信號上疊加了高斯型噪聲,載波頻率已知(由收發(fā)雙方約定,或在接收機中利用某種方法測定),采樣頻率取為載波頻率的8倍,碼元數(shù)據(jù)與相位跳變的關(guān)系是:
00–0π, 10–π/2, 11–π, 01–3π/2
2.3.1解調(diào)方法
先假設(shè)已經(jīng)實現(xiàn)位同步,取碼元穩(wěn)定區(qū)內(nèi)的40個采樣值(計為x -x )進行DFT,求出5次諧波(即載波)譜值的實部I和虛部Q,再求出相位Ф作為本碼元的相位,用本碼元相位減去前一碼元相位,便得到本碼元的相位跳變值?_T。有關(guān)的計算公式如下:
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|〗
當 I≥0,Q≥0 時 ?=θ ; 當I≥0,Q<0時 ?=-θ ;
當 I<0,Q<0時 ?=π+θ; 當 I<0,Q≥0時 ?=π-θ ; (2.2)
碼元的相位跳變?yōu)椋?br>?_T=?_b-?_a+?_d (mod 2π) (2.3)
其中?_b 是本碼元相位,?_a是前一碼元相位,?_d是調(diào)整位同步點時的附加相位(見下段內(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)是對基帶信號I、Q執(zhí)行位同步算法,而本方案是直接用QDPSK信號的采樣值進行位同步,其原理是:按載波周期(對應(yīng)連續(xù)8個采樣值)進行DFT求出載波幅值A(chǔ)_1,在碼元切換處A_1將出現(xiàn)極小值,所以通過尋找A_1的極小值點,就可以實現(xiàn)位同步。
初始位同步: 為了提高位同步的定位精度,每接受到4個采樣值就用最新的8個采樣值(記為x_1 〖~x〗_8)計算一次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)
對前后的A_1值進行比較,就可以找出極小值點,如果該點的A_1值也明顯小于A_1的正常值,則該點就是一個碼元切換點(而不是由于干擾引起的)。繼續(xù)尋找下一個碼元切換點,如果前后兩個碼元切換點的距離(用采樣點數(shù)表示)近似等于80的整數(shù)倍,便認為位同步成功,可以開始進行碼元解調(diào)。否則就繼續(xù)尋找下一個碼元切換點。
位同步維持: 對每一個碼元,在計算過碼元的相位后,便從該碼元的倒數(shù)第2個載波周期開始按(2.5)式計算A_1值,并尋找碼元切換點,如果在4個載波周期內(nèi)沒有出現(xiàn)或者找到的碼元切換點與原來的位同步點相同,則位同步點不調(diào)整;否則,就要進行位同步點調(diào)整:如果找到的碼元切換點超前于現(xiàn)有的位同步點,就把位同步點前移一個采樣點,如果找出的碼元切換點落后于現(xiàn)有的位同步點,就把位同步點后移一個采樣點。如果調(diào)整了位同步點,就需要在后一個碼元的相位跳變值上加上一個修正值?_d,見(2.3)式。位同步點后移時?_d=π/4,位同步點前移時?_d=-π/4 。
2.3.3 QDPSK信號的數(shù)字化解調(diào)
文獻[5]中提到了一種基于DFT的QDPSK信號解調(diào)算法。接收到的限帶 QDPSK 信號的碼元波形分為兩個區(qū)域, 中間部分是穩(wěn)定區(qū), 前、后部分為過渡區(qū)。信號波形在碼元穩(wěn)定區(qū)內(nèi)基本上是正弦波, 在過渡區(qū)內(nèi)幅度明顯降低。
設(shè)進入解調(diào)器的中頻QDPSK信號的一個碼元包含10個載波周期,中間7個周期為穩(wěn)定區(qū),采樣頻率取為載波頻率的8倍。
解調(diào)方法:用碼元穩(wěn)定區(qū)內(nèi)的56個采樣值(記為x_1~x_56)進行DFT,求出7次諧波(即載波)譜值的實部I和虛部Q,在求出本碼元的相位?,用本碼元相位減去前一碼元相位,即得到本碼元的相位跳變值,進而可判決得到本碼元的數(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信號解調(diào)的位同步可以利用DFT算法實現(xiàn)。按載波周期(連續(xù)8個采樣值)進行DFT求出載波幅值A(chǔ)_1,因為在碼元切換出A_1將出現(xiàn)極小值,所以通過在碼元過渡區(qū)內(nèi)尋找A_1的極小值點就可以實現(xiàn)初始位同步及位同步維持。
第三章2DPSK信號數(shù)字化解調(diào)算法
3.1 2PSK及2DPSK信號原理[6]
二進制移相鍵控(2PSK)方式是受鍵控的載波相位按基帶脈沖而改變的一種數(shù)字調(diào)制方式。設(shè)二進制符號及其基帶波形與以前假設(shè)的一樣,那么,2PSK信號的形式一般表示為:
e_0 (t)=[∑_n?a_n g(t-nT_s)]cos?〖ω_c 〗 t
這就是說,在一碼元持續(xù)時間內(nèi),當發(fā)送二進制符號0時,e_0 (t)取0相位;發(fā)送二進制符號1時,e_0 (t)取π相位。這種以載波的不同相位直接去表示相應(yīng)數(shù)字信息的相位鍵控,通常被稱為絕對移相方式。
但我們看到,如果采用絕對移相方式,由于發(fā)送端是以某一個相位做基準的,因而在接收系統(tǒng)中也必須有這樣一個固定基準相位做參考。如果這個參考相位發(fā)生變化(0相位變?yōu)棣邢辔换蛘擀邢辔蛔兂?相位),則恢復(fù)的數(shù)字信息就會發(fā)生0變?yōu)?或者1變?yōu)?,從而造成錯誤的恢復(fù)??紤]到實際通信時參考基準相位的隨機跳變是可能的,而且在通信中不易被覺察,比如,由于某種突然的騷動,系統(tǒng)中的分頻器可能發(fā)生狀態(tài)的轉(zhuǎn)移、鎖相環(huán)路的穩(wěn)定狀態(tài)也可能發(fā)生轉(zhuǎn)移等等。這樣,采用2PSK方式就會在接收端發(fā)生錯誤的恢復(fù)。這種現(xiàn)象,通常稱為2PSK方式的”倒π”現(xiàn)象或者”反向工作”現(xiàn)象。為此,實際中一般不采用2PSK方式,而是采用一種所謂的相對(差分)移相(2DPSK)鍵控方式。
2DPSK方式即是利用前后相鄰碼元的相對載波相位值去表示數(shù)字信息的一種方式。例如,假設(shè)相位值用相位偏移??表示(??定義為本碼元初相與前一碼元初相之差),并設(shè)
{_(??=0 數(shù)字信息”0″)^(??=π 數(shù)字信息”1″)
則數(shù)字信息序列與2DPSK信號的碼元相位關(guān)系可舉例表示如下:
數(shù)字信息: 0 0 1 1 1 0 0 1 0 1
2DPSK信號相位: 0 0 0 π 0 π π π 0 0 π
或者: π π π 0 π 0 0 0 π π 0
2DPSK信號的波形與2PSK信號的波形不同,2DPSK信號的波形的同一相位并不對應(yīng)相同的數(shù)字信息符號,而前后碼元相對相位的差才是唯一決定信息符號的因素。這說明,解調(diào)2DPSK信號時并不依賴于某一固定的載波相位參考值,只要前后碼元的相對相位關(guān)系不破壞,則鑒別這個相位關(guān)系就可正確恢復(fù)數(shù)字信息,這就避免了2PSK方式的倒π現(xiàn)象發(fā)生。
二進制移相鍵控系統(tǒng)在抗噪聲性能以及信道頻帶利用率等方面比二進制FSK和OOK優(yōu)越,因而被廣泛應(yīng)用于數(shù)字通信中??紤]到2PSK方式有倒π現(xiàn)象,故它的改進型2DPSK信號受到重視。目前,在話帶內(nèi)以中速傳輸數(shù)據(jù)時,2DPSK是CCITT建議選用的一種數(shù)字調(diào)制方式。
3.2 基于DFT的2DPSK信號數(shù)字化解調(diào)方法
實際中接收到的2DPSK信號在經(jīng)過帶通濾波后,由于碼元跳變出的高頻分量被過濾掉,濾波后的 2DPSK 信號波形分為穩(wěn)定區(qū)和過渡區(qū), 碼元中間部分是穩(wěn)定區(qū), 前、后部分為過渡區(qū)[7]。穩(wěn)定區(qū)內(nèi)的信號基本無損失, 波形近似為正弦波, 而過渡區(qū)內(nèi)的波形則不是正弦波, 并且幅度明顯降低。調(diào)制信息基本上只存在于碼元穩(wěn)定區(qū)。從上述分析出發(fā), 可以得到如圖 4.1 所示的基于 DFT 的數(shù)字解調(diào)方案。
圖3.1 DFT解調(diào)算法框圖
對每個碼元穩(wěn)定區(qū)內(nèi)的采樣點按照下面式子做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 代表每個載波周期的采樣點個數(shù), N 代表做 DFT 時使用的穩(wěn)定區(qū)內(nèi)的采樣點個數(shù)(通常取多個載波整周期)。
然后,提取出前后碼元的相位跳變信息?_T來進行解調(diào)判決:
計算θ=tan^(-1)?〖(Q/I)〗,并根據(jù)Q和I的正負情況確定θ的取值范圍。
當 I≥0,Q≥0 時 ?=θ ; 當I≥0,Q<0時 ?=-θ ;
當 I<0,Q<0時 ?=π+θ; 當 I<0,Q≥0時 ?=π-θ ;
把本碼元的相位記為?_b,前一碼元的相位記為?_a,則
?_T=?_b-?_a+?_d (mod 2π) (3.1)
其中?_d是進行了位同步點調(diào)整時附加的相位。
?_d=±m(xù)*2π/n
m為位同步調(diào)整時移動的采樣點個數(shù),n為每個載波周期的采樣點個數(shù)。
從?_T到碼元解調(diào)數(shù)據(jù)的判決條件為:
-π/2≤?_T≤π/2 判為 0;
π/2≤?_T≤3π/2 判為 1;
圖3.2 2DPSK移相信號矢量圖
可見,在每個碼元周期只需要計算一次相位值即本碼元的相位,然后相減得到跳變相位,就可以依據(jù)判決條件恢復(fù)原始數(shù)據(jù),而不需要像文獻[7]中所提到的對每個碼元要隨著窗函數(shù)的移動多次計算譜值,因而大大減輕了計算量,非常適合于軟件無線電的數(shù)字化實時解調(diào)。
3.3 解調(diào)中的位同步方法
位同步是數(shù)字化解調(diào)中不可缺少的一個重要環(huán)節(jié)。在本方案中,對采樣點按照載波周期做DFT提取幅度信息則可以建立起初始位同步。其原理是:由于穩(wěn)定區(qū)內(nèi)的信號基本無損失,而過渡區(qū)內(nèi)信號的幅度則明顯降低,如果按照載波周期對采樣值進行DFT,在碼元波形過渡區(qū)得到的載波幅值A(chǔ)_1會比在碼元穩(wěn)定區(qū)內(nèi)求得的A_1值小,而且存在一個極小值,當該極小值小于給出的判決門限值時(防止噪聲引起的誤判),可確定為碼元的切換點。因此通過對A_1值進行檢查就可以確定碼元切換點。在實際的通信中,為方便初始位同步的建立,可以發(fā)射一連串的1序列,以保證前后碼元存在π相位的跳變,更有利于尋找碼元切換點。
在初始位同步建立后,由于碼元定時誤差和噪聲干擾,位同步點可能有偏差,還必須進行調(diào)整。對每個碼元計算過相位后,在過渡區(qū)仍舊按載波周期計算A_1值,并檢測幅值極小點。沒有出現(xiàn)幅值極小點(表明前后碼元相位連續(xù))或者找到的幅值極小點與原位同步點相同,則位同步點不調(diào)整;否則,根據(jù)本次計算出來的幅值極小點對已建立的位同步點進行調(diào)整,并根據(jù)調(diào)整結(jié)果對碼元的跳變值附加修正值?_d,且?_d的大小由公式(3.2)決定。
〖 ?〗_d=±m(xù)*2π/n (3.2)
其中,m為位同步調(diào)整時移動的采樣點個數(shù),n為每個載波周期的采樣點個數(shù)。
3.4 相關(guān)說明與討論
(1)在進行碼元解調(diào)時也可以把靠近穩(wěn)定區(qū)的一些采樣值用于DFT計算(采樣值的數(shù)目仍需要與整數(shù)個載波周期相對應(yīng)),以求進一步降低誤碼率,因為那里的信噪比也比較高。其實穩(wěn)定區(qū)和過渡區(qū)并無一個明確的分界點。
(2)在進行位同步計算時,如果一個碼元包含的載波周期比較多(比如一個碼元包含50個載波周期),也可以每n個采樣值(一般情況下,為了提高位同步定位精度,每接收到n/2個采樣值就用最新的n個采樣值計算一次A_1)進行一次DFT,求出I_1 和Q_1值。
I_1和Q_1計算公式是:
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)在一般的舉例中我們會假設(shè)一個碼元周期剛好等于整數(shù)個載波周期,但是解調(diào)方法并不要求一定如此。比如一個碼元包含10.25個載波周期,將有82個采樣點(假設(shè)n=8),只要把碼元過渡區(qū)算為5.25個載波周期,仍然使用穩(wěn)定區(qū)內(nèi)的N個采樣值來進行DFT計算就可以了(計算碼元相位跳變的公式需要做相應(yīng)改變)。
(4)在實際系統(tǒng)中不可避免會存在位同步誤差(確定的碼元起點與實際起點有偏差),只使用碼元穩(wěn)定區(qū)內(nèi)的采樣值進行解調(diào)計算,位同步誤差的影響也可以消除或減小。
(5)一般情況下舉例時,采樣頻率是取為載波頻率8倍時候多,如果取為4、5或者9、10等整數(shù),也可以實現(xiàn)解調(diào)(有關(guān)計算公式需做修改)。但是降低采樣頻率不利于抑制噪聲,會使誤碼率有所增大。選擇8或者4還可以減小計算量,比如為8時,則對碼元采樣點按照前面公式做DFT時,可求得:
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)]
可以看出,幾乎只需要做加、減運算就可以了。另外,考慮到需要進行載波解調(diào)和位同步,在倍數(shù)為8時每個碼元采樣80點已經(jīng)是比較少的了。
(6)如果存在采樣定時誤差(采樣頻率不等于載波頻率的整數(shù)倍),也會使誤碼率增大,但是不一定很嚴重。
(7)本解調(diào)算法對于各種MDPSK以及π/4QDPSK信號都是適用的,只要修改從碼元的相位跳變值到調(diào)制數(shù)據(jù)的判決條件式就可以了,也可以推廣到MQAM(幅相聯(lián)合調(diào)制)信號的解調(diào),因為通過DFT不僅可以求出碼元的相位及相位跳變,也可以求出碼元的載波幅值。
圖3.3 采用中頻自動調(diào)整方案的SDR接收機結(jié)構(gòu)
(8)為了使采樣頻率為中頻的整數(shù)倍,可以采用如下的電路方案:按照設(shè)定的采樣頻率進行采樣,在解調(diào)程序中去檢查在碼元穩(wěn)定區(qū)中的40個采樣點是否剛好對應(yīng)5個載波周期,如果有偏差,再去控制變頻器的本振(VCO)頻率,使中頻向正確的方向改變。相應(yīng)的軟件接收機結(jié)構(gòu)如圖3.3所示:
第四章 2DPSK信號數(shù)字化解調(diào)的仿真研究
4.1 仿真軟件工具的選擇
在目前工程界使用的各種仿真工具中,MATLAB是應(yīng)用最廣泛,也是使用最簡便的一個,相比于其他各種仿真工具,它具有很多獨特的優(yōu)點。因此,本次設(shè)計中的算法仿真我們選用MATLAB作為仿真工具。
MATLAB是矩陣實驗室(Matrix Laboratory)之意。除去本身卓越的數(shù)值計算能力外,它還提供了專業(yè)水平的符號計算,文字處理,可視化建模仿真和實時控制等功能。
MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學(xué)工程那個中常用的形式十分相似,故用MATLAB來解算問題要比用C語言、FORTRAN等語言完成相同簡捷得多。
當前流行的MATLAB5.3/Simulink3.0包括擁有數(shù)百個內(nèi)部函數(shù)的主包和三十幾種工具包(Toolbox)。工具包又可以分為功能性工具包和學(xué)科工具包。功能性工具包用來擴充MATLAB的符號計算,可視化建模仿真,文字處理及實時控制等功能。學(xué)科工具包是專業(yè)性比較強的工具包,控制工具包,信號處理工具包,通信工具包等都屬于此類。
開放性使MATLAB廣受用戶歡迎。除內(nèi)部函數(shù)外,所有MATLAB主包文件和各種工具包都是可讀可修改的文件,用戶通過對源程序的修改或加入自己編寫程序構(gòu)造新的專用工具包。
一種語言之所以能如此迅速的普及,顯示出如此旺盛的生命力,是由于它有著不同于其他語言的特點,正如同F(xiàn)ORTRAN和C等高級語言使人們擺脫了需要直接對計算機硬件資源進行操作一樣,被稱作為第四代計算機語言的MATLAB,利用其豐富的函數(shù)資源,使編程人員從繁瑣的程序代碼中解放出來。MATLAB最突出的特點就是簡潔。MATLAB用更直觀的,符合人們思維習(xí)慣的代碼代替了C和FORTRAN語言的冗長代碼。MATLAB給用戶帶來的是最直觀,最簡潔的程序開發(fā)環(huán)境。下面簡單介紹一下MATLAB的主要特點[8]
1:語言簡潔緊湊,使用方便靈活,庫函數(shù)及其豐富。MATLAB程序編寫形式自由,利用其豐富的庫函數(shù)避開繁雜的子程序編程任務(wù),壓縮了一切不必要的編程工作。由于庫函數(shù)都由本領(lǐng)域的專家編寫,用戶不用擔心函數(shù)的可靠性??梢哉f,用MATLAB進行科技開發(fā)是站在專家的肩膀上。
2:運算符豐富。由于MATLAB是用C語言編寫的,MATLAB提供了和C語言幾乎一樣多的運算符,靈活使用MATLAB的運算符將使程序變得極為簡短。
3:MATLAB既具有結(jié)構(gòu)化的控制語句(如for循環(huán),while循環(huán),break語句和if語句),又有面向?qū)ο缶幊痰奶匦浴?br>4:程序限制不嚴格,程序設(shè)計自由度大。例如,在MATLAB里,用戶無需對矩陣預(yù)定義就可以使用。
5:程序的可移植性很好,基本上不做修改就可以在各種型號的計算機和操作系統(tǒng)上運行。
6:MATLAB的圖形的功能強大。在FORTRAN和C語言里,繪圖都很不容易,但在MATLAB里,數(shù)據(jù)的可視化非常簡單。MATLAB還具有較強的編輯圖形界面的能力。
7:MATLAB的缺點是,它和其他高級程序相比,程序的執(zhí)行速度較慢。由于MATLAB的程序不用編譯等預(yù)處理,也不生成可執(zhí)行文件,程序為解釋執(zhí)行,所以速度較慢。
8:功能強大的工具箱是MATLAB的另一特色。MATLAB包含兩個部分:核心部分和各種可選的工具箱。核心部分中有數(shù)百個核心的內(nèi)部函數(shù)。其工具箱又分為兩類:功能形工具箱和學(xué)科性工具箱。工具性工具箱主要用來擴充其符號計算功能,圖示建模仿真功能,文字處理功能以及與硬件實時交互功能。功能性工具箱用于多種學(xué)科。而學(xué)科性工具箱是專業(yè)性比較強的,如control,toolbox,signl processing toolbox,commumnication toolbox等。這些工具箱都是由該領(lǐng)域內(nèi)學(xué)術(shù)水平很高的專家編寫的,所以用戶無需編寫自己學(xué)科范圍內(nèi)的基礎(chǔ)程序,而直接進行高,精,尖的研究。
9:源程序的開放性。開放性也許是MATLAB最受人歡迎的特點。除內(nèi)部函數(shù)以外,所有MATLAB的核心文件和工具箱文件都是可讀可改的源文件,用戶可通過對源文件的修改以及加入自己的文件構(gòu)成新的工具箱。
4.2 程序流程圖
實現(xiàn)2SPSK信號數(shù)字化解調(diào)的程序分為5個部分,在這里,我首先介紹一個總體的流程圖,然后介紹幾個主要部分的程序流程圖。
2DPSK信號數(shù)字化解調(diào)仿真流程圖如下:
接下來,介紹其他幾個主要部分的程序流程圖。
首先介紹cm_dpsk: 它以微分方式實現(xiàn)二進制隨機序列a的差分編碼,最后生成差分編碼變換序列b。
再介紹一下濾波器設(shè)計函數(shù)filter_dpsk2:
4.3 仿真主要代碼介紹
本算法仿真包括了5個部分,它們分別是:
第一部分:cm_dpsk。這部分完成差分編碼功能,由第二部分調(diào)用。它的程序流程圖在前面已經(jīng)畫出。
第二部分是cm_sm12。該函數(shù)完成信源的產(chǎn)生,再調(diào)用函數(shù)cm_dpske完成差分編碼,然后調(diào)用噪聲函數(shù)對原始信號進行噪聲干擾,接著調(diào)用濾波器函數(shù)filter_dpsk2對加噪信號進行濾波。然后繪制出幾個函數(shù)的圖形。包括信號圖,加載波后的圖,加入噪聲后的圖等。
第三部分就是主函數(shù)部分DPSK2。調(diào)用其他幾個部分程序,產(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ù)判斷,當符合條件時,調(diào)用cm_sm12,然后繪制出誤碼率性能分析圖。
第四部分:filter_dpsk2。這部分是濾波器函數(shù),設(shè)計完成濾波器并繪圖。首先定義了濾波器的幾個參數(shù),然后調(diào)用freqz()函數(shù)設(shè)計濾波器。
這部分代碼如下:
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)生噪聲信號。供其他幾部分調(diào)用。
以上幾個部分中,此處列出了第三部分dpsk2和第四部分濾波器filter_dpsk2的程序代碼,其他幾個部分代碼詳見附件在此不予列出。
4.4 仿真輸出結(jié)果
程序運行結(jié)果如下面各圖所示。:
圖4.1 原始信息碼、差分碼和2DPSK調(diào)制信號圖
圖4.2 加噪信號經(jīng)過濾波器后的信號圖
圖4.3 濾波器特性圖
圖4.4 2DPSK解調(diào)誤碼性能分析圖
第五章 畢業(yè)設(shè)計總結(jié)
5.1基于DFT的2DPSK信號數(shù)字化解調(diào)算法的特點
和一般的正交數(shù)字化解調(diào)算法相比較,本文中提出的基于DFT的2DPSK信號數(shù)字化解調(diào)算法和位同步方法的特點是:
(1).通過調(diào)整變頻器的本振頻率,得到固定的中頻,采樣頻率取為中頻的整數(shù)倍,碼元解調(diào)和位同步計算所使用cos和sin序列都是固定的;
(2).在每個載波周期采樣8或者4點時,DFT幾乎只需要做加、減運算,而且省去了數(shù)字低通濾波器,所以計算量較小,有利于DSP軟件實現(xiàn);
(3).不需要進行載波相位同步,接收系統(tǒng)能夠快速地進入正常解調(diào)工作狀態(tài);
(4).不需要為實現(xiàn)載波和位同步而發(fā)射專門的同步數(shù)字序列,所以可以在數(shù)字廣播等通信系統(tǒng)中使用;
(5).由于是利用碼元穩(wěn)定區(qū)的采樣值進行解調(diào),去掉了信噪比很低的碼元過渡區(qū)的不利影響,以及DFT本身的良好濾波特性,所以解調(diào)誤碼率較低。
另外,通過仿真結(jié)果可以得到:本文提出的基于DFT的2DPSK信號數(shù)字化解調(diào)算法結(jié)構(gòu)簡單,計算量大大降低,抗干擾性能有明顯改善,在數(shù)字化軟件接收機中有具有一定實際意義。
5.2 設(shè)計中遇到的問題及不足之處
在這次做畢業(yè)設(shè)計的過程中,遇到不少的問題。首先是對基于DFT的2DPSK信號解調(diào)算法的設(shè)計中。由于通信原理課程學(xué)過已經(jīng)快2年時間了,對于里面的知識也記憶不是很深刻了。為了弄清楚信號解調(diào)以及2DPSK信號的數(shù)字化解調(diào),我從新學(xué)習(xí)了通信原理課本中有關(guān)調(diào)制解調(diào)的章節(jié),并且去定王臺圖書城購買了有關(guān)這方面的書籍,深入的學(xué)習(xí)了信號調(diào)制解調(diào)和2DPSK信號,QDPSK信號以及MDPSK信號等多種信號解調(diào)算法。然后參考長沙理工大學(xué)和我們學(xué)校幾位老師的論文作品,設(shè)計出了本論文中所用的算法。第二個問題是關(guān)于MATLAB的。雖然說MATLAB在當今是應(yīng)用非常廣泛的工具,但是我們只是在數(shù)字信號處理中對其有個初步的接觸,并沒有深入學(xué)習(xí)了解。這次畢業(yè)設(shè)計,題目要求用MATLAB編程實現(xiàn)信號解調(diào)算法的仿真。這花費了我很大的精力,通過圖書館借書,找老師指點,經(jīng)過一番努力,總算學(xué)會了MATLAB,并編寫出了算法代碼。
本次設(shè)計的不足之處存在于算法的仿真之中。因為仿真中一些數(shù)據(jù)的設(shè)置沒有標準的參數(shù),個人設(shè)計時候的差異會使仿真圖形有時候顯示不夠理想,這個問題可以通過改變參數(shù)設(shè)置來解決。比如修改比特參數(shù)N和信噪比范圍等參數(shù)。
5.3 心得體會
轉(zhuǎn)眼之間,做畢業(yè)設(shè)計已經(jīng)四個多月了。在這四個多月的日子里,我先后完成了資料搜集,整理,算法研究,代碼編寫,論文撰寫等多個步驟。經(jīng)過四個多月的努力與辛勞,在老師和同組同學(xué)的幫助下,總算在5月20號基本完成了本次畢業(yè)設(shè)計。
回顧這四個多月的經(jīng)歷,通過本次畢業(yè)設(shè)計,我在學(xué)習(xí)方法,邏輯思維,分析和解決問題的能力等各個方面都有了長足的進步。
首先,在理論方面,為了完成對各種資料的搜集,整理,我在開始做畢設(shè)的一段日子里天天出入于圖書館和自習(xí)室,還特意去定王臺的圖書城買回來一些資料。通過對這些資料的學(xué)習(xí),結(jié)合以前學(xué)通信原理,數(shù)字信號處理等課程時的筆記,我對于信號的調(diào)制解調(diào)、離散傅立葉變換等有關(guān)本次設(shè)計的內(nèi)容有了深入的理解。有了這些堅實的基礎(chǔ),再加上我們學(xué)校和長沙理工大學(xué)一些老師的有關(guān)信號解調(diào)方面的論文作品,經(jīng)過努力,我完成了本次設(shè)計的算法研究,即基于DFT的2DPSK信號數(shù)字化解調(diào)算法的研究。
其次,為了編寫仿真代碼,我從零開始,對于以前幾乎沒多少接觸的MATLAB進行了系統(tǒng)細致的學(xué)習(xí)。學(xué)習(xí)完MATLAB的知識后,參考老師給的供我們參考的一段程序,在老師的幫助下,我成功的寫出了本次設(shè)計的算法的代碼。至此,我的畢業(yè)設(shè)計的主要內(nèi)容宣告完成。MATLAB是當前工程界應(yīng)用非常廣泛的工具,對它的深入學(xué)習(xí),對我以后的工作也會有很大的幫助。
評論
查看更多