关于通信协议:MPSK通信系统的设计与性能研究QPSK

文章和代码曾经归档至【Github仓库:communication-system-simulation】或者公众号【AIShareLab】回复 通信零碎仿真 也可获取。一、QPSK背景略 二、原理概述2.1 PSK调制发送端发送的是一连串离散而随机的二进制比特流,应用PSK载波相位调制的办法,这样发送端发送的音讯便蕴含在了相位中,此种调制办法能够非常无效地节约带宽。 $$u_{m}(t)=A g_{T}(t) \cos (2 \pi f_{c} t+\frac{2 \pi m}{M}), m=0,1, \ldots, M-1$$ 其中, $g_{T}(t)$ 是发送滤波器的脉冲形态, 传输信号的频谱个性由它决定。A则是信号 的幅度。在 psk 调制中, 所有的 psk 信号对于所有的 $\mathrm{m}$ 都具备雷同的能量。能量为: $$\varepsilon_{m}=\int_{-\infty}^{+\infty} u_{m}^{2}(t) d t=\varepsilon_{s}$$ $ \varepsilon_{s}$ 代表每个传输符号的能量。在本次试验中, 为了不便剖析, 咱们令 $\mathrm{A}=1$, $g_{T}(t)=\sqrt{\frac{2 \varepsilon_{s}}{T}}, 0 \leq t \leq T$ , 那么, 相应的 $\mathrm{psk}$ 调制信号的波形为 $$\begin{array}{c}u_{m}(t)=\sqrt{\frac{2 \varepsilon_{s}}{T}} \cos (2 \pi f_{c} t+\frac{2 \pi m}{M})=\sqrt{\frac{2 \varepsilon_{s}}{T}}(A_{m c} \cos 2 \pi f_{c} t-A_{m s} \cos 2 \pi f_{c} t), \\m=0,1, \ldots, M-1,0 \leq t \leq T\end{array}$$ ...

March 28, 2023 · 4 min · jiezi

对前后端通信的基本了解如何通信跨域

