OFDM中分析不同频偏(CFO)对通信链路的误码率影响仿真分析

news2025/1/11 2:48:44

目录

1.算法描述

2.仿真效果预览

3.MATLAB核心程序

4.完整MATLAB


1.算法描述

        OFDM是 Orthogonal Frequency Division MulTIplexing的缩写,即正交频分复用,是一种无线环境下的高速传输技术,也可以看作一种特殊的FDM形式。OFDM 技术的主要思想就是在频域内将给定信道分成许多正交子信道,在每个子信道上使用一个子载波进行调制,并且各子载波并行传输。

  对于移动通信,其信道的频率响应曲线大多是非平坦的,具有频率选择性,但是每个子信道而言又是相对平坦的,在每个子信道上进行的是窄带传输,信号带宽小于信道的相应带宽,因此就可以大大消除信号波形间的干扰。由于这种技术具有在杂波干扰下传送信号的能力,因此常常会被利用在容易外界干扰或者抵抗外界千扰能力较差的传输介质中。

       OFDM中的各个载波是相互正交的,每个载波在一个符号时间内有整数个载波周期,每个载波的频谱零点和相邻载波的零点重叠,这样便减小了载波间的干扰。由于载波间有部分重叠,所以它比传统的FDMA提高了频带利用率。

  在OFDM传播过程中,高速信息数据流通过串并变换,分配到速率相对较低的若干子信道中传输,每个子信道中的符号周期相对增加,这样可减少因无线信道多径时延扩展所产生的时间弥散性对系统造成的码间干扰。另外,由于引入保护间隔,在保护间隔大于最大多径时延扩展的情况下,可以最大限度地消除多径带来的符号间干扰。如果用循环前缀作为保护间隔,还可避免多径带来的信道间干扰。在过去的频分复用(FDM)系统中,整个带宽分成N个子频带,子频带之间不重叠,为了避免子频带间相互干扰,频带间通常加保护带宽,但这会使频谱利用率下降。为了克服这个缺点,OFDM采用N个重叠的子频带,子频带间正交,因而在接收端无需分离频谱就可将信号接收下来。

  OFDM系统的一个主要优点是正交的子载波可以利用快速傅利叶变换(FFT/IFFT)实现调制和解调。对于N点的IFFT运算,需要实施N^2次复数乘法,而采用常见的基于2的IFFT算法,其复数乘法仅为(N/2)log2N,可显著降低运算复杂度。

  在OFDM系统的发射端加入保护间隔,主要是为了消除多径所造成的ISI。其方法是在OFDM符号保护间隔内填入循环前缀,以保证在FFT周期内OFDM符号的时延副本内包含的波形周期个数也是整数。这样时延小于保护间隔的信号就不会在解调过程中产生ISI。由于OFDM技术有较强的抗ISI能力以及高频谱效率,2001年开始应用于光通信中,相当多的研究表明了该技术在光通信中的可行性。

        但是,OFDM技术区分各个子信道的方法是利用各个子载波之间严格的正交性。频偏和相位噪声会使各个子载波之间的正交特性恶化,仅仅1%的频偏就会使信噪比下降30dB。因此,OFDM系统对频偏和相位噪声比较敏感。

        交频分复用 (OFDM)是4G通信中的关健技术之一,主要依靠各子载波之间的正交性实现高速传输.但OFDM对载波频偏(CFO,Carrier Frequency Offset)非常敏感,很小的频偏就会引起信道间的干扰(ICI).从理论上分析了载波频偏产生信道间干扰的过程,重点研究了CFO对OFDM性能的影响,并对相关结论进行了仿真验证.

       发射机的载波Ftx和接收机的载波Frx,是由各自射频硬件电路上的晶振源提供,由于是两个独立的物理器件,不可避免的存在频率上的偏差。频率偏差,会造成调制数据相位上的旋转,在接收端必须对频偏进行纠正。
       介绍了OFDM调制的本质,是两级的IQ调制,第二级IQ调制,将第一级得到的复信号,实部和虚部分别在I路和Q路上发射出去。基带的IQ两路序列为x(n)的实部和虚部:

