m基于matlab的光通信误码率仿真,分别对比了OFDM+BPSK和OFDM+4QAM的误码率和星座图

news2024/11/25 1:06:22

目录

1.算法描述

2.matlab算法仿真效果

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

     光通信系统中,QAM调制应用广泛,因为其利用幅度和相位同时传递i信息,提高了频带利用率。目前,最高阶数的QAM已达到1024-QAM即星座图有1024个点。虽然QAM应用广泛,但是由于其产生的信号是复数信号,无法直接应用在基于强度调制/直接检测(IM/DD)系统中,所以一种改进的QAM调制格式对于可见光通信领域就显得尤其重要。
       正交幅度调制(QAM)是一种将两种调幅信号聚合在一起的调制方法。正交调幅信号由两个频率相同,相位相差90°的载波,分别称为I支路信号(同相支路)和Q支路信号(正交支路),两种被调制的载波在发送端被混合,在整体上显示为对载波的幅度和相位同时进行调制。

       OFDM技术的总体流程可以表示成图1。图1中,有码元a1到ak,共k个子信道,每个子信道对应一个子载波,这些子载波与ak相结合调制(基带调制),调制结束后再进行射频调制,图中省略用天线图案表示。此后,空中叠加发送,接收端分别接收后进行解调。

    光通信就是以光波为载波的通信。增加光路带宽的方法有两种:一是提高光纤的单信道传输速率;二是增加单光纤中传输的波长数,即波分复用技术(WDM)。

ASON

       无论从国内研发进展、试商用情况,还是从国外的发展经验来看,国内运营商在传送网中大规模引入ASON技术将是必然的趋势。ASON(AutomaticallySwitchedOpticalNetwork,智能光网络)是一种光传送网技术。目前的产品和市场状况表明,ASON技术已经达到可商用的成熟程度,随着3G、NGN的大规模部署,业务需求将进一步带动传送网技术的发展,预计2007年ASON将得到更加广泛的商用。

FTTH

       FTTH(FiberToTheHome,光纤到户)是下一代宽带接入的最终目标。目前,实现FTTH的技术中,EPON将成为未来我国的主流技术,而GPON最具发展潜力。EPON采用Ethernet封装方式,所以非常适于承载IP业务,符合IP网络迅猛发展的趋势。目前,国家已经将EPON作为“863”计划重大项目,并在商业化运作中取得了主动权。

       GPON比EPON更注重对多业务的支持能力,因此更适合未来融合网络和融合业务的发展。但是它目前还不够成熟并且价格偏高,还无法在我国大规模推广。

        我国的FTTH还处于市场启动阶段,离大规模的商业部署还有一段距离。在未来的产业化发展中,运营商对本地网“最后一公里”的垄断是制约FTTH发展的重要因素,采取“用户驻地网运营商与房地产开发商合作实施”的形式,更有利于FTTH产业的健康发展。从日本、美国、欧洲和韩国等国家的FTTH发展经验来看,FTTH的核心推动力在于网络所提供的丰富内容,而政府对应用和内容的监控和管理政策也会制约FTTH的发展。

WDM

        WDM突破了传统SDH网络容量的极限,将成为未来光网络的核心传输技术。按照通道间隔的不同,WDM(WavelengthDivisionMultiplexing,波分复用)可以分为DWDM(密集波分复用)和CWDM(稀疏波分复用)这两种技术。DWDM是当今光纤传输领域的首选技术,但CWDM也有其用武之地。相对于DWDM,CWDM具有成本低、功耗低、尺寸小、对光纤要求低等优点。未来几年,电信运营商将会严格控制网络建设成本,这时CWDM技术就有了自己的生存空间,它适合快速、低成本多业务网络建设,如应用于城域和本地接入网、中小城市的城域核心网等。

RPR

       弹性分组环(ResilientPacketRing,RPR)将成为未来重要的光城域网技术。近年来许多国内外传输设备厂商都开发了内嵌RPR功能的MSTP设备,RPR技术得到了大量芯片制造商、设备制造商和运营商的支持和参与。

2.matlab算法仿真效果

matlab2017b仿真结果如下:

 

 

 

3.MATLAB核心程序