1、什么是浏览器的同源政策限制?端口,域名,协议 ,只要一个不一样就跨域2、前后端如何通信?常见通信的几种方式 Ajax : 短连接Websocket : 长连接,双向的。CORS fetch()Form表单(最原始的)Ajax是如何通信的 基本通信原理:浏览器可以发出HTTP请求与接收HTTP响应,实现在页面不刷新的情况下和服务端进行数据交互。实现过程:1) 创建XMLHttpRequest对象(异步调用对象)var xhr = new XMLHttpRequest();2) 创建新的Http请求(方法、URL、是否异步)xhr.open(‘get’,’example.php’,false);3) 设置响应HTTP请求状态变化的函数。onreadystatechange事件中readyState属性等于4。响应的HTTP状态为status==200(OK)或者304(Not Modified)。4) 发送http请求xhr.send(data);5) 获取异步调用返回的数据优点:提高用户体验,较少网络数据的传输量Fome表单是如何通信 基本通信原理:通过form表单以post/get方式提交数据。实现过程:当你点击submit按钮时,浏览器会默认把你在input里面输入的数据,以post或get的方式提交到form表单中的action这个地址。相当于你提交表单时,就会向服务器发送一个请求,然后服务器会接受并处理提交过来的form表单,最后返回一个新的网页。缺点:1、单项提交,页面会发生跳转或刷新,导致用户体验不好3、浪费宽带。改用ajax。了解Websocket 建立在TCP协议之上,与HTTP协议有着良好的兼容性3、跨域通信有几种?引JSONPHash(url#后面的,改变页面不刷新)postMessage(H5中新增的)WebSocketCORS介绍以下最常用的JSONP 1.JSONP原理利用<script元素的这个开放策略,网页可以得到从其他来源动态产生的 JSON 数据。JSONP请求一定需要对方的服务器做支持才可以。2.JSONP和AJAX对比JSONP和AJAX相同,都是客户端向服务器端发送请求,从服务器端获取数据的方式。但AJAX属于同源策略,JSONP属于非同源策略(跨域请求)3.JSONP优缺点JSONP优点是兼容性好,可用于解决主流浏览器的跨域数据访问的问题。缺点是仅支持get方法具有局限性4、GET与post区别?POST与GET的区别1、GET请求会被浏览器主动缓存,而POST不会2、GET请求参数会被完整保留在浏览器历史记录里,而POST中参数不会被保留3、GET请求在URL中传送的参数是有长度限制的,而POST没有限制4、GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息本质上都建立在TCP链接上

July 3, 2019 · 1 min · jiezi

WebSocket入门

WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。现在,很多网站为了实现推送技术,所用的技术都是 Ajax 轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。HTML5 定义的 WebSocket 协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。当你获取 Web Socket 连接后,你可以通过 send() 方法来向服务器发送数据,并通过 onmessage 事件来接收服务器返回的数据。DEMO如下// client side filelet socket = new WebSocket(‘ws://localhost:9999’);// 当连接成功执行回调函数socket.onopen = function () { console.log(‘客户端连接成功’); // 向服务器发送一个消息 socket.send(‘这是客户端发给服务器的消息’);}// 绑定事件是用加属性的方式socket.onmessage = function (res) { console.log(‘收到服务器端的响应是’, res);}// server side file/* npm i ws -S // 用ws模块启动一个websocket服务器,监听 9999 端口 /let WebSocketServer = require(‘ws’).Server; let wsServer = new WebSocketServer({port: 9999});wsServer.on(‘connection’, socket=>{ console.log(‘服务器连接成功’); socket.on(‘message’, msg=>{ console.log(‘从客户端接收到的信息为’+msg); socket.send(‘这是从服务器发送到客服端的信息’); })})简单模拟智能客服聊天<template> <div class=“wrap”> <ul> <li v-for="(item, index) in dialogs" :key=“index”> <p :class=“item.self ? ‘fr’: ‘fl’">{{item.sendContent || item.acceptContent}}</p> </li> </ul> <div class=“send-cont”> <input v-model=“sendCont”> <input type=“button” @click=“send” value=“发送”> </div> </div></template><script>let socket = new WebSocket(“ws://localhost:9999”);export default { data() { return { dialogs: [], sendCont: “”, isConnect: false }; }, mounted() { socket.onopen = () => { this.isConnect = true; }; }, methods: { send() { if (this.isConnect) { console.log(“客户端连接成功”); // 向服务器发送一个消息 socket.send(this.sendCont); this.dialogs.push({ sendContent: this.sendCont, self: true }); // 绑定事件是用加属性的方式 socket.onmessage = res => { setTimeout(() => { this.dialogs.push({ acceptContent: res.data }); }, Math.random() * 2000); }; } } }};</script><style scoped> { padding: 0; margin: 0;}.fl { float: left;}.fr { float: right;}li::before { content: “.”; display: block; height: 0; clear: both; visibility: hidden;}.wrap { position: relative; width: 380px; margin: auto; height: 600px; background-color: #eee; padding: 10px;}.wrap ul { overflow: auto; height: 550px;}li { list-style: none; margin: 2px;}li:nth-child(even) p { background-color: rgb(86, 107, 177);}li p { font-size: 20px; font-family: “Microsoft Yahei”, serif, Arial, Helvetica, sans-serif; border-radius: 6px; padding: 4px; margin: 2px 4px; white-space: wrap; text-align: left;}li p.fr { background-color: rgb(61, 185, 30);}.send-cont { position: absolute; bottom: 10px; z-index: 999; width: 98%; margin: auto;}.send-cont input { display: inline-block; outline: none; border: 2px solid #080; border-radius: 6px; line-height: 30px; font-size: 16px; text-align: left;}.send-cont input:first-child { width: 70%;}.send-cont input[type=“button”] { width: 20%; background-color: #080; color: #fff; text-align: center; padding: 1px;}</style>const contents = [‘你好’, ‘hi’, ‘hello’, ’nice to meet you’, ‘how are you’, ‘how do you do’]let WebSocketServer = require(‘ws’).Server; let wsServer = new WebSocketServer({port: 9999});wsServer.on(‘connection’, socket=>{ console.log(‘服务器连接成功’); socket.on(‘message’, msg=>{ console.log(‘从客户端接收到的信息为’+msg); socket.send(contents[parseInt(Math.random()*contents.length)]); })}) ...

March 30, 2019 · 2 min · jiezi

通信协议简介

通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。ISO/OSI七层模型ISO是国际标准化领域中一个十分重要的全球性的非政府组织,于1985年定义了OSI网络互联模型,包含应用层(Application)、表示层(Presentation)、会话层(Session)、传输层(Transport)、网络层(Network)、数据链路层(Data Link)、物理层(Physical)。TCP/IP四层模型TCP/IP四层体系结构包含应用层、传输层、网际层和网络接口层。五层体系结构五层模型是OSI和TCP/IP模型的综合,包含应用层、运输层、网络层、数据链路层和物理层。三种模型关系如下OSI七层模型五层协议结构TCP/IP四层模型对应协议应用层(Application) 表示层(Presentation) 会话层(Session)应用层(Application)应用层(Application)HTTP、FTP、SMTP传输层(Transport)传输层(Transport)传输层(Transport)TCP、UDP网络层(Network)网络层网际层IP、ICMP数据链路层(Data Link)数据链路层 PPP物理层(Physical)物理层网络接口层IEEE 802.1A各层的作用物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。 数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问。这一层通常还提供错误检测和纠正,以确保数据的可靠传输。 网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。 运输层:定义了一些传输数据的协议和端口号(WWW端口80等),如: TCP(transmission control protocol –传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据) UDP(user datagram protocol–用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层数据叫做段。 会话层:通过运输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名) 表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。 应用层:是最靠近用户的OSI层。这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。

January 7, 2019 · 1 min · jiezi

我的1岁源源被开水烫伤了,我的眼泪哗的一下子就掉下来了!

我的1岁源源被开水烫伤了,我的眼泪哗的一下子就掉下来了!社会各界爱心人士:拥有健康和快乐是我们每个人的梦想。当我们和朋友高歌、放声欢笑的时候;当我们和家人团聚、共享天伦的时候;当我们努力工作,畅想人生理想的时候;当我们拿着大学录取通知书,兴奋步入大学校园时;你们可否知道我家一岁的源源,幼小的孩子正遭受着烫伤的折磨与痛苦。突如其来的噩耗给原本就困难的家庭带来了巨大的灾难。我先自我介绍一下,我叫杨辉,今年27岁,老婆去年生了源源,老家是河南省镇平县龙江镇龙嘉村15号。和老婆在广东打工,打工地址:广东省惠州市博罗县观音阁镇新彭管理区50号。一场突如其来的厄运却降临在我一岁多的儿子源源头上。2018年10月1日早上9点左右,我一岁源源玩耍时把暧壶拌倒了,暖壶的开水直接烫在源源身上了,全身大面积被烫红、被烫的起了很多的水泡。我看到之后眼泪就哗的一下子就流了下来,我跟我老婆紧急送往惠州市中心医院,医生说很严重,必须马上转到广州南方医院,到了广州南方医院直接进了重症监护室,医生说治疗费用估计要50万(不包括后续的康复费用),我失声痛哭,我可怜的孩子,那么小竟然不小心被烫伤了,我想救他。可是,我们不想放弃,我不想失去我可爱的儿子源源,为了给源源治病,家里已经负债累累,以我家的经济状况已无法承担50多万元的费用。但是作为父母怎么忍心看着可爱的源源就这样走向死亡而不去医治呢?为了让源源早日康复,父母每日每夜都在四处奔波、多方筹款。生命诚可贵,面对如此不幸,我们怎能不闻不问、听之任之?病魔可以夺去生命的健康,但却不能夺去人间的真情。俗话说,一人向隅,举桌不欢;授人玫瑰,手有余香。中华民族素有济贫扶危的传统美德,一方有难,八方支援。我相信,社会主义大家庭有情有爱、有关怀有帮助!有了大家的帮助和支持,源源一定可以度过难关!在此,我强烈呼吁:请大家伸出援助之手,献出一份爱心,帮助源源战胜病魔!也许一个人的捐款不多,但涓涓细水可以汇成大海,这些积少成多的爱心,就能换回源源同您一样阳光的笑容,换回源源同您一样健康的身体,让源源同您一样接受未来生命中的挑战和收获。相信您一定会伸出同情、友爱的手,扶一把躺在病床上的源源。因为源源需要您、需要我、需要我们大家伸起双臂,让我们立刻行动起来,用我们的爱、我们的心,去点亮一盏希望的灯。我的威信:successful702里面有孩子烫伤的照片。

December 23, 2018 · 1 min · jiezi