QPSK调制解调原理(IQ调制)
作者:云外阳光
链接:https://www.zhihu.com/question/23107539/answer/72521819
参考 https://zhuanlan.zhihu.com/p/438504186
参考 https://zhuanlan.zhihu.com/p/385096476
IQ调制:
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201541-78983338.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201491-606022215.webp)
IQ解调原理:
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201566-666966465.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201473-1852205473.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225203699-1616482330.webp)
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调制和解调的原理,下来我们看一下如何应用IQ调制来实现MPSK调制(QPSK、8PSK等)、MQAM调制(16QAM、64QAM等)。
先来了解一下BPSK(Binary
Phase Shift Keying,二相相移键控)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201535-1599946013.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201573-264125439.webp)
如何用IQ调制实现QPSK调制?
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201538-1205027731.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201587-1042284158.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201538-1788792133.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201468-1104312579.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201576-1044230123.webp)
%输入信号
>>
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') ;
% 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');
% 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')
%QPSK调制信号
>> 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,'3\pi/4') ;
text(1.3,1.5, '7\pi/4') ; text(2.3,1.5,'5\pi/4') ; text(3.3,1.5,'\pi/4') ;
>> text(4.3,1.5, '3\pi/4') ; text(5.3,1.5, '7\pi/4') ;
text(6.3,1.5,'5\pi/4') ; text(7.3,1.5,'\pi/4') ;
QPSK调制的星座图
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201566-1913030690.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201479-708058021.webp)
QPSK的映射关系可以随意定吗?
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201556-784779824.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201521-389019623.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201538-782990426.webp)
还以发送数据是11为例,接收数据误判为10和00的概率要高于误判为01的概率。11误判为10错了1个比特,但11误判为00却错了2个比特。
综上所述,在相同的信道条件下,采用00↔π/4、01↔3π/4、10↔5π/4、11↔7π/4映射关系的QPSK调制的误比特率要高于采用00↔π/4、01↔3π/4、11↔5π/4、10↔7π/4映射关系。
象00、01、11、10这样,相邻的两个码之间只有1位数字不同的编码叫做格雷码。QPSK调制中使用的就是格雷码。
十进制数
自然二进制数
格雷码
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调制实现8PSK?
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201537-1009548422.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201793-1017186402.png)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201573-677716598.webp)
如何使用IQ调制实现16QAM?
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201494-218952091.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201491-1121941825.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201601-1917653758.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201493-791963647.webp)
注:前面讲的PSK调制(QPSK、8PSK),星座图中的点都位于单位圆上,模相同(都为1),只有相位不同。而QAM调制星座图中的点不再位于单位圆上,而是分布在复平面的一定范围内,各点如果模相同,则相位必不相同,如果相位相同则模必不相同。星座图中点的分布是有讲究的,不同的分布和映射关系对应的调制方案的误码性能是不一样的,这里不再展开去讲。
利用IQ调制实现BPSK调制
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201537-2088324161.webp)
![](/i/l/?n=22&i=blog/825468/202211/825468-20221123225201560-123932489.png)
参考文献:(感谢前辈们)
http://blog.163.com/shadow_hier/blog/static/4051874220095873614689/
[原创连载]深入浅出通信原理(11月1日连载562:信息传输之基本概念)
============ End
标签:QPSK,1.2,1.5,IQ,text,0.7,pi,调制 From: https://www.cnblogs.com/lsgxeva/p/16920472.html