%参数初始化
%the OFDM symbols,OFDM长度
Nsc           = 256;     
%frame length
Lf            = 10;                
%发送数据
tx_data       = func_seq('PRBS_15','PRBS',2e5);   
%MQAM
M             = 4;
%QAM调制
[mods,demods] = func_MQAM(Nsc,'M',M,'SymbolOrder','Gray'); 
%高斯白噪声
SNR           = [1:1:8]; 
Ng            = 0.1;
%training sequence
TS_level      = [1,1];  
%samples per symbol       
Nfft          = 8*Nsc;                 
%cyclic prefix length
Np            = round(Ng*Nfft);                                               
%发送前调制
y_Tx_mod      = func_OFDM_modulator(tx_data,mods,Np,Lf,TS_level,Nfft);
 
%开始循环
for i = 1:length(SNR)
    i
    SNRs = SNR(i);
    %可见光信道
    y_Tx_bef = y_Tx_mod;
    Fs       = 40e9;%采样频率
    Ts       = 1/Fs;%采样周期
    F_AWG    = 10e9;%频率偏移
    F_RF     = 0;                                
    AWG      = upsample(y_Tx_bef,Fs/F_AWG);          
    n        = (1:length(AWG))';
    S_RF     = AWG.*exp(1j*2*pi*F_RF*n*Ts);         %
    %LED信道
    SNRdb    = func_LED_channel();
   %降采样
    y_Rx        = func_decimate2(S_RF,Fs/F_AWG);
    %最后加入白噪声
    y_Rx2       = awgn(y_Rx,SNRs+SNRdb,'measured');
    %OFDM解调
    [rx_data,Y] = func_OFDM_demodulator(y_Rx2,demods,Np,Lf,TS_level,Nfft);
    [Nerr,BER]  = func_error(rx_data,15,0); 
    Bers(i)     = BER;
end
01_095_m 

4.完整MATLAB

V

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

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

相关文章

网站风格变黑白的方法,用css或javascript方法将网站改为灰色