为方便表达,通常将第二级IQ调制发射出去的射频信号表达为复等效形式: 

       Ftx为发射载波频率,相当于把基带的x(n)信号,搬到Ftx频点上发射出去。在接收端,采用与Ftx相同的载波频率将x(n)搬到基带,于是有 

       正交频分复用(OFDM)以及它和多输入多输出(MIMO)的结合—MIMO-OFDM是目前宽带无线通信非常具有潜力的传输技术之一,然而,OFDM和MIMO-OFDM技术对载波频偏(CFO)和相位噪声(PHN)非常敏感,CFO和PHN会破坏OFDM子载波的正交性,严重恶化系统性能。因此,有效对抗CFO和PHN成为OFDM和MIMO-OFDM技术实现的一个重要挑战。

2.仿真效果预览

matlab2022a仿真结果如下:

3.MATLAB核心程序

for ii = 1:length(CFO)
    
    for n = 1:length(EbN0dB)
        snr = EbN0dB(n);
        berrors = 0;tic;
        for mc = 1:MC
            x = rand(1,nDSC)>0.5;
            xt = 2*x -1; 
            xt = (nFFT/sqrt(nDSC))*ifft(fftshift(xt),nFFT); 
            xtt = [xt(end-nCP+1:end) xt];
            % Gaussian noise of unit variance, 0 mean
            nt = 1/sqrt(2)*(randn(1,nTot) + 1i*randn(1,nTot));
            yr = sqrt(nTot/nFFT)*xtt + 10^(-EsN0dB(n)/20)*nt;
            % applying CFO
            yr =(exp(1i*2*pi*CFO(ii)*(0:length(yr)-1)/nFFT)).*yr;
            % Receiver processing
            yr = yr(nCP+1:end);
            yr = (nDSC/sqrt(nFFT))*fftshift(fft(yr,nFFT));
            yr = yr > 0; % hard demodulation
            berrors = berrors + length(find((yr-x)~=0));
        end
        toc;
       BER(ii,n) = berrors/(nFFT*MC);
    end
    
end
A_102 

4.完整MATLAB

V

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

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

相关文章

Spring更简单的读取和存储对象(一) · 存储Bean对象 · 配置扫描路径 · 五种类注解存储Bean对象 · 方法注解@Bean的使用

之前我们学过存储对象到容器,再从容器里面取出来。这次我们要学习更加简单的操作 Bean 对象的方法。 在 Spring 中想要更加简单的存储和读取对象的核心是使用注解。 存储 Bean 对象一、前置工作:配置扫描路径(重要)二、添加注解存…

非对称加密了解

文章目录什么是非对称加密非对称加密流程非对称加密问题解决方案RSA&ECC椭圆曲线算法RSAECC对称加密大家都里了解的,生成一对密钥对,对外只暴露公钥,来保证双方的安全,下面我们来详细的了解一下 什么是非对称加密 服务端生成…

python -- PyQt5(designer)中文详细教程(十一)实例:俄罗斯方块游戏

俄罗斯方块游戏 本章我们要制作⼀个俄罗斯方块游戏。 Tetris 译注:称呼:方块是由四个小方格组成的 俄罗斯方块游戏是世界上最流行的游戏之⼀。是由⼀名叫Alexey Pajitnov的俄罗斯程序员在1985年制作的,从那时起,这个游戏就风靡…

【猿如意】中的『格式工厂』工具详情介绍

目录一、什么是猿如意二、格式工厂简介三、通过猿如意获取格式工厂四、格式工厂使用技巧4.1 基础设置4.2 使用示例五、格式工厂使用感受六、猿如意使用感受6.1 优点6.2 改进点一、什么是猿如意 【猿如意】是CSDN推出的一款桌面客户端,旨在为广大开发者提供效率工具…

呼声很高的这门语言真的难学吗?

不少同学很想自学Java,但又不知道从何开始?到底该如何系统地去学?学着学着想放弃了……万事开头难,只要跟着系统的阶段学习方法走,条理会很清晰,学起来会更轻松,其实自学真的没有想象的那么难&a…

web课程设计网页规划与设计:旅游网页主题网站设计——酒店主题绿色温泉度假酒店网页设计(8页)HTML+CSS+JavaScript

👨‍🎓学生HTML静态网页基础水平制作👩‍🎓,页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码,这是一个不错的旅游网页制作,画面精明,排版整洁,内容…

