OFDM同步--符号定时偏差STO

2023-10-20 16:28

本文主要是介绍OFDM同步--符号定时偏差STO,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考书籍:《MIMO-OFDM无线通信技术及MATLAB实现》 实验图基本都截取自该本书

一、什么是STO

  OFDM在接收时需要做FFT,需要在OFDM符号周期内获得对发射信号的精确采样,即在去CP之后我们需要找到OFDM的起始位,这样进行FFT运算时才能实现每一个符号位的对齐。时域 δ \delta δ的STO同时会导致频域 2 π k δ / N 2\pi k\delta/N 2πkδ/N的相位偏移。
在这里插入图片描述

二、STO的影响

STO对符号采样的影响存在4种情况,假设多径延时拓展为 τ m a x \tau_{max} τmax

Case I

  估计的 OFDM 符号起始点与精确的定时一致,因此能够保持子载波频率分量之间的正交性。在这种情况下,可以完美地恢复 OFDM符号,而且没有任何干扰。在这里插入图片描述
在这里插入图片描述

Case II

  估计的OFDM符号起始点在精确的定时点之前,但处在前一个OFDM符号信道响应的末端之后。在这种情况下,第I个符号与第I-1个符号不会重叠,即不存在由前一个符号引起的ISI。
在这里插入图片描述
  Case II 情况下子载波分量保持正交性但是恢复结果会出现固定相位偏移(对应星座图出现旋转,但并不散乱),可以使用相位补偿器解决该问题。
在这里插入图片描述

Case III

  估计的OFDM符号起始点早于前一个OFDM 符号信道响应的末端,因此符号定时太早而无法避免ISI。这种情况下,子载波之间的正交性被(来自前一个符号的)ISI破坏,同时出现了ICI。
在这里插入图片描述
相位偏差严重,无法通过补偿进行矫正
在这里插入图片描述

Case IV

  估计的OFDM符号起始点滞后于精确的定时点。在这种情况下,在 FFT 间隔内,信号由当前的OFDM符号的一部分和下一个OFDM符号的一部分组成。
在这里插入图片描述
相位偏差严重,无法通过补偿进行矫正。
在这里插入图片描述

三、STO估计技术

  Case III 和 Case IV 已经无法仅使用补偿技术进行矫正了,因此需要估计出STO,使得接收机可以准确估计出OFDM符号的起始点。

3.1 时域STO估计

1. 基于CP的STO估计

  利用CP与数据的相似性去估计STO,利用间隔N个采样(N=OFDM符号采样长度)滑动窗口寻找接收数据最相似的情况,并将其定为OFDM的起始采样点。移动时不断变化的采样点时间,即 δ \delta δ 便为STO的时域延时。
图为双滑动窗口的STO估计技术:
在这里插入图片描述
  当 W1 和 W 2中两个采样块之间相似度达到最大,估计出 δ \delta δ 即可确定OFDM采样起始点。

