【无线通信】OQPSK

调制

sps = 8;
RolloffFactor = 0.2;
FilterSpanInSymbols = 10;bits = randi([0, 1], 224*8, 1); % 1792symbols = bits*2 - 1;   % 1792
re = -symbols(2:2:end); % 896
im = -symbols(1:2:end); % 896pFilterTx = comm.RaisedCosineTransmitFilter(...'Shape', 'Square root', ...'RolloffFactor', RolloffFactor, ...'FilterSpanInSymbols', FilterSpanInSymbols, ...'OutputSamplesPerSymbol', sps, ...'Gain', sqrt(sps/2));filtered   = pFilterTx([re im]);% 896 * sps = 3584
filteredRe = filtered(:, 1);
filteredIm = filtered(:, 2);% oqpskWaveform       = complex(filteredRe, filteredIm);
% oqpskWaveform       = complex(filteredRe, filteredAligned);
oqpskWaveform       = complex(...[filteredRe ; zeros(sps/2, 1)], ...[zeros(sps/2, 1) ; filteredIm]); %  3586 * 2 

查看TX的中间状态

% 绘制相位图
plot(unwrap(angle(oqpskWaveform)),'o-')
% 绘制IQ图
plot(1:length(oqpskWaveform),real(oqpskWaveform),1:length(oqpskWaveform),imag(oqpskWaveform))
% 频谱图
plot(abs(fftshift(fft(oqpskWaveform))))
% 星座图
scatterplot(oqpskWaveform);

信道

snr = 7;
rxWaveform = awgn(oqpskWaveform,snr);

解调

pFilterRx = comm.RaisedCosineReceiveFilter(...'Shape', 'Square root', ...'RolloffFactor', RolloffFactor, ...'FilterSpanInSymbols', FilterSpanInSymbols, ...'InputSamplesPerSymbol', sps, ...'DecimationFactor', sps, ...'DecimationOffset', sps/2, ...'Gain', sqrt(sps/2));alignedRx = complex(...[zeros(sps/2, 1); real(rxWaveform)], ...[imag(rxWaveform);zeros(sps/2, 1)]);  %  3588 * 2 filteredRx = pFilterRx(alignedRx); % 3588/4 = 897demodulatedRx = qamdemod(filteredRx, 4, [1 3 0 2]); %  897 
outputBits = int2bit(demodulatedRx, 2); % 1792

BER

delay = 2 * FilterSpanInSymbols; % 20
[~, ber] = biterr(bits(1:end-delay), outputBits(delay+1:end-2))

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Linux进程详解二:创建、状态、进程排队

文章目录 进程创建进程状态进程排队 进程创建 pid_t fork(void) 创建一个子进程成功将子进程的pid返回给父进程,0返回给新创建的子进程 fork之后有两个执行分支(父和子),fork之后代码共享 bash -> 父 -> 子 创建一个进…

这届年轻人,对AI对象上头

在AI技术飞速发展的今天,虚拟对象这一概念也流行了起来。从AI女友到AI男友,这些基于人工智能的AI社交应用正在改变我们对情感陪伴的认知。本文深入探讨了AI虚拟对象的兴起、用户需求、商业模式以及技术局限,不妨来看一下。 继2023年文生文大语…

dremio支持设置

Dremio 支持提供可用于诊断目的的设置。这些设置通过 Dremio UI:设置>支持启用(或禁用) 使用 Client Tools 可以配置当用户查看数据集中的数据时,Dremio 项目的工具栏上显示哪些客户端应用程序按钮。用户可以通过单击相应的工具…

多线程情况下IBMMQ报文丢失原因分析

背景 最近工作中,使用IBMMQ,重启服务时有偶发性的报文丢失情况,应用从队列中获取到了消息,但是线程停止没有处理。 分析 消息处理线程流程: 判断线程状态是否可用,如果不可用直接返回。使用MQQueue.get…

OpenHarmony开源鸿蒙NEXT星河版内核嵌入式编程

一、前景提要 2024年1月18日,华为放出HarmonyOS NEXT 鸿蒙星河版开发者预览版本(不是HarmonyOS NEXT版,是HarmonyOS NEXT星河版),首次提到用鸿蒙内核(暂命名)取代了Linux内核。 该内核源码还未放…

html网页在展示时,监听网络是否断网,如果断网页面暂停点击响应

序言: 集合百家之所长,方著此篇文章,废话少说,直接上代码,找好你的测试网页,进行配置,然后复制粘贴代码,就可以了。 1.css文件内容 #newbody{display: none;width: 100%;height: 9…

检索增强生成(RAG)技术

