IQ Offset之工厂实例分析

有个产品   其方块图如下:

FEM全名为Front End Module

详情可参照这篇 [1]

WIFI前端模块的解析

这边就不赘述

而在工厂大量生产时   有一块板子

其Chain1的EVM Fail  分析Log后

发现其IQ Offset的值   比Chain2/Chain3/Chain4

还要来得差

请问  问题是出在收发器?  还是前端模块?

答案是: 两者都有可能


Rohde & Schwarz的仪器   将这项指标  以IQ Offset称呼

Keysight的仪器  也以IQ Offset来称呼

但LitePoint的仪器  则是以LO Leakage称呼

  • IQ Offset   
  • Carrier Leakage/Feedthrough
  • LO Leakage/Feedthrough
  • DC Offset

这几种名称  指的都是同一个现象 

以星座图的角度  其信号的调变 整体偏移  远离了正常位置

而以频谱角度  则是信号顶端  会有一根类似避雷针的噪声

因此由下图可以看到  当信号的调变 整体偏移  远离了正常位置时

(正常位置为红点)

其避雷针现象就出现了

偏移量越多  避雷针越高

但是当信号的调变 整体几乎无偏移  处在正常位置时

其避雷针  几乎不存在

计算公式如下  单位为dB:

因此显而易见  该指标肯定是越小越好   代表偏移量越少 

一般而言  如果要有良好的调变精确度   至少要小于-25 dB

同时也发现  当偏移量不变时  信号功率越小  该指标会越差

该避雷针   可能是直流信号

(所以才叫DC Offset)

也可能是本地震荡器信号

(所以才叫LO Leakage)

接着我们谈谈成因

直流信号  会发生在两处

一处是基频   一处是射频

我们先谈基频

主要是发生在IQ信号上[3]

而在零中频的发射机架构中,若I/Q讯号有直流信号,同样也会与本地震荡器混波,直接升频为射频讯号

导致直流信号  与射频信号  迭加在一起  造成前述的避雷针现象

因此  由下述公式可知  倘若IQ信号上无直流信号

其避雷针是不该存在的

那么   要如何消除  IQ信号上的直流信号呢?

首先   以电容隔直   是不可行的

因为基频信号极为低频  如果用电容隔直

固然可以隔绝直流信号   但也会一并隔绝基频信号

所以不可行

也因此  IQ信号上的直流信号

多半都会以额外的校正电路  搭配算法

透过校准滤除

而直流讯号  除了会产生在基频讯号处

也会产生在射频信号处  主要是来自本地震荡器

由于混波器有限的隔离度,以至于本地震荡器的信号  有可能会泄漏

如果泄漏到基频端口   则会产生自我混波

也就是

LO – LO = 0Hz (直流信号)

然后该直流信号  跟着基频   一同升频为射频信号

形成前述的避雷针现象

如果泄漏到射频端口  因为本地震荡器的信号频率  与射频信号频率  几乎一样

因此在频谱上会迭加   形成前述的避雷针现象

也因为频率几乎一样   所以也必须倚赖额外的校正电路  搭配算法

透过校准滤除

例如Broadcom的BCM4356,就内建了LO feedthrough (LOFT)的校正电路

因此   由上述分析可知  避雷针的来源

  • IQ信号上的直流信号
  • 本地震荡器由于自我混波  产生的直流信号
  • 本地震荡器  直接泄漏到射频信号

以上动作   不论基频或射频

都是在收发器内完成

因此  倘若IQ Offset特别差   当然问题有可能是出在收发器

而射频信号中   混杂了直流信号

会造成性能劣化  

以OFDM信号 (Orthogonal Frequency-Division Multiplexing, OFDM)为例

直流信号的子载波  与信号的子载波  并未正交[5]

因此会干扰邻近的信号子载波  进而使调变精确度下降  IQ Offset变大  EVM变差

因此前端模块的射频信号端口

多半外部会添加串联电容  充当DC Block

以隔绝直流信号进入功放

既然IQ上的直流讯号  与本地震荡器在混波器射频端口的泄漏

可以透过校准来滤除

而本地震荡器在混波器基频端口的泄漏  透过自我混波  产生的直流信号  可以靠外部串联电容来隔绝

换言之   射频信号进前端模块前   照理说  已无直流信号

