bpsk调制及解调实验_无线通信中的IQ调制,BPSK调制,QPSK调制,16QAM调制的理解...

欢迎FPGA工程师加入官方微信技术群

点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群

12216a92f46a56c00256a5b89249c7c5.png

先从IQ调制说起:

IQ调制:96866bc5acf428ae734408184de33b5d.pngedf3da35f733606825c33f7dead33ad8.pngIQ解调原理:dfd8de1c108057403b70e8577ccb3f71.pngb4ccc9e9920750acf8b345d0c0371cc3.png490bff7c267db60e8090927f82eb006c.pngLinux下使用GNU Octave运行下面的代码:

MATLAB

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调制和解调的原理,下来我们看一下如何应用IQ调制来实现MPSK调制(QPSK、8PSK等)、MQAM调制(16QAM、64QAM等)。
先来了解一下BPSK(Binary Phase Shift Keying,二相相移键控)8518bacc9a55913a37d6a28b8b0b5f6e.png846dbfdf49d3cb8603501923ba9d9df0.png如何用IQ调制实现QPSK调制?478af97744d69c33e92deeb43427e198.png28d52b5ee8e886f58bcdecfda2d86e63.pngd31e22a9b37a5928433c4f557e4e1301.png2bfc998247d920cecb9bff36c0c14415.png284ea083760980b3ab9eccaba4cf56eb.pngLinux下使用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调制信号

>> 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调制的星座图ee6f8fcd494a27616012ecc79ed08012.png
星座图,就是说一个坐标,如高中的单位圆,横坐标是I,纵坐标是Q,相应于投影到I轴的,叫同相分量,同理投影到Q轴的叫正交分量。由于信号幅度有差别,那么就有可能落在单位圆之内。具体地说,64QAM,符号有64个,等于2的6次方,因此每个符号需要6个二进制来代表才够用。这64个符号就落在单位圆内,根据幅度和相位的不同 落的地方也不同。从其中一个点跳到另一个点,就意味着相位调制和幅度调制同时完成了。”c8cb19e68462860837621176eade3d00.pngQPSK的映射关系可以随意定吗?07db7d68e5fa786dc3576c616ee90653.png057b369fc3137ca10168e0f86fcbe2af.png

19f81735cc9ec1210924ce706c762bcc.png

还以发送数据是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调制中使用的就是格雷码。

十进制数自然二进制数格雷码
000000000
100010001
200100011
300110010
401000110
501010111
601100101
701110100
810001100
910011101
1010101111
1110111110
1211001010
1311011011
1411101001
1511111000

如何使用IQ调制实现8PSK?443e5764d66a4a23c639800fb3274a98.png98d21ec1e54d45e76b87e1241fb9b40c.pngc66e4016ffe4f4d659e070f1d418ea0d.png如何使用IQ调制实现16QAM?c90832ccccc94eebbc5070bd6234ba60.pngf5013bc48caaf1b229d3d2ef3564b170.png2938c51f1a5d2e79ac355f2a7f920f43.png1504bd2a4cd424e67a08a42b9357f467.png
注:前面讲的PSK调制(QPSK、8PSK),星座图中的点都位于单位圆上,模相同(都为1),只有相位不同。而QAM调制星座图中的点不再位于单位圆上,而是分布在复平面的一定范围内,各点如果模相同,则相位必不相同,如果相位相同则模必不相同。星座图中点的分布是有讲究的,不同的分布和映射关系对应的调制方案的误码性能是不一样的,这里不再展开去讲。

72ea39c897b5d5fd6d21e5f748d654de.gif

利用IQ调制实现BPSK调制cc97db704326525474f411306b8e25bd.pngf69a205443954d9641edebe9ccac0abd.png

71872da85c9dcb8b1ea3fe9ed3f9354f.png

欢迎FPGA工程和嵌入式等工程师关注公众号

a1897712a4d3ff4753aeda275e6c3e21.png

全国第一大FPGA微信技术群

欢迎大家加入全国FPGA微信技术群,这个群体拥有数万工程师、一群热爱技术的工程师,这里的FPGA工程师相互帮助,相互分享,技术氛围浓厚!赶紧叫上小伙伴一起加入吧!

0b3acc976fae0383a8475c8c0fbbcffc.png

用手指按住就可以加入FPGA全国技术群哦

FPGA之家元器件芯城

优势元器件服务,有需求请扫码联系群主:金娟 邮箱:293580331@qq.com 欢迎推荐给采购

ACTEL、AD部分优势订货(经营全系列):

0fba8ac30cc9242222c832186f4d342a.png

XILINX、ALTERA优势现货或订货(经营全系列):

6edfadea0d7bb2c33baffbbf6d882d9e.png

(以上器件为部分型号,更多型号请咨询群主金娟)

服务理念:FPGA之家元器件自营芯城,旨在方便工程师快速方便购买器件服务,经过数年竭诚服务,我们的客服遍布国内大型上市公司、军工科研单位、中小企业、最大的优势是强调服务至上的理念、并且做到快速交货、价格优惠!

直营品牌:Xilinx ALTERA ADI TI NXP ST E2V、镁光 等百余元器件品牌,尤其擅长欧美对华禁运器件,欢迎工程师朋友把我们推荐给采购或者亲自咨询我们!我们将一如既往提供业内最佳服务!

502c0db5eb22b207f83fdaf7b1a81ddd.png

FPGA技术群官方鸣谢品牌:Xilinx、 intel(Altera)、microsemi(,Actel)、LattIC e,Vantis,Quicklogic,Lucent等

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值