隨著FPGA技術(shù)的發(fā)展,數(shù)字通信技術(shù)與FPGA的結(jié)合體現(xiàn)了現(xiàn)代數(shù)字通信系統(tǒng)發(fā)展的一個趨勢。為了使高速通信系統(tǒng)更加緊湊、成本更低、減小功耗,特別是提高設(shè)備的可靠性,可采用Q P S K數(shù)字調(diào)制技術(shù)來實現(xiàn),其具有頻譜利用率高、頻譜特性好、抗干擾性能強、傳輸速率快等特點。運用verilog編寫在QPSK調(diào)制解調(diào)代碼以及ISE自帶的IP CORE在Xilinx公司的FPGA平臺上測試,結(jié)果表明系統(tǒng)可完全實現(xiàn)調(diào)制解調(diào)功能,并具有集成度高和可軟件升級等優(yōu)點。
四相絕對移相鍵控(QPSK)技術(shù)以其抗干擾性能強、誤碼性能好、頻譜利用率高等優(yōu)點,廣泛應(yīng)用于數(shù)字通信系統(tǒng)。隨著超大規(guī)模集成電路的出現(xiàn),FPGA在數(shù)字通信系統(tǒng)中的應(yīng)用日益廣泛,目前已提出了多種基于FPGA實現(xiàn)QPSK的方法。本文基于FPGA實現(xiàn)直接數(shù)字頻率合成(DDS),通過對DDS信號(載波信號)輸出相位的控制實現(xiàn)調(diào)相,除DA轉(zhuǎn)換外,其它過程均可以FPGA實現(xiàn)。QPSK調(diào)制信號是抑制載波的信號,無法用常規(guī)的鎖相環(huán)或窄帶濾波器直接提取參考載波,但它又不同于一些連續(xù)相位調(diào)制信號,其載波相位變化只能取有限的幾個離散值,這就隱含了參考載波的相位信息。所以,可以通過非線性處理,消除信號中的調(diào)制信息,產(chǎn)生與原載波相位有一定關(guān)系的分量,然后再提純該信號,恢復(fù)已被抑制的載波信號,進而完成信號的相干解調(diào)。本文所設(shè)計的QPSK調(diào)制解調(diào)器由于具有較好的頻帶利用率,具有體積小、功耗低、集成度高、軟件可移植性強、擾干擾能力強的特點,符合未來通信技術(shù)設(shè)計的方向。
1.QPSK調(diào)制的基本原理
四相絕對移相鍵控QPSK是MPSK的一種特殊情況,它利用載波的四種不同相位來表征數(shù)字信息。由于每一種載波相位代表兩個比特信息,故每個四進制碼元又被稱為雙比特碼元。我們把組成雙比特碼元的前一信息比特用a表示,后一比特信息用b表示。雙比特碼元中兩個信息比特ab通常是按格雷碼(即反射碼)排列的,當(dāng)ab為00時,載波相位為0°,當(dāng)ab為01時,載波相位為90°,當(dāng)ab為11時,載波相位為180°,當(dāng)ab為10時,載波相位為270°。
QPSK信號的產(chǎn)生分為調(diào)相法和相位選擇法。由于調(diào)相法比較常用,且實際操作性更強,故在本文中,選擇調(diào)相法。用調(diào)相法產(chǎn)生QPSK信號的組成方框圖如圖1所示。圖中,串/并變換器將輸入的二進制序列依次分為兩個并行的雙極性序列。設(shè)兩個序列中的二進制數(shù)字分別為a和b,每一對ab稱為一個雙比特碼元。雙極性的a和b脈沖通過兩個平衡調(diào)制器分別對同相載波及正交載波進行二相調(diào)制。將ab兩路輸出疊加,得到四相移相信號,其相位編碼邏輯關(guān)系為:當(dāng)雙比特碼元ab為11時,輸出相位為315°的載波;ab為01時,輸出相位為225°的載波;ab為00時,輸出相位為135°的載波;ab為10時,輸出相位為45°的載波,相應(yīng)的對照關(guān)系如下表所示。
數(shù)據(jù)與相位的對照關(guān)系
傳統(tǒng)的QPSK模擬調(diào)制器結(jié)構(gòu),一般采用正交調(diào)制方法。全數(shù)字調(diào)制器的實現(xiàn)仍采用正交調(diào)制方法,只是將模擬處理單元采用數(shù)字信號處理的算法實。QPSK采用四種不同的載波相位來表示數(shù)字信息,每個載波相位代表2比特信息,其實現(xiàn)有兩種方法,相位選擇法與正交調(diào)制法,相位選擇法又分為A、B兩種方式。本文采用相位選擇法B方式來實現(xiàn)QPSK信號,如圖1所示。
圖1 QPSK調(diào)制框圖
QPSK調(diào)制的MATLAB仿真相關(guān)的代碼網(wǎng)上有很多,本文作者自己編寫了一段代碼,可以簡單的表示調(diào)制的原理,在此僅將代碼羅列如下,相的注釋已經(jīng)很清楚,不再贅述。代碼要綜合解調(diào)部分一起研讀。
clear all;
clc
M=4;
Ts=1;
fc=5;
N_sample=8;%每個正弦波采樣點數(shù)
N_num=300;%I Q路分別100個bit
dt=1/fc/N_sample;
t=0:dt:N_num*Ts-dt;
T=dt*length(t);
Noise=(1/500)*randn(1,length(t))*32767;%加入噪聲
py1f=zeros(1,length(t));
py2f=zeros(1,length(t));
for PL=1:1:700%加入噪聲強度加大
d1=sign(randn(1,N_num));
d2=sign(randn(1,N_num));
d=[d1;d2];
D=reshape(d,1,[]);%D是輸入的信息序列
gt=ones(1,fc*N_sample);
s1=sigexpand(d1,fc*N_sample);%此為符號位擴展函數(shù),相關(guān)函數(shù)在原代碼中可見
s2=sigexpand(d2,fc*N_sample);
b1=conv(s1,gt);
b2=conv(s2,gt);
s1=b1(1:length(s1));
s2=b2(1:length(s2));
st_qpsk_1=s1.*round(cos(2*pi*fc*t)*32767);
st_qpsk_2=s2.*round(sin(2*pi*fc*t)*32767);
st_qpsk=st_qpsk_1+st_qpsk_2;%定點量化后的數(shù)據(jù)
%-----------------------------------------------------------
% 發(fā)射信號的功率譜
%plot((abs(fft(st_qpsk,2048))).^2);
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603419 -
QPSK
+關(guān)注
關(guān)注
2文章
63瀏覽量
26573
發(fā)布評論請先 登錄
相關(guān)推薦
評論