前端——表单相关的属性(下)

表单相关的属性 新增的与表单相关的元素如下。 min、max和step属性 min、max和step属性用于为包含数字或日期的input类型规定限定(约束)。 max属性规定输入域所允许的最大值。 min属性规定输入域所允许的最小值。 step属性为输入域规定合法的数字间隔&…

Docker网络配置

目录 一,网络模式 二,外部访问docker容器 1.bridge模式 2.host模式 四,自定义网络 一,网络模式 Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用--net去指定&#x…

Cuppa CMS 访问控制错误漏洞(CVE-2022-25401)

0x01 漏洞介绍 CuppaCMS是一套内容管理系统(CMS)。Cuppa CMS 中存在访问控制错误漏洞,该漏洞源于产品的文件拷贝函数允许将任意文件拷贝至当前目录。攻击者可通过该漏洞读取任意文件。Cuppa CMS v1.0中文件管理器得复制功能允许将任何文件复制到当前目录,从而授予攻击者对任…

20201225学习日记-初识Javascript

title: 20201225学习日记-初识Javascript date: 2020-12-25 10:19:45 categories: [码农日常] tags:[JavaScript] 前面粗略了解了一下HTML和CSS,接下来该到了不可或缺的JavaScript了。 JavaScript (JS) is a lightweight, interpreted, or just-in-time compiled p…

交流电子负载的应用

电子负载最初是用于测试直流电源的专用产品。电子负载显示电源对各种负载条件的反应。电子负载中常见的FET开关和非电抗组件的使用避免了共振和不稳定性。DC随着越来越多的电子设备转换和存储能量,电子负载越来越受欢迎。它们可用于测试大多数直流电源,包…

【Linux从入门到放弃】Linux权限详解(用户权限、文件权限、权限设置)

🧑‍💻作者: 情话0.0 📝专栏:《Linux从入门到放弃》 👦个人简介:一名双非编程菜鸟,在这里分享自己的编程学习笔记,欢迎大家的指正与点赞,谢谢! L…

线性表之顺序表详解(1)

线性表 参考来源: 线性表是最基本、最简单、也是最常用的一种数据结构。一个线性表是n个具有相同特性的数据元素的有限序列。 前驱元素: 若A元素在B元素的前面,则称A为B的前驱元素 后继元素: 若B元素在A元素的后面,则…

用HTML+CSS做一个漂亮简单的个人音乐网页

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

Obsidian配置图床(PicGo:SM.MS)

前言 在使用了一段时间obsidian之后,发现了一个很致命的问题,就是图片的存储,与传统的富文本编辑器不一样的是markdown属于纯文本语言,文字和图片是分离的,这就导致了当你想插入图片时,发现图片被保存在了…

[附源码]计算机毕业设计驾校预约管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

项目运营后阶段发力(有人问我字节为啥要考算法,然后我就跑去问我同学)

前言 我记得之前有人跑过来问我:你知道为啥字节面试总会考算法吗?我没有回答,一方面是算法是大厂必考的东西,既然是必须的东西究竟个为什么有点白费心机,第二方面我没有进去过字节,所以我也拿捏不准为什么。…

元宇宙是下个风口?浅析元宇宙中的新商业模式

元宇宙的热度似乎还是高涨不下,那么今天由林工来浅析一下元宇宙有哪些机会可以把握? 随着2021年,扎克伯格将公司改名为Meta,宣布将一家社交媒体公司转变为一家元宇宙公司,并计划投入五千万美元来构建与元宇宙,许多科技…

保姆式计算机组件简介

目录 1,cpu 主频 cpu缓存(位于cpu与内存的临时储存器,容量小但交换速度快) 2,memory(也就是储存器) 1,外存储器 2,内存储器 3,l/o 4,bus&a…

【消息中间件】RocketMQ如何集成到SpringBoot

目录 ​ 一、前言 二、RocketMQ如何集成到SpringBoot项目 1、如果不用SpringBoot项目 1.1、引入依赖 1.2、启动BrokerStartup和NamesrvStartup服务端 2)启动NamesrvStartup 1.3、生产者创建并启动以及发送消息 1.4、消费者创建并启动 2、RocketMQ集成到Sp…