基于OFDM+64QAM系统的载波同步matlab仿真,输出误码率,星座图,鉴相器,锁相环频率响应以及NCO等

目录

1.算法运行效果图预览

2.算法运行软件版本

3.部分核心程序

4.算法理论概述

2.1 OFDM原理

2.2 64QAM调制

2.3 载波同步

5.算法完整程序工程


1.算法运行效果图预览

 

2.算法运行软件版本

MATLAB2022a

3.部分核心程序

............................................................................
for ij=1:Nframe      [sj,ij]%64个符号的训练序列msg1          = round(63*rand(64,1));msg2          = repmat(msg1,2,1); msg2_64QAM    = qammod(msg2,Morder);dataPre       = round(63*rand(36,1));  dataPre_64QAM = qammod(dataPre,Morder);  %数据   signal        = round(63*rand(nsym-2*64-36,1));      signal_64QAM  = qammod(signal,Morder);Tx_din        = [dataPre;msg2;signal];Tx_bin        = de2bi(Tx_din,6,'left-msb');Tx_bin2       = Tx_bin.';%发送数据的二进制数Tx_bin3       = reshape(Tx_bin2,[],1);   dataTxSig     =[dataPre_64QAM;msg2_64QAM;signal_64QAM];dataTx        = dataTxSig.*Carrier.';
..............................................................................   %积分滤波器PLL_Phase_Part(i)= Discriminator(i)*C1;PLL_Freq_Part(i) = Discriminator(i-1)*C2+PLL_Freq_Part(i-1);Freq_Control(i)  = PLL_Phase_Part(i)+PLL_Freq_Part(i);NCO_Phase(i)     = NCO_Phase(i-1)+Freq_Control(i-1);fre(i)           = NCO_Phase(i)/(2*pi*i)*fs;%平滑处理if i-len<=99Discriminator2(i) = mean(Discriminator(len+1:i));                fre2(i)           = mean(fre(len+1:i));elseDiscriminator2(i) = mean(Discriminator(i-99:i));fre2(i)           = mean(fre(i-99:i));endend         if (sj==12 | sj==15)& ij==1figure    
subplot(2,2,1)
plot(fre2(len+1:nsym)); 
grid on;
title('锁相环频率响应');subplot(2,2,2)
plot(NCO_Phase(len+1:nsym)); 
grid on;
title('NCO输出相位');subplot(2,2,3)
plot(Discriminator2(len+1:nsym));  
title('鉴相器输出');  
grid on;subplot(2,2,4)
plot(dataPhaEst(2000:end),'b*');  
title('锁相环之前星座图');   
grid on;figure
plot(Signal_PLL(2000:end),'r.');  
title('锁相环之后星座图');   
grid on; ends_pll=Signal_PLL; 
dRx2=qamdemod(s_pll,Morder);
dRx1=reshape(dRx2,[],1);
dRx_bit1=de2bi(dRx1,6,'left-msb'); 
dRx_bit2=dRx_bit1.';
dRxbit=reshape(dRx_bit2,[],1);for m=(1200+1):nsym if dRxbit(m)~=Tx_bin3(m)  err_bit(ij)=err_bit(ij)+1;       end                         
end                                    
end                                
sum_bit_err=sum(err_bit);
BER(sj)=sum_bit_err/(Nframe*(4*nsym-300*4));
endfigure;
semilogy(SNRss,BER,'b-o');
grid onxlabel('SNR');
ylabel('error');
0046

4.算法理论概述

        正交频分复用(OFDM)是一种在现代通信系统中广泛使用的调制技术,它具有高效的频谱利用和抗多径衰落等特点。64QAM(64-ary Quadrature Amplitude Modulation)是一种调制方式,可以在每个符号中传输更多的位信息。在OFDM系统中,保持载波同步对确保数据传输的可靠性至关重要。

2.1 OFDM原理

      OFDM将高速数据流划分为多个较低速的子载波,这些子载波之间互相正交,从而降低了子载波之间的干扰。每个子载波可以独立地调制和解调,提高了抗多径衰落和频率偏移的能力。