W1与W2相似度计算方法

  1. 差值估计
    直接计算搜索块的差值,尽管这种技术简单,但是当接收系统中存在 CFO 时其性能会下降。
    δ ^ = arg ⁡ min ⁡ δ { ∑ i = δ N G − 1 + δ ∣ y l [ n + i ] − y l [ n + N + i ] ∣ } \hat{\delta}=\underset{\delta}{\arg \min }\left\{\sum_{i=\delta}^{N_{\mathrm{G}-1+\delta}}\left|y_l[n+i]-y_l[n+N+i]\right|\right\} δ^=δargmin{i=δNG1+δyl[n+i]yl[n+N+i]}
  2. 平方估计
    为了处理CFO, 通过最小化 W1 中采样块和 W2中采样块之差的平方来估计STO
    δ ^ = arg ⁡ min ⁡ δ { ∑ i = δ N G − 1 + δ ( ∣ y l [ n + i ] ∣ − ∣ y l ∗ [ n + N + i ] ) 2 } \hat{\delta}=\underset{\delta}{\arg \min }\left\{\sum_{i=\delta}^{N_{\mathrm{G}}-1+\delta}\left(\left|y_l[n+i]\right|-\mid y_l^*[n+N+i]\right)^2\right\} δ^=δargmin{i=δNG1+δ(yl[n+i]yl[n+N+i])2}
  3. 相关性估计
    W1 和 W2 中两个采样块之间的相关性,即
    δ ^ = arg ⁡ max ⁡ δ { ∑ i = δ N G − 1 + δ ∣ y l [ n + i ] y l ∗ [ n + N + i ] ∣ } \hat{\delta}=\underset{\delta}{\arg \max }\left\{\sum_{i=\delta}^{N_{\mathrm{G}}-1+\delta}\left|y_l[n+i] y_l{ }^*[n+N+i]\right|\right\} δ^=δargmax{i=δNG1+δyl[n+i]yl[n+N+i]}
  4. 最大似然估计
    最大化 W1 中采样块和 W2 中采样块之间的相关性。然而,当接收信号中存在 CFO 时的性能会下降。为了处理接收信号中的 CFO,通过最大化对数似然函数来估计STO。
    δ ^ M L = arg ⁡ max ⁡ δ [ ∑ i = δ N G − 1 + δ 2 ( 1 − ρ ) Re ⁡ { y l [ n + i ] y l ∗ [ n + N + i ] } − ρ ∑ i = δ N G − 1 + δ ∣ y l [ n + i ] − y l [ n + N + i ] ∣ ] \hat{\delta}_{\mathrm{ML}}=\underset{\delta}{\arg \max }\left[\sum_{i=\delta}^{N_{\mathrm{G}-1+\delta}} 2(1-\rho) \operatorname{Re}\left\{y_l[n+i] y_l^*[n+N+i]\right\}-\rho \sum_{i=\delta}^{N_{\mathrm{G}}-1+\delta}\left|y_l[n+i]-y_l[n+N+i]\right|\right] δ^ML=δargmax[i=δNG1+δ2(1ρ)Re{yl[n+i]yl[n+N+i]}ρi=δNG1+δyl[n+i]yl[n+N+i]]

2. 基于训练符号的STO技术

  通过发射训练符号,可以在接收机实现符号同步。与基于 CP 的方法相比,基于训练符号的方法存在因传输训练符号而带来的负荷问题,但是这种方法不受多径信道的影响 (我其实不太理解为什么不受多径信道影响,这也是书中提到的方法就放在这) 。在估计的过程中,可以使用两个相同的OFDM训练符号,也可以使用具有 (不同重复周期)重复结构的单个OFDM训练符号。
在这里插入图片描述

3.2 频域STO估计

  接收信号会因 STO 而产生相位旋转。相位旋转与子载波的频率成比例, 所以可以用频域接收信号中相邻子载波的相位差来估计 STO。频域 STO 估计技术通常会得到相当精确的估计值,所以能够用于精符号同步中,但是同样以为着更大的计算量。

3.2.1 训练符号

  一种利用相位旋转的影响进行 STO 估计的技术 。更具体地, 将训练符号的共轭 X l ∗ [ k ] X_l^*[k] Xl[k] 和存在 STO 的接收符号相乘,然后从中估计出 STO
