移相器——K波段有源移相器设计
博主之前在做一款K波段有源移相器,所用工艺为smic55nmll工艺,完成了几个主要模块的仿真,现对之前的工作做个总结。
K波段的频率范围是18G——27GHz,所设计移相器的工作频率范围是19G——24GHz。其基本结构和我前面发布的一篇随笔类似,只不过用了45nm的工艺。
首先是正交信号产生电路,分别仿真了两种结构,即RC结构(图1)和RLC结构(图2)。
图1 RC结构正交信号产生电路
图2 RLC结构正交信号产生电路
经过仿真发现,RC电路和RLC电路都能产生近乎无误差的四路正交信号,如图3和图4 所示。
图3 RC结构相位仿真
图4 RLC结构相位仿真
但是,RC结构的增益损失交大,RLC增益损失较小,增益曲线如图5和图6所示。
图5 RC结构增益仿真
图6 RLC结构增益仿真
我们的指标要求里还有温度范围的要求,即-50°C——125°C的范围,经仿真发现,RC结构的正交信号精度受温度影响较小,RLC结构的正交信号精度受温度影响较大,故本设计采用RC结构,其瞬态仿真如图7。
图7 RC结构瞬态仿真结果
接下来是吉尔伯特单元,即矢量合成单元,电路结构如图8所示,其中为了扩大带宽,采用了电感峰化技术。
图8 吉尔伯特单元电路结构
目前用理想的电流源代替DAC幅度调制部分的电流镜,方便仿真,真实结构如图9所示。
图9 吉尔伯特单元电路结构(加MOS开关)
对于DAC幅度调制模块,设计如图10所示。其中电流由NMOS入,传到PMOS,采用共源共栅电流镜,可以减小衬偏效应。通过开关选择电流流入到I通路还是Q通路,从而控制输出信号幅度。尾部的NMOS开关用来选择极性,即四个象限,11代表第一象限,01代表第二象限,00代表第三个象限,10代表第四个象限。
图10 DAC幅度调制模块
首先,通过吉尔伯特单元的带宽,如图11所示,可以看到带宽远远满足要求,接着仿真了第一象限的相位,如图12所示,最后,仿真了360°的相位变化,如图13所示。
图11 吉尔伯特单元的带宽
图12 第一象限相位仿真
图13 360°相位仿真
现在基本的模块已经搭建完毕,360°的相移也可以实现,基本功能完成,但是还要考虑输入输出巴伦,其作用是匹配和单端差分的转换,在这里不作考虑。
最后要给出的是开关的真值表,利用该真值表可以完成数字控制,如表1和表2所示。真值表基本采用one-hot编码方式(忽略转变极性的开关)。
表1 0到180°的开关控制真值表
表2 180°到360°的开关控制真值表
考虑到每次开关切换,如果按照上述真值表,那么每次可能会改变两个相位及以上相位,造成移相误差及不必要的功耗,故采用格雷码完成开关电路设计。真值表如表3和表4所示。
表3 0到180°的开关控制真值表(格雷码)
表4 180°到360°的开关控制真值表(格雷码)
基本模块搭建完成。以上便是我的工作总结。
移相器——K波段有源移相器设计的更多相关文章
- 设子数组A[0:k]和A[k+1:N-1]已排好序(0≤K≤N-1)。试设计一个合并这2个子数组为排好序的数组A[0:N-1]的算法。
设子数组A[0:k]和A[k+1:N-1]已排好序(0≤K≤N-1).试设计一个合并这2个子数组为排好序的数组A[0:N-1]的算法.要求算法在最坏情况下所用的计算时间为O(N),只用到O(1)的辅助 ...
- C#下如何用NPlot绘制期货股票K线图(3):设计要显示的股票价格图表窗口并定义相应类的成员及函数
[内容简介] 上一篇介绍了要显示K线图所需要的数据结构,及要动态显示K线图,需要动态读取数据文件必需的几个功能函数.本篇介绍要显示蜡烛图所用到的窗口界面设计及对应类定义.下面分述如下: [窗口界面] ...
- 雷达的L、S、C、X波段是什么
L.S.C.X都是电磁波波段的划分代号. 最早用于搜索雷达的电磁波波长度为23cm,这一波段被定义为L波段(英语Long的字头),后来这一波段的中心波长度变为22cm. 当波长为10cm的电磁波被使用 ...
- [Fundamental of Power Electronics]-PART I-6.变换器电路-6.4 变换器评估与设计/6.5 重点与小结
6.4 变换器评估与设计 没有完美适用于所有可能应用场合的统一变换器.对于给定的应用和规格,应该进行折中设计来选择变换器的拓扑.应该考虑几种符合规格的拓扑,对于每种拓扑方法,对比较重要的量进行计算,比 ...
- LibreOJ #6014. 「网络流 24 题」最长 k 可重区间集
#6014. 「网络流 24 题」最长 k 可重区间集 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 ...
- 分治与递归-找k个临近中位数的数
问题描述:给定由n个互不相同的数组成的集合S以及正整数k≤n,试设计一个O(n)时间算法找出S中最接近S的中位数的k个数. 算法描述: 用线性时间选择实现的算法找到中位数 S’=除去中位数外的S S& ...
- loj #6014. 「网络流 24 题」最长 k 可重区间集
#6014. 「网络流 24 题」最长 k 可重区间集 题目描述 给定实直线 L LL 上 n nn 个开区间组成的集合 I II,和一个正整数 k kk,试设计一个算法,从开区间集合 I II 中选 ...
- 最大 k 乘积问题 ( 经典区间DP )
题意 : 设 NUM 是一个 n 位十进制整数.如果将 NUM 划分为 k 段,则可得到 k 个整数.这 k 个整数的乘积称为 NUM 的一个 k 乘积.试设计一个算法,对于给定的 NUM 和 k,求 ...
- 刷题-力扣-230. 二叉搜索树中第K小的元素
230. 二叉搜索树中第K小的元素 题目链接 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/kth-smallest-element-in-a ...
随机推荐
- vue父组件引用多个相同的子组件传值
没有什么问题是for 解决不了的,我一直深信这句话,当然这句话也是我说的 父组件引用多个相同的子组件传值问题 (这种情况很少遇到) 1 <template> 2 <div> 3 ...
- linux 下 Google配置SwitchyOmega
本文是在linux配置shadowssocks中配置的,windows也可以 通过上一篇文章我们学会了如何科学上网, 但是我们使用SwitchyOmega时选择的是proxy的代理模式 就是说我们不 ...
- K8s Helm安装配置入门
作为k8s现在主流的一种包部署方式,尽管不用,也需要进行一些了解.因为,它确实太流行了. 这一套太极拳打下来,感觉helm这种部署,目前还不太适合于我们公司的应用场景.它更适合需要手工编程各种yaml ...
- rtmpdump应用在window中
rtmp.c 中RTMP_GetTime()函数要改成如下: #pragma comment(lib, "winmm.lib ")uint32_tRTMP_GetTime(){// ...
- 数据库备份 DBS(Database Backup),知识点
资料 网址 什么是DBS https://help.aliyun.com/document_detail/59133.html?spm=5176.13685554.103.6.3fa463f9CDwW ...
- selenium--上传文件
前戏 在进行web自动化的时候,经常需要用到上传文件的功能,selenium可以使用send_keys()来上传文件,但是使用send_keys()上传文件有很大的局限性,只能上传input标签的,好 ...
- cf1179D
cf1179D 链接 cf 思路 csdn 很玄学,正解是斜率优化dp,但被一个奇妙的贪心过了. 代码 #include <bits/stdc++.h> #define ll long l ...
- hive基础知识五
Hive 主流文件存储格式对比 1.存储文件的压缩比测试 1.1 测试数据 https://github.com/liufengji/Compression_Format_Data M 1.2 T ...
- 将float数字按照一定格式写入到文件中
/* float.c */ #include<stdio.h> #include<string.h> int main() { FILE *fp = fopen("D ...
- Computer-Hunters——项目系统设计与数据库设计
Computer-Hunters--项目系统设计与数据库设计 前言 本次作业属于2019秋福大软件工程实践Z班 本次作业要求 团队名称: Computer-Hunters 本次作业目标:撰写一份针对团 ...