2.2 64QAM调制

     64QAM是一种高阶调制方式,每个符号可以传输6个比特(2^6=6426=64种可能的组合)。每个符号的相位和幅度有64种可能的组合,使得64QAM适合传输更多的信息,但也对信号质量要求更高。

2.3 载波同步

       在OFDM系统中,准确的载波同步是至关重要的。载波同步包括两个方面:频率同步和相位同步。频率同步旨在校准发送端和接收端的本地振荡器,以消除频率偏移。相位同步则调整接收信号的相位,以最大化解调性能。

5.算法完整程序工程

OOOOO

OOO

O

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

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

相关文章

AI Chat 设计模式:15. 桥接模式

本文是该系列的第十五篇&#xff0c;采用问答式的方式展开&#xff0c;问题由我提出&#xff0c;答案由 Chat AI 作出&#xff0c;灰色背景的文字则主要是我的一些思考和补充。 问题列表 Q.1 如果你是第一次接触桥接模式&#xff0c;那么你会有哪些疑问呢&#xff1f;A.1Q.2 什…

TCP服务器—实现数据通信

目录 前言 1.接口介绍 2.编写服务器 3.编写客户端 4.编译链接 5.测试 6.总结 前言 今天我们要介绍的是使用TCP协议实现数据通信&#xff0c;相比于之前写的UDP服务器实现数据信&#xff0c;在主体逻辑上并没有差别。客户端向服务器发送信息&#xff0c;服务器接受信息并回…

【项目设计】从零实现一个高并发内存池

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《项目设计》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录 &#x1f449;项目介绍&…

【C++学习手札】一文带你初识运算符重载

食用指南&#xff1a;本文在有C基础的情况下食用更佳 &#x1f340;本文前置知识&#xff1a; C类 ♈️今日夜电波&#xff1a;クリームソーダとシャンデリア—Edo_Ame江户糖 1:20 ━━━━━━️&#x1f49f;──────── 3:40 …

Python中的字符串与字符编码

Hello&#xff0c;这里是Token_w的博客&#xff0c;欢迎您的到来 今天文章讲解的是Python中的字符串与字符编码&#xff0c;其中有基础的理论知识讲解&#xff0c;也有实战中的应用讲解&#xff0c;希望对你有所帮助 整理不易&#xff0c;如对你有所帮助&#xff0c;希望能得到…

分类预测 | MATLAB实现EVO-CNN多输入分类预测

分类预测 | MATLAB实现EVO-CNN多输入分类预测 目录 分类预测 | MATLAB实现EVO-CNN多输入分类预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.MATLAB实现EVO-CNN多输入分类预测 2.代码说明&#xff1a;量谷优化卷积神经网络的数据分类预测&#xff1a;要求于Matlab …

Element Plus报错:ResizeObserver loop completed with undelivered notifications.

el-selected踩坑&#xff1a;el-selected 显示下拉框 mouseover 时报错&#xff01;&#xff01;&#xff01; 原来是属性 popper-append-to-body 被废除&#xff0c;改为 teleported。 element ui <el-select:popper-append-to-body"false"value-key"id&q…

【数据库】Sql Server可视化工具SSMS条件和SQL窗格以及版本信息

2023年&#xff0c;第34周&#xff0c;第1篇文章。给自己一个目标&#xff0c;然后坚持总会有收货&#xff0c;不信你试试&#xff01; SQL SERVER 官方本身就有数据库可视化管理工具SSMS&#xff0c;所以大部分都会使用SSMS。以前版本是直接捆绑&#xff0c; 安装完成就自带有…

从零开始学习 Java:简单易懂的入门指南之MAth、System(十二)

常见API&#xff0c;MAth、System 1 Math类1.1 概述1.2 常见方法1.3 算法小题(质数)1.4 算法小题(自幂数) 2 System类2.1 概述2.2 常见方法 1 Math类 1.1 概述 tips&#xff1a;了解内容 查看API文档&#xff0c;我们可以看到API文档中关于Math类的定义如下&#xff1a; Math类…

VR时代真的到来了?