δ ^ = arg ⁡ max ⁡ n ( y l X [ n ] ) \hat{\delta}=\underset{n}{\arg \max }\left(y_l^{\mathrm{X}}[n]\right) δ^=nargmax(ylX[n])其中 y l X [ n ] = IFFT ⁡ { Y l [ k ] e j 2 π n k / N X l ∗ [ k ] } = 1 N ∑ k = 0 N − 1 Y l [ k ] e j 2 π δ k / N X l ∗ [ k ] e j 2 π δ k / N = 1 N ∑ k = 0 N − 1 H l [ k ] X l [ k ] X l ∗ [ k ] e j 2 π ( δ + n ) k / N = 1 N ∑ k = 0 N − 1 H l [ k ] e j 2 π ( δ + n ) k / N = h l [ n + δ ] \begin{aligned} y_l^{\mathrm{X}}[n] & =\operatorname{IFFT}\left\{Y_l[k] \mathrm{e}^{\mathrm{j} 2 \pi n k / N} X_l^*[k]\right\} \\ & =\frac{1}{N} \sum_{k=0}^{N-1} Y_l[k] \mathrm{e}^{\mathrm{j} 2 \pi \delta k / N} X_l^*[k] \mathrm{e}^{\mathrm{j} 2 \pi \delta k / N} \\ & =\frac{1}{N} \sum_{k=0}^{N-1} H_l[k] X_l[k] X_l^*[k] \mathrm{e}^{\mathrm{j} 2 \pi(\delta+n) k / N} \\ & =\frac{1}{N} \sum_{k=0}^{N-1} H_l[k] \mathrm{e}^{\mathrm{j} 2 \pi(\delta+n) k / N} \\ & =h_l[n+\delta] \end{aligned} ylX[n]=IFFT{Yl[k]ej2πnk/NXl[k]}=N1k=0N1Yl[k]ej2πδk/NXl[k]ej2πδk/N=N1k=0N1Hl[k]Xl[k]Xl[k]ej2π(δ+n)k/N=N1k=0N1Hl[k]ej2π(δ+n)k/N=hl[n+δ]假设训练符号 X [ k ] X[k] X[k] 的功率等于 1 , 即 X [ k ] X l ∗ [ k ] = ∣ X [ k ] ∣ 2 = 1 X[k] X_l^*[k]=|X[k]|^2=1 X[k]Xl[k]=X[k]2=1

3.2.2 信道脉冲响应

  利用信道脉冲响应进行 STO 估计的两个例子,其中一个0点采样,另一个10点采样。第一个信道脉冲响应从第 0个采样开始,用实线表示。第二个信道脉冲响应从第10个采样开始,用虚线表示。可以通过这种方法对 STO 进行正确的估计。
在这里插入图片描述

总结

  数字信号的同步一直都是数字信号处理中很关键的步骤,但在学习过程中我仅将同步视为必要步骤而不是复杂步骤。其实系统同步技术都很关键和复杂,经过同步的矫正才能保证系统的正确稳定。本文简要介绍了OFDM的STO同步,后续还会介绍OFDM另外一个重要的同步技术—>CFO同步

这篇关于OFDM同步--符号定时偏差STO的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/248272

相关文章

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

查看MySql主从同步的偏移量方式

《查看MySql主从同步的偏移量方式》:本文主要介绍查看MySql主从同步的偏移量方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 1.mysql的主从同步方案mysqlphp为了在实现读写分离,主库写,从库读mysql的同步方案主要是通过从库读取主库的binl

Django之定时任务django-crontab的实现

《Django之定时任务django-crontab的实现》Django可以使用第三方库如django-crontab来实现定时任务的调度,本文主要介绍了Django之定时任务django-cront... 目录crontab安装django-crontab注册应用定时时间格式定时时间示例设置定时任务@符号

MySQL主从同步延迟问题的全面解决方案

《MySQL主从同步延迟问题的全面解决方案》MySQL主从同步延迟是分布式数据库系统中的常见问题,会导致从库读取到过期数据,影响业务一致性,下面我将深入分析延迟原因并提供多层次的解决方案,需要的朋友可... 目录一、同步延迟原因深度分析1.1 主从复制原理回顾1.2 延迟产生的关键环节二、实时监控与诊断方案

Android实现定时任务的几种方式汇总(附源码)

《Android实现定时任务的几种方式汇总(附源码)》在Android应用中,定时任务(ScheduledTask)的需求几乎无处不在:从定时刷新数据、定时备份、定时推送通知,到夜间静默下载、循环执行... 目录一、项目介绍1. 背景与意义二、相关基础知识与系统约束三、方案一:Handler.postDel

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin