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等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476777.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

突发!图森未来CEO侯晓迪被罢免,公司疑遭SEC、FBI联手调查,市值一夜砍半

编辑 | 泽南、小舟来源 | 机器之心侯晓迪:我被「无故撤职」了。自动驾驶领域又有大事发生。著名自动驾驶卡车公司图森未来(TuSimple, TSP)10 月 31 日突然表示,已将首席执行官兼联合创始人侯晓迪解雇,该决定立即生效。…

异常处理的最佳习惯

一个被良好设计的错误处理代码块集可以让程序更健壮并且面临更少的崩溃机会,因为这样的应用程序对错误进行了处理。下面的列表包含了异常处理最佳习惯中的建议:知道什么时候要设立 try/catch 块。例如,你可以通过编程来检查可能发生在使用异常…

LeetCode 299. 猜数字游戏

1. 题目 你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜。 每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为“Bulls”, 公牛)&#xff0…

手机内部零件名称图解_旧手机回收后都干嘛了?

以下为正文有问题不懂?有事情不知道?疑难问题需要求解?快来汉中艾特闹APP提问贴心小编和60万汉中艾特闹粉丝为你解答‍汉中艾特闹APP【有问必答】栏目已上线新一期网友提问来了↓↓↓网友提问旧手机回收后都干嘛了?对此问题&#…

AI取代人类,可以自动生成prompt了

文 | 智商掉了一地如何才能让大型语言模型按照我们的要求去做?这篇文章给出了回答——近期在 NLP 领域风很大的话题莫过于 Prompt,尤其当大型语言模型(LLM)与其结合,更是拉近了我们与应用领域之间的距离,当…

Atmospheric Scattering

以前由于硬件限制,很多游戏的天空和地面颜色主要是用贴图模拟,近来硬件的发展,越来越多的游戏开始采用基于比较真实的大气散射模型来实时计算。很多文章的计算最终都将眼睛高度和角度作为参数,这里主要按照Sean O’Neil系列的方法…

程序员面试金典 - 面试题 10.11. 峰与谷(排序/不排序)

1. 题目 在一个整数数组中,“峰”是大于或等于相邻整数的元素,相应地,“谷”是小于或等于相邻整数的元素。 例如,在数组{5, 8, 2, 6, 3, 4, 3}中,{8, 6}是峰, {3, 2}是谷。 现在给定一个整数数组&#xf…

计算机视觉自学进阶路上不可忽略的几个原创公众号

人工智能行业目前已接近饱和状态,如何从内卷中脱颖而出,除了极强的自律之外,系统性的学习方法也很重要。今天给大家推荐10个原创公众号,这些公众号定期会发些高质量原创,希望可以让你更高效的学习。深度学习与图网络最…

python列表功能默写_初识 Python 作业及默写

1、简述变量量命名规范 2、name input(“>>>”) name变量是什么数据类型? 3.if条件语句的基本结构? 4.用print打印出下面内容: 文能提笔安天下, 武能上马定乾坤. 心存谋略何人胜, 古今英雄唯是君. 5.利用if语句写出猜⼤小的游戏: 设定一个理想数字比如:66&#xff…

关于淘宝的无耻!

前两天在TAOBAO上以个人名义买了两个CN域名,买了之后才知道个人是无权购买CN域名的,这也就是说个人够买的CN域名是没有任何保障的!在购买前,买家没有给出提醒,很明显,买家存在欺诈行为,所以我向TAOBAO发起投诉.下面是投诉处理结果:据淘宝游戏频道免责声明,如买家通过…

整顿职场,从 ROC 曲线开始

文 | 天于刀刀大家好,我是刀刀。这周有个哥们在组会上被领导刁难了一波,来群里吐槽,最后意外地在大神的指导下又复习了一下 precision recall rate (PRR) 和 ROC 曲线的知识点:后面聊天的画风就彻底转向吐槽…

数据结构--树状数组

文章目录1. 树状数组2. 单点修改3. 区间修改4. 完整代码5. 参考文献1. 树状数组 类似数据结构:线段树(Segment Tree) 树状数组 跟 线段树 的区别: 树状数组能做的事情,线段树都能做!(线段树功…

python异常数据处理_Python爬虫提高之异常处理

Python爬虫框架之异常处理 任何访问服务器获取数据的请求,都需要做异常处理,当然爬虫更需要我们对各种异常进行处理。只有这样才能提高爬虫的健壮性。如果我们的爬虫足够健壮,那么就能确保程序几个月不停止。 我们从以下几个方面做出讲解&…

BERT部署加速622%,YOLOv7部署加速590%,这款开源压缩神器火了!

导读 众所周知,计算机视觉技术(CV)是企业人工智能应用比重最高的领域之一。为降低企业成本,工程师们一直在探索各类模型压缩技术,来产出“更准、更小、更快”的AI模型部署落地。而在自然语言处理领域(NLP&…

程序员面试金典 - 面试题 10.10. 数字流的秩(map/树状数组)

文章目录1. 题目2. 解题2.1 map2.2 树状数组1. 题目 假设你正在读取一串整数。每隔一段时间,你希望能找出数字 x 的秩(小于或等于 x 的值的个数)。 请实现数据结构和算法来支持这些操作,也就是说: 实现 track(int x) 方法,每读入…

python常用函数的用法_python中常用函数整理

1、map map是python内置的高阶函数,它接收一个函数和一个列表,函数依次作用在列表的每个元素上,返回一个可迭代map对象。 class map(object):""" map(func, *iterables) --> map objectMake an iterator that computes the…

.NET中得到计算机硬件信息

VB.NET中得到计算机硬件信息 本文汇集了在.net中得到计算机硬件信息的一些功能。 得到显示器分辨率 Dim X As Short System.http://dev.21tx.com/os/windows/" target"_blank">Windows.Forms.Screen.PrimaryScreen.Bounds.Width Dim Y As Short System.…

diffusion新高度!可一次性生成200张图??

文 | Pine 明敏(凹非寺)源 | 量子位给AI一个提示词,一次性出200张图!生成速度嗖嗖的,不到3分钟全搞定。喜欢哪张任君挑选,还能直接二次调整编辑。咱就是说,这回用AI画画,终于不废人了…

转正

三个月的时间悄悄的溜走这也是我走出学校之前与社会的一段磨合期感觉自己是幸运的因为在我身边总是可以遇到很多很好的朋友一起陪伴着走过风风雨雨或许生活是残酷的或许我们总是会遇到这样那样不如意的事情但是只要我们勇敢的去面对雨后的天空总会有绚丽的彩虹不要埋怨命运因为…

程序员面试金典 - 面试题 17.09. 第 k 个数(set优先队列/DP)

1. 题目 有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。 注意,不是必须有这些素因子,而是必须不包含其他的素因子。 例如,前几个数按顺序应该是 1,3,5,7&…