先從IQ調(diào)制說起:
IQ調(diào)制:

IQ解調(diào)原理:


Linux下使用GNU Octave運行下面的代碼:
|
1 2 3 4 5 6 |
t=-1:0.001:1; f=1; y=cos(2*pi*2*f*t); subplot(1,2,1);plot(t,y); y=sin(2*pi*2*f*t); subplot(1,2,2);plot(t,y); |
前面我們講了IQ調(diào)制和解調(diào)的原理,下來我們看一下如何應(yīng)用IQ調(diào)制來實現(xiàn)MPSK調(diào)制(QPSK、8PSK等)、MQAM調(diào)制(16QAM、64QAM等)。
先來了解一下BPSK(Binary Phase Shift Keying,二相相移鍵控)

如何用IQ調(diào)制實現(xiàn)QPSK調(diào)制?




Linux下使用GNU Octave運行下面的代碼:
MATLAB
|
1 2 3 4 5 6 7 8 9 10 11 |
%輸入信號
>> subplot(4,1,1); >> t=0:0.001:8; >> d=[0 0 ;0.5 1;1 1;1.5 0;2 1 ;2.5 1;3 0;3.5 0;4 0;4.5 1 ;5 1 ;5.5 0 ;6 1 ;6.5 1 ;7 0 ;7.5 0]; >> s=pulstran(t-0.25,d,'rectpuls',0.5);plot(t,s) ; >> axis([0 8 -0.5 1.5]); >> text(0.25,1.2,'0') ; text(0.75,1.2,'1') ; text(1.25,1.2,'1') ; text(1.75,1.2,'0') ; >> text(2.25,1.2,'1') ; text(2.75,1.2,'1') ; text(3.25,1.2,'0') ; text(3.75,1.2,'0') ; >> text(4.25,1.2,'0') ; text(4.75,1.2,'1') ; text(5.25,1.2,'1') ; text(5.75,1.2,'0') ; >> text(6.25,1.2,'1') ; text(6.75,1.2,'1') ; text(7.25,1.2,'0') ; text(7.75,1.2,'0') ; |
MATLAB
|
1 2 3 4 5 6 7 8 9 10 |
% I路信號
>> subplot(4,1,2); >> t=0:0.001:8; >> a=1/sqrt(2); >> d=[0 -a ;1 +a;2 -a;3 +a; 4 -a ;5 +a;6 -a;7 +a]; >> s=pulstran(t-0.5,d,'rectpuls');plot(t,s) ; >> axis([0 8 -2 2]); >> text(0.5,1.5,'-0.7') ; text(1.5,1.5,'+0.7') ;text(2.5,1.5,'-0.7') ;text(3.5,1.5,'+0.7'); >> text(4.5,1.5,'-0.7') ; text(5.5,1.5,'+0.7') ;text(6.5,1.5,'-0.7') ;text(7.5,1.5,'+0.7'); |
MATLAB
|
1 2 3 4 5 6 7 8 9 |
% Q路信號
>> subplot(4,1,3); >> t=0:0.001:8; >> d=[0 +a;1 -a;2 -a;3 +a; 4 +a;5 -a;6 -a;7 +a]; >> s=pulstran(t-0.5,d,'rectpuls');plot(t,s) ; >> axis([0 8 -2 2]); >> text(0.5,1.5,'+0.7') ; text(1.5,1.5,'-0.7') ; text(2.5,1.5,'-0.7') ; text(3.5,1.5,'+0.7') >> text(4.5,1.5,'+0.7') ; text(5.5,1.5,'-0.7') ; text(6.5,1.5,'-0.7') ; text(7.5,1.5,'+0.7') |
MATLAB
|
1 2 3 4 5 6 7 8 9 10 11 12 |
%QPSK調(diào)制信號
>> subplot(4,1,4); >> t=0:0.001:8; >> d1=[0 -a ;1 +a;2 -a;3 +a; 4 -a ;5 +a;6 -a;7 +a]; >> s1=pulstran(t-0.5,d1,'rectpuls').*cos(2*pi*5*t) ; >> d2=[0 +a;1 -a;2 -a;3 +a; 4 +a;5 -a;6 -a;7 +a]; >> s2=pulstran(t-0.5,d2,'rectpuls').*sin(2*pi*5*t); >> plot(t,s1-s2) ; >> axis([0 8 -2 2]); >> text(0.3,1.5,'3pi/4') ; text(1.3,1.5, '7pi/4') ; text(2.3,1.5,'5pi/4') ; text(3.3,1.5,'pi/4') ; >> text(4.3,1.5, '3pi/4') ; text(5.3,1.5, '7pi/4') ; text(6.3,1.5,'5pi/4') ; text(7.3,1.5,'pi/4') ; |
QPSK調(diào)制的星座圖
星座圖,就是說一個坐標(biāo),如高中的單位圓,橫坐標(biāo)是I,縱坐標(biāo)是Q,相應(yīng)于投影到I軸的,叫同相分量,同理投影到Q軸的叫正交分量。由于信號幅度有差別,那么就有可能落在單位圓之內(nèi)。具體地說,64QAM,符號有64個,等于2的6次方,因此每個符號需要6個二進制來代表才夠用。這64個符號就落在單位圓內(nèi),根據(jù)幅度和相位的不同 落的地方也不同。從其中一個點跳到另一個點,就意味著相位調(diào)制和幅度調(diào)制同時完成了。”
QPSK的映射關(guān)系可以隨意定嗎?