随着大型语言模型(LLMs)在自然语言处理(NLP)领域的显著进步,它们在多个评估基准测试中显示出超越人类水平的语言和知识掌握能力。然而,这些模型在实际应用中也面临着一系列挑战,如制造事实、知识…

茶饮门店本地生活抖音团购运营方案计划书

【干货资料持续更新,以防走丢】 茶饮门店本地生活抖音团购运营方案计划书 部分资料预览 资料部分是网络整理,仅供学习参考。 PPT可编辑80页(完整资料包含以下内容) 目录 抖音本地生活运营方案 1. 账号基础搭建与优化 - 门店账号…

第26天:安全开发-PHP应用模版引用Smarty渲染MVC模型数据联动RCE安全

第二十六天 一、PHP新闻显示-数据库操作读取显示 1.新闻列表 数据库创建新闻存储代码连接数据库读取页面进行自定义显示 二、PHP模版引用-自写模版&Smarty渲染 1.自写模版引用 页面显示样式编排显示数据插入页面引用模版调用触发 2.Smarty模版引用 1.下载&#xff1a…

Dijkstra算法,你的最短路来了!

录友们,最近我在图论方面已经开始更最短路系列了,讲好最短路问题,其实也是很难的,本篇我仅仅是讲了朴素版Dijkstra,但就写了将近1w字,画了二十张图。学算法易,讲清楚难! 题目链接 …

C语言(static和extern)

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

Midjourney是什么?Midjourney怎么用?怎么注册Midjourney账号?国内怎么使用Midjourney?多人合租Midjourney拼车

Midjourney是什么 OpenAI发布的ChatGPT4引领了聊天机器人的竞争浪潮,随后谷歌推出了自己的AI聊天机器人Bard,紧接着微软推出了Bing Chat,百度也推出了文心一言,这些聊天机器人的推出,标志着对话式AI技术已经达到了一个…

TCP相关问题总结

文章目录 TCP连接建立过程1. TCP三次握手2. TCP四次挥手3. TCP为什么是三次握手4. TCP为什么是四次挥手 TCP流量控制TCP拥塞控制1. 为什么需要拥塞控制2. 控制手段 TCP连接建立过程中出现丢包 TCP连接建立过程 1. TCP三次握手 首先client端发出连接请求,并且请求同…

RAG:智能图书馆员引领AI的知识之旅

想象一下,你是一个法官,面对一个复杂的案件,你需要查阅大量的法律文献来找到相关的案例和法律条文。在AI的世界里,也有一个类似的“法官”——大型语言模型(LLMs)。它们能够回答各种问题,但有时…

【大模型系列】预训练

数据 数据预处理 预处理流程: 原始语料库—>质量过滤(语种过滤、统计过滤、关键词过滤、分类器过滤)—>敏感内容过滤(有毒内容、隐私内容PII)—>数据去重(句子级别、文档级别、数据集级别&#…

文件读取和写入

1、with open 和 open close 的对比 with open 的优点 1、自动关闭文件:with 语句会在代码块执行完毕后自动关闭文件,无需显式调用 close() 方法。 2、异常安全:如果在代码块中发生异常,with 语句仍然会确保文件被正确关闭。 3、…

2024大连化工展|中国(大连)国际化工产业展览会

2024大连化工展|中国(大连)国际化工产业展览会 时间:2024年7月24-26日 地点:大连世界博览广场 大会主题:共谋新发展 共创新机遇 大连作为东北地区最具活力和发展潜力的城市,同时也是我国重要的化工产业基…

上网行为管理软件怎么选 三款好用的上网行为管理软件

上网行为管理软件怎么选 三款好用的上网行为管理软件 一款优秀的上网行为管理软件可以满足企业的多种需求,帮助企业有效监督员工的行为,提升工作效率和企业效益,但是这些软件差异较大,选择的时候需要考虑这些因素。 1、明确需求 …

(2024)Visual Studio的介绍、安装与使用

Visual Studio介绍 1.Visual Studio是什么? Visual Studio是微软公司推出的一款开发工具包系列产品,它是一个基本完整的开发工具集,为软件开发者提供了整个软件生命周期中所需的大部分工具。 2.Visual Studio的定义 Visual Studio是美国微软公…

kerberos:介绍

文章目录 一、介绍二、kerberos框架1、名词解释2、框架 三、优缺点四、其他认证机制1、SSL2、OAuth3、LDAP 一、介绍 Kerberos是一种计算机网络授权协议,主要用于在非安全网络环境中对个人通信进行安全的身份认证。这个协议由麻省理工学院(MIT&#xff…