又为何前端模块   也会成为IQ Offset的问题所在呢?

答案是   单靠串联电容   隔直的效果有限

以下图为例   除了外部串联电容

前端模块内部  还内建了落地电感

这两个组件  都有滤除直流信号的作用

我们针对其直流信号滤除能力  做一次仿真

可以发现   其隔直的效果

(电容 + 电感) > 电感 > 电容

以容抗公式而言

理论上  电容对于直流讯号  其阻抗为无限大

换言之   其隔直效果  也应该要为无限大才是

但真实世界中   其隔直的效果  却反而是最差的

还远不如落地电感

(以上仿真皆为真实电感电容模型  非理想模型)

因此  倘若前端模块  接地没接好

或是该落地电感   直接失效

都会导致落地电感  失去滤除直流信号的作用

在这篇文章当中

如何焊铜管 量测射频前端模块

我们得知  由于前端模块内建落地电感之故

所以万用电表  必定量到短路

因此   可以善用这个特性  来判断该落地电感  是否功能良好

当我们接法如上图时  

如果确实量到短路  便表示该落地电感  功能良好

反之  若无量到短路  则可判定落地电感  已失去滤除直流信号的作用

导致隔直效果有限  进而损害功放   劣化射频性能 (如EVM)

接着可以进一步  排查是接地没接好 (Soldering issue) 

还是真的这颗前端模块的落地电感已失效 (material issue)

参考文献:

[1] WIFI前端模块的解析

[2] IQ Offset (GSM/EDGE/EDGE Evolution)

[3] Sources of Error in IQ Based RF Signal Generation

[4] 如何焊铜管 量测射频前端模块

[5] IQ Offset (LTE)

[6] IQ Offset - Common impairments in coherent transmission systems

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

音视频入门基础:MPEG2-TS专题(4)——使用工具分析MPEG2-TS传输流

一、引言 有很多工具可以分析MPEG2-TS文件/流,比如Elecard Stream Analyzer、PROMAX TS Analyser、easyice等。下面一一对它们进行简介(个人感觉easyice功能更强大一点)。 二、Elecard Stream Analyzer 使用Elecard Stream Analyzer工具可以…

任务调度工具Spring Test

Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。 作用:定时自动执行某段Java代码 应用场景: 信用卡每月还款提醒 银行贷款每月还款提醒 火车票售票系统处理未支付订单 入职纪念日为用户发送通知 一.…

ORB-SLAM2 ---- Tracking::TrackWithMotionModel()