還以發(fā)送數(shù)據(jù)是11為例,接收數(shù)據(jù)誤判為10和00的概率要高于誤判為01的概率。11誤判為10錯了1個比特,但11誤判為00卻錯了2個比特。
綜上所述,在相同的信道條件下,采用00π/4、013π/4、105π/4、117π/4映射關(guān)系的QPSK調(diào)制的誤比特率要高于采用00π/4、013π/4、115π/4、107π/4映射關(guān)系。
象00、01、11、10這樣,相鄰的兩個碼之間只有1位數(shù)字不同的編碼叫做格雷碼。QPSK調(diào)制中使用的就是格雷碼。
| 十進制數(shù) | 自然二進制數(shù) | 格雷碼 |
|---|---|---|
| 0 | 0000 | 0000 |
| 1 | 0001 | 0001 |
| 2 | 0010 | 0011 |
| 3 | 0011 | 0010 |
| 4 | 0100 | 0110 |
| 5 | 0101 | 0111 |
| 6 | 0110 | 0101 |
| 7 | 0111 | 0100 |
| 8 | 1000 | 1100 |
| 9 | 1001 | 1101 |
| 10 | 1010 | 1111 |
| 11 | 1011 | 1110 |
| 12 | 1100 | 1010 |
| 13 | 1101 | 1011 |
| 14 | 1110 | 1001 |
| 15 | 1111 | 1000 |
如何使用IQ調(diào)制實現(xiàn)8PSK?


如何使用IQ調(diào)制實現(xiàn)16QAM?



注:前面講的PSK調(diào)制(QPSK、8PSK),星座圖中的點都位于單位圓上,模相同(都為1),只有相位不同。而QAM調(diào)制星座圖中的點不再位于單位圓上,而是分布在復(fù)平面的一定范圍內(nèi),各點如果模相同,則相位必不相同,如果相位相同則模必不相同。星座圖中點的分布是有講究的,不同的分布和映射關(guān)系對應(yīng)的調(diào)制方案的誤碼性能是不一樣的,這里不再展開去講。

利用IQ調(diào)制實現(xiàn)BPSK調(diào)制

審核編輯 :李倩
-
調(diào)制
+關(guān)注
關(guān)注
0文章
166瀏覽量
30547 -
二進制
+關(guān)注
關(guān)注
2文章
809瀏覽量
42896 -
無線通信
+關(guān)注
關(guān)注
58文章
4940瀏覽量
146647
發(fā)布評論請先 登錄
基于MATLAB實現(xiàn)FM調(diào)制解調(diào)
使用SOA進行光相位調(diào)制
信號發(fā)生器AM調(diào)制信號分析
無線通信中的IQ調(diào)制,BPSK調(diào)制,QPSK調(diào)制,16QAM調(diào)制的理解
評論