如何把网站颜色去掉?用下面的方法即可 1.通用方法 body { -webkit-filter: grayscale(100%);-moz-filter: grayscale(100%);-ms-filter: grayscale(100%);-o-filter: grayscale(100%);filter: grayscale(100%);filter: gray; }html {-webkit-filter: grayscale(10…

harbor私有仓库部署

一、Harbor的概念 Harbor是VMware公司开源的企业级Docker Registry项目,其目标是帮助用户迅速搭建一个企业级的Docker Registry服务 Harbor以 Docker 公司开源的Registry 为基础,提供了图形管理UI、基于角色的访问控制(Role Based AccessControl)、AD/LD…

python习题004--使用python实现ATM机效果

相信每一个人在日常生活中使用ATM机的次数不少,尤其是现在微信支付,支付宝支付的普及,就需要用到ATM机并将现金存入银行卡内。 接下来我就使用python并结合面向对象的知识编写一个简易的ATM机存取款的效果【仅供参考】。 题目 简易的ATM机…

K8S-1.18.20高可用集群之部署集群监控系统kube-prometheus插件

K8S-1.18.20高可用集群之部署集群插件-KUBE-PROMETHEUS插件 一、简介 kube-prometheus 是一整套监控解决方案,它使用 Prometheus 采集集群指标,Grafana 做展示,包含如下组件: The Prometheus Operator Highly available Promet…

某车app登录参数分析

目标app: Y29tLmNoZTE2OC51Y2RlYWxlcg== 抓取登录包如下: 提交的data参数: _appid (app标识,固定值) _sign(加密) appversion(app版本,固定值) channelid(固定值) pass (密码加密) udid (加密) user (手机号) 共有_sign、 pass、udid三处加密, 其中_sign预估md5加密, pa…

XShell与XFtp的安装及简单使用

目录 XShell的安装 XFtp的安装 测试XShell和XFtp XShell的安装 1、完成解压后如下,所示 2、双击exe文件进行安装 3、选中免费为家庭/学校 (因为XShell的商业版和免费版功能是一样的,区别在于可以开启的窗口数量的不同) 4、勾选 …

RK3588移植-ffmpeg交叉编译

文章目录1.下载ffmpeg2.交叉编译3.修改cmakelist.txt4.将lib文件复制到install目录下的lib目录5.测试文件6.运行测试样例7.错误n.测试文件源码1.下载ffmpeg git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg 2.交叉编译 进入下载目录,将ffmpeg编译成arm64平台…

【菜菜的sklearn课堂笔记】聚类算法Kmeans-重要参数n_clusters

视频作者:菜菜TsaiTsai 链接:【技术干货】菜菜的机器学习sklearn【全85集】Python进阶_哔哩哔哩_bilibili n_clusters是KMeans中的k,表示着我们告诉模型我们要分几类。这是KMeans当中唯一一个必填的参数,默认为8类,但通…

glxy_阿里云存储

阿里云OSS储存 讲师的添加实现:oss服务 访问并登陆阿里云,,实名认证 产品分类---->对象储存OSS 开通OSS 进入管理控制台 使用OSS前先创建bucket java 代码实现 准备工作:创建操作阿里云oss许可证(阿里云颁发…

1545_AURIX_TC275_CPU子系统_存储以及性能

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 章节的标题不是我写的标题,但是从功能分类看的话基本是,暂且如此总结。 1. DSYNC的命令之前看过,因为cache是具有不可见性的,通过这个命令可…

mysql分区表的增删改查操作

mysql分区表的增删改查操作一、mysql创建表分区二、基本分区信息查询2.1 查看mysql版本是否支持分区2.2 查看表是否为分区表2.2.1 查询表分区信息2.2.2 查看表的所有分区三、分区表的查询操作四、分区表的增删改操作4.1 新增分区4.1.1 给已有的表加上分区4.1.2 新增分区4.2 重新…

面试字节,过关斩将到 3 面,结果找了个架构师来吊打我?

人人都有大厂梦,对于程序员来说,BAT 为首的一线互联网公司肯定是自己的心仪对象,毕竟能到这些大厂工作,不仅薪资高待遇好,而且能力技术都能够得到提升,最关键的是还能够给自己镀上一层金,让人瞻…

物联网卡与共享饮水机的关系

近些年来居民更加注重饮水健康,对水质,口感的要求明显提升,饮水机市场高速发展,很多小区,校园,公园等公共场所都出现了共享饮水机。共享饮水机随处可见,马路边、商场里、社区里的社区直饮水机等…

Java+JSP+MySQL基于SSM的扶贫信息管理系统-计算机毕业设计

项目介绍 扶贫信息管理系统采用了B/S(浏览器/服务器)体系结构,JAVA作为开发语言,MySQL作为数据存储进行开发,Tomcat作为WEB服务器,开发平台windows,开发工具采用比elicpse更好用的myeclipse。系统角色分为用户和管理员…

GIS工具maptalks开发手册(二)03——渲染面

GIS工具maptalks开发手册(二)03——渲染面 效果 1、html单页面 index.html <!DOCTYPE html> <html> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1"> <title>图形 -…

Linux基础知识与实操-篇三: 文件压缩打包与vim基本使用

文章目录压缩打包与备份压缩文件命令gzip bzip2 xzgzip 命令bzip2 命令xz命令打包指令XFS文件系统备份与还原光盘写入工具其他常见的压缩与备份工具Vim 基本使用多文件编辑多窗口编辑Vim 的关键字补全Vim环境设定与记录其他使用注意事项中文编码问题断行字符语系编码转换最后本…

Spring依赖注入的三种方式

参考 : 面试突击77&#xff1a;Spring 依赖注入有几种&#xff1f;各有什么优缺点&#xff1f; - 掘金 目录 更加简单地从Spring中取出Bean对象(超级重要) 属性注入 属性注入的优点和缺点 setter注入 Setter注入的优缺点 构造方法注入 注意事项 构造方法注入的优缺点 …

基于springboot书籍推荐系统设计与实现的源码+文档

DROP TABLE IF EXISTS book_classification; CREATE TABLE book_classification( book_classification_id int(11) NOT NULL AUTO_INCREMENT COMMENT 图书分类ID, book_category varchar(64) comment 图书类别, examine_state varchar(16) DEFAULT 已通过 NOT NULL comm…

01-go基础-06-切片(声明切片、初始化切片、切片赋值、切片长度、切片容量、空切片、append、copy)

文章目录1. 声明切片2. 初始化切片2.1 切片长度2.1.1 初始化指定长度的切片2.1.2 查看切片长度 len()2.2 切片容量2.2.1 初始化指定容量的切片2.2.2 查看切片长度 len()3 切片赋值3.1 直接赋值3.2 引用数组给切片赋值3.3 引用数组某区间给切片赋值3.3.1 从数组位置N个取到第M个…

k8s中的Pod

Pod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元; Pod 中会启动一个或一组紧密相关的业务容器, 各个业务容器相当于Pod 中的各个进程, 此时就可以将Pod 作为虚拟机看待; 在创建 Pod 时会启动一个init容器, 用来初始化存储和网络, 其余的业务容器都将在init容器…