业界对苹果的期待是&#xff0c;打造一台真正颠覆性的&#xff0c;给头显设备奠定发展逻辑底座的产品&#xff0c;而实际上&#xff0c;苹果只是发布了一台更强大的头显。 大众希望苹果回答的问题是“我为什么需要一台AR或者VR产品&#xff1f;”&#xff0c;但苹果回答的是“…

R语言 列表中嵌套列名一致的多个数据框如何整合为一个数据框

在批量建模后容易得到list&#xff0c;list中的每个元素都是单个的tibble 或者 dataframe&#xff0c;如何将这些数据整合为一张表呢&#xff1f; 载入R包 library(broom) library(tidyverse) 模拟数据 models <- txhousing %>% group_by(city) %>% do(modlm(lo…

leetcode 917.仅仅反转字母

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;仅仅反转字母 ps&#xff1a; 这道题思路很简单&#xff0c;只需要一个下标在前一个下标在后&#xff0c;分别找是字母的字符&#xff0c;找到之后交换即可。 代码&#xff1a; class Solution { public:bool isAlpha …

四、Controller 配置总结、RestFul 风格

文章目录 一、Controller 配置总结二、RestFul 风格2.1 使用 RequestMapping 的 method 属性指定请求类型 三、扩展&#xff1a;小黄鸭调试法 一、Controller 配置总结 实现 Controller 控制器的方式 实现 Controller 接口&#xff0c;重写 handleRequest 方法实现 控制器实现 …

小程序开发中事件绑定的执行方法

事件是渲染层到逻辑层的通讯方式。通过事件可以将用户在渲染层产生的行为&#xff0c;反馈到逻辑层进行业务的处理。小程序中常用属性和绑定方式如下&#xff1a; 当事件回调触发的时候&#xff0c;会收到一个事件对象 event&#xff0c;它的详细属性如下表所示&#xff1a; …

Unity游戏源码分享-中国象棋Unity5.6版本

Unity游戏源码分享-中国象棋Unity5.6版本 项目地址&#xff1a; https://download.csdn.net/download/Highning0007/88215699

HTML5的介绍和基本框架

目录 HTML5 HTML5介绍 HTML5的DOCTYPE声明 HTML5基本骨架 html标签 head标签 body标签 title标签 meta标签 在vscode中写出第一个小框架 HTML5 HTML5介绍 HTML5是用来描述网页的一种语言&#xff0c;被称为超文本标记语言。用HTML5编写的文件&#xff0c;后缀以.ht…

jenkins自动化构建保姆级教程(持续更新中)

1.安装 1.1版本说明 访问jenkins官网 https://www.jenkins.io/&#xff0c;进入到首页 点击【Download】按钮进入到jenkins下载界面 左侧显示的是最新的长期支持版本&#xff0c;右侧显示的是最新的可测试版本&#xff08;可能不稳定&#xff09;&#xff0c;建议使用最新的…

你真的了解数据结构与算法吗?

数据结构与算法&#xff0c;是理论和实践必须紧密结合的一门学科&#xff0c;有关数据结构和算法同类的课程或书籍&#xff0c;有些只是名为“数据结构”&#xff0c;而非“数据结构与算法”&#xff0c;它们在内容上并无很大区别。 实际上&#xff0c;数据结构和算法&#xf…

【Python】使用python解析普通格式的报文为someip格式报文

文章目录 1.安装scapy库2.示例 1.安装scapy库 使用 pip 安装 scapy 第三方库&#xff0c;打开 cmd&#xff0c;输入以下命令&#xff1a; pip install scapy出现如图所示&#xff0c;表示安装成功&#xff1a; 2.示例 要解析someip格式报文&#xff0c;需要导入someip模块&a…

深入理解Vue 3.0x中的Suspense和异步组件

深入理解Vue 3.0x中的Suspense和异步组件 Vue 3.0x作为Vue.js框架的最新版本&#xff0c;引入了许多创新特性&#xff0c;其中Suspense和异步组件是重要的改进之一。在本文中&#xff0c;我们将深入探讨这两个特性&#xff0c;了解它们如何为现代Web应用带来更好的性能和用户体…