python
如何用python绘制通信的星座图?
一、如何用python绘制通信的星座图?
如果你有点通信背景知识,星座图其实就是将二进制bit 调制为IQ符号,以便提高信道得传输效率。
只要思路正确,其实用什么语言实现都很简单。
_16QAM ={"00" : 0.4472,
"01" : 1.3416,
"10" :-0.4472,
"11" :-1.3416}
sendbit = "10101110101011100110101110101010101"
send_I = [-0.4472,-1.3416 .. . ..]
send_Q = [-0.4472, 1.3416 .. . ..]
上图红线为能量,(QPSK简单起见,选了1为边,所以平均能量为2,当然你也可以选择归一化能量为1,边就是0.707),这里选的是归一化能量为2,后面才会有0.4472,1.3416这些值,这个只要你保证归一化能量一致就可以。
QPSK: 能量为(1^2 + 1^2)/1 = 2
16QAM:((0.4472^2+0.4472^2) + (0.4472^2+1.3416^2) *2 +(1.3416^2+1.3416^2))/4=2
绘图有现成得matplotlib,具体用法网上有把得使用说明。
还有numpy 不得不提,处理矩阵非常方便,用起来和Matlab一样方便。
如果你想写的专业通用有点,就需要包含定点化,面相对象封装。
class QAM(object):
# Uplink : BPSK 4PAM 8PAM
# Downlink : QPSK 16QAM 64QAM
_QPSK ={"0" : 1 ,
"1" :-1 }
_16QAM ={"00" : 0.4472,
"01" : 1.3416,
"10" :-0.4472,
"11" :-1.3416}
_64QAM ={"000": 0.6547,
"001": 0.2182,
"010": 1.0911,
"011": 1.5275,
"100":-0.6547,
"101":-0.2182,
"110":-1.0911,
"111":-1.5275}
_sum = {"QPSK":[_QPSK ,1,1],
"BPSK":[_QPSK ,1,0],
"16QAM":[_16QAM,2,1],
"4PAM" :[_16QAM,2,0],
"64QAM":[_64QAM,3,1],
"8PAM" :[_64QAM,3,0]}
def __init__(self,name="qpsk",quantizer=Quantizer(10,1,1)):
self.name = name
self.qt = quantizer
self.map = QAM._sum[self.name.upper()][0]
self.nbit = QAM._sum[self.name.upper()][1]
self.is_dl= QAM._sum[self.name.upper()][2]
这是一个通用得QAM 调制类,其他代码就太长不贴了。最后贴一张matplotlib画的星座图。
分别是信源扩频+调制,加扰,解扰,解扩后的星座图
注!:很多能量归一化都没有做,只是一个简单的示意,跟实际的通信处理节点还是有差别的。
二、python网络通信难吗?
具体看个人所掌握的知识以及其运用灵活度。如果你的python基础比较好,那么网络通信你就不觉得难,反之,你会觉得很难!
三、python网络通信的优点?
1. 简单 Python的语法非常优雅,甚至没有像其他语言的大括号,分号等特殊符号,代表了一种极简主义的设计思想。阅读Python程序像是在读英语。
2. 易学 Python入手非常快,学习曲线非常低,可以直接通过命令行交互环境来学习Python编程。
3. 免费/开源 Python的所有内容都是免费开源的,这意味着你不需要花一分钱就可以免费使用Python,并且你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。
4. 自动内存管理 如果你了解C语言、C++语言你就会知道内存管理给你带来很大麻烦,程序非常容易出现内存方面的漏洞。但是在Python中内存管理是自动完成的,你可以专注于程序本身。
5. 可以移植 由于Python是开源的,它已经被移植到了大多数平台下面,例如:Windows、MacOS、Linux、Andorid、iOS等等。
6. 解释性 大多数计算机编程语言都是编译型的,在运行之前需要将源码编译为操作系统可以执行的二进制格式(0110格式的),这样大型项目编译过程非常消耗时间,而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。
7. 面向对象 Python既支持面向过程,又支持面向对象,这样编程就更加灵活。
8. 可扩展 Python除了使用Python本身编写外,还可以混合使用像C语言、Java语言等编写。
9. 丰富的第三方库 Python具有本身有丰富而且强大的库,而且由于Python的开源特性,第三方库也非常多,例如:在web开发、爬虫、科学计算等等
四、通信智能化管道 书籍
通信智能化管道是指通过高度智能化的网络系统,实现数据传输、信息交流和资源共享的过程。随着信息技术的快速发展,通信智能化管道在各个行业得到越来越广泛的应用。
通信智能化管道的发展历程
在过去的几十年里,通信智能化管道经历了快速发展和演变。从最初的电话线到如今的高速光纤网络,通信技术的进步使得信息传输变得更加迅速和便捷。
与此同时,随着物联网、云计算等技术的兴起,通信智能化管道的概念也不断被拓展和深化。现在,人们可以通过智能手机、智能家居等设备实现实时通讯和数据交换,这为生活和工作带来了巨大的便利和效率提升。
通信智能化管道在书籍行业的应用
随着数字阅读的普及,通信智能化管道在书籍行业的应用也逐渐增多。人们可以通过电子书、在线阅读等方式获取和阅读图书,实现了阅读体验的数字化和个性化。
通过通信智能化管道,出版商可以更加精准地了解读者的阅读习惯和需求,从而推出更加符合市场需求的图书作品。读者也可以通过社交媒体等平台分享阅读体验,扩大图书的影响力和传播范围。
结语
通信智能化管道的发展不仅改变了我们的生活方式和工作方式,也为各行业带来了更多的机遇和挑战。在未来,随着技术的不断创新和进步,通信智能化管道将在更多领域展现出其强大的潜力和价值。
五、通信工程要学python吗?
要的。python很简单的,用点心就行
六、通信管道与其他管道安全距离?
、通信线路杆(塔)的间距不应小于杆塔高度再加3m通信管道和电缆的安全间距是根据通信管道压力等级和室内外环境确定的。一般室外通信管道和电缆水平间距为0.5~1.5m,室内为5~625px。《城镇通信管道设计规范》GB50028 明确:
1、地下通信管道与电缆之间的垂直距离:直埋电缆0.5m/电缆在导管内为0.15m;
2、地下通信管道与直埋电缆之间的水平距离:低压、中压为0.5m/次高压B为1.0m/次高压A为1.5m;
3、地下通信管道与导管内电缆之间的水平距离:低压、中压/次高压B为1.0m/次高压A为1.5m。
七、通信直埋管道施工流程?
将管材置于机架卡瓦内,使两头伸出的长度相称。
管材机架之外的部分应有支撑物托起。使管材轴线与机架中心线处于统一高度,而后将卡瓦固定好。
置入铣刀,铣削管材。直到管材两头面均出现持续的切削后,撤掉压力。
,让铣刀空转两、三周后再退开运动架,封闭铣刀开关。
八、小区通信管道归谁维修?
小区通信管道应该由通信公司进行维修,任何人不得私自维修,如果维修不当造成问题,一经发现属于破坏行为,是要承担法律责任的,严重的是要判刑的,所以对于通信系统任何人不得动用,即使有问题由专业的技术人员进行维修,其他人不能维修。
九、通信管道包封做法?
答:管道包封简易作法是采用混凝土对管道层面进行保固。具体情况要根据管道埋设深度、表层压力要求、管道开挖宽度等采取相应处理,包括钢筋混凝土、分层全包封、和表层包封等。
包封做法图
十、通信管道是什么专业?
通信管道专业主要是研究信息管理以及信息系统分析、设计、实施、管理和评价等方面的基本理论和方法。通俗地讲,就是从信息中发掘财富。现代社会正是信息化社会,大量纷繁的信息如何管理,并且从中获得有效的信息,正是信息管理科学的研究重点。与计算机结合,使计算机作为工具,信息管理更加有效和实用。随着学科的建设,原来的图情档专业设立的信管专业的学科实力也逐步增强,在信息科学的冲击下完成了传统学科的现代转型。
热点信息
-
在Python中,要查看函数的用法,可以使用以下方法: 1. 使用内置函数help():在Python交互式环境中,可以直接输入help(函数名)来获取函数的帮助文档。例如,...
-
一、java 连接数据库 在当今信息时代,Java 是一种广泛应用的编程语言,尤其在与数据库进行交互的过程中发挥着重要作用。无论是在企业级应用开发还是...
-
一、idea连接mysql数据库 php connect_error) { die("连接失败: " . $conn->connect_error);}echo "成功连接到MySQL数据库!";// 关闭连接$conn->close();?> 二、idea连接mysql数据库连...
-
要在Python中安装modbus-tk库,您可以按照以下步骤进行操作: 1. 确保您已经安装了Python解释器。您可以从Python官方网站(https://www.python.org)下载和安装最新版本...