文章目录 一、函数作用二、函数讲解三、函数代码四、调用的函数1. Tracking::UpdateLastFrame()1). 函数讲解2). 函数代码 2. ORBmatcher::SearchByProjection()1). 函数讲解2). 函数代码 3. Optimizer::PoseOptimization(Frame *…

10月月报 | Apache DolphinScheduler进展总结

各位热爱 Apache DolphinScheduler 的小伙伴们,社区10月份月报更新啦!这里将记录 DolphinScheduler 社区每月的重要更新,欢迎关注! 月度Merge之星 感谢以下小伙伴10月份为 Apache DolphinScheduler 所做的精彩贡献(排…

第5章-总体设计 5.3 硬件架构设计

5.3 硬件架构设计 1.哪些类型的产品需要架构设计?2.硬件架构师到底做什么?(1)理解需求和业务模型的情况。(2)背板设计,既需要考虑业务数据交换能力,也需要考虑子模块的管理监控能力。…

深度学习工具和框架详细指南:PyTorch、TensorFlow、Keras

引言 在深度学习的世界中,PyTorch、TensorFlow和Keras是最受欢迎的工具和框架,它们为研究者和开发者提供了强大且易于使用的接口。在本文中,我们将深入探索这三个框架,涵盖如何用它们实现经典深度学习模型,并通过代码…

windows 安装Ubuntu 后如何使用

windows 安装Ubuntu 后如何使用 youtube链接 https://www.youtube.com/watch?vPaEcQmgEz78哔哩哔哩视频 https://www.bilibili.com/video/BV1tW42197za/?spm_id_from333.999.0.0两个视频是一样的安装Ubuntu 安装docker的教程,不执行docker的安装即可 安装完毕后…

IDEA leetcode插件代码模板配置,登录闪退解决

前言 最近换电脑,配置idea时和原来的模板格式不一样有点难受,记录一下自己用的模板,后期换电脑使用,大家也可以使用,有更好的地方可以分享给我~ IDEA leetcode插件代码模板配置,登录闪退解决 前言1 下载IDEA leetcode…

kubesphere环境-本地Harbor仓库+k8s集群(单master 多master)+Prometheus监控平台部署

前言:半月前在公司生产环境上离线部署了k8s集群Victoria Metrics(二开版)自研版夜莺 监控平台的搭建,下面我租用3台华为云服务器演示部署kubesphere环境-本地Harbor仓库k8s集群(单master节点 & 单master节点)Prometheus监控部…

Node.js | npm下载安装及环境配置教程

前言: npm 是 Nodejs 下的包管理器,在下载 Node.js 后自动安装,因此本文同时适合 Node.js / npm 的下载安装及环境配置。 一、软件安装 Node.js中文网官网下载页:Node.js 中文网 (nodejs.com.cn) 1)进入下载页&#xf…

C++ 的发展

目录 C 的发展总结:​编辑 1. C 的早期发展(1979-1985) 2. C 标准化过程(1985-1998) 3. C 标准演化(2003-2011) 4. C11(2011年) 5. C14(2014年&#xf…

游戏引擎学习第14天

1. 为什么关注内存管理? 内存分配是潜在的失败点: 每次进行内存分配(malloc、new等)时,都可能失败(例如内存不足)。这种失败会引入不稳定性或不可预测性,需要额外的错误处理逻辑。 …

QT6学习第一天

QT6安装和示例运行 QT介绍QT特点QT开发框架QT Quick和QML介绍Qt Widgets和Qt QuickQT6下载安装QT Creator介绍QT Creator界面介绍 QT介绍 Qt是一个跨平台的应用程序和UI开发框架,可用于桌面、嵌入式和移动平台的应用程序和用户界面的开发。 使用Qt只需一次性开发应…

一文详细深入总结服务器选型

1. 题记: 服务器选型工作是项目规划检讨的一项非常重要的工作,本文详细深入总结服务器选型。 2. 服务器基础知识概览 2.1 服务器的定义与功能 2.1 .1 定义 服务器是一种高性能计算机,其设计目的是在网络中提供服务。它可以处理来自多个客…

打造旅游卡服务新标杆:构建SOP框架与智能知识库应用

随着旅游业的蓬勃兴起,旅游卡产品正逐渐成为市场的焦点。为了进一步提升服务质量和客户体验,构建一套高效且标准化的操作流程(SOP)变得尤为重要。本文将深入探讨如何构建旅游卡的SOP框架,并介绍如何利用智能知识库技术…

基于Python爬虫大屏可视化的热门旅游景点数据分析系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

04 - Clickhouse-21.7.3.14-2单机版安装

目录 一、准备工作 1、确定防火墙处于关闭状态 2、CentOS 取消打开文件数限制 3、安装依赖 4、CentOS取消SELINUX 二、单机安装 2.1、下载安装 2.2、安装这4个rpm包 2.3、修改配置文件 2.4、启动服务 2.5、关闭开机自启 2.6、使用Client连接server 一、准备工作 1…

uni-app移动端与PC端兼容预览PDF文件

过程遇到的问题 1、如果用的是最新的版本的pdfjs的话,就会报Promise.withResolvers 不是一个方法的错误,原因是Promise.withResolvers是ES15新特性,想了解可参考链接,这里的解决方案是将插件里的涉及到Promise.withResolvers的地…

shell编程--永久环境变量和字符串显位

环境变量 echo $HOME 在终端输出后会显示家目录有个root变量 我们会提出个疑问为什么平时我们在终端输入sl 或者which等等命令会输出一些内容呢,这是因为这些命令都有对应的环境变量。 我们查看一下环境变量 在终端输入: echo $PATH 我们看一下输出…

vue3 + vite 进行axios请求封装及接口API的统一管理

前言 在Vue 3项目中使用Vite进行开发时,对axios进行请求封装以及统一管理接口API是非常常见的做法。这不仅可以提高代码的复用性和可维护性,还能统一处理请求和响应,管理错误处理逻辑等。下面是一个详细的步骤和示例代码,来说明如…