当前位置: 首页 > news >正文

RFSOC学习记录(六)混频模式分析

混频

混频器(Mixer)是RFSOC通过ip核实现在数字域的频率搬移,主要功能是在不改变采样率的情况下,把信号的频谱中心移动到目标频率附近

他主要通过一个数控振荡器,生成复指数信号与本振信号相乘,在ip核设置的过程中主要由三个模式

BYPASS

这个又叫直通模式,即不进行任何数字混频,基带信号直接通过ADC/DAC进行输入输出,NCO和Mixer全部旁路

我们接下来都以DAC为例,假如外接频谱仪,则我们看到的信号频率就是你在PL端设计的信号频率,可能是用dds或者rom等形式输出,输出信号的频率分布直接受采样定理限制,且不涉及IQ处理,一般使用实信号或者单边带信号。

在使用DAC生成低频信号或者ADC直采低频基带的时候可以选择这个模式

COARSE

通过简单的乘法器实现频谱翻转,但是只有±Fs/2、±Fs/4、0这三种选项,不是用可编程的正弦表,而是通过硬件乘以±1,±j来实现频率的平移

他的优点是硬件代价小,延迟很低速度快,精度固定

FINE

精混频也是我们使用的最多的一种,他通过高分辨率的NCO实现任意频率的精确搬移,NCO的精度通常在48bit-64bit

NCO

通过可调的相位累加器(phase accumulator)产生离散时间的正余弦信号,是纯数字域产生的信号,频率和相位都可以编程控制,在ip核里表示就是直接输入值就可以了,可以实现极高 的频率分辨率(<1Hz), 且频率、相位变化时没有跳变或者漂移,可以与SYSREF信号实现跨通道的相位对齐,其输出的频率公式是

f_{out} = \frac{phase_inc}{2^{N}}f_{clk}

在精混频的模式下,每个通道都有独立的NCO,频率范围在±Fs/2,NCO也可以设置负频率,可以控制初始相位和配置增益,也可以支持通过SYSREF触发NCO更新,在IQ混频模式下

x_{out}[n]=x_{in}[n]e^{j(2\pi f_{NCO}n/f_{s}+\phi )}

x_{out}[n]=x_{in}[n][cos(2\pi f_{NCO}n/f_{s}+\phi )+jsin(2\pi f_{NCO}n/f_{s}+\phi )]

在DAC上变频里用于把基带搬到中频或者射频,ADC下变频中则设置和对应DAC一样的NCO值用来把信号搬移回基带

Planner实例

我们使用Xilinx官方的频率规划器,用一个DAC 和ADC的例子来分别说明

先以dac为例,假设dac采样率2GSPS,基带中心频率500mhz,带宽50mhz,混频700mhz

image

那在数据输入的时候我们看到的就是500mhz的数据,经过混频之后得到了1200mhz的中心频率,带宽保持不变

image

但在这里最后一步我们可以看到在2800mhz左右出现了频率,那是因为原来在第二奈奎斯特区的信号(1.2GHz)在频谱上以fs进行展开,则折叠在第四奈奎斯特区信号频率为2fs-fc=4-1.2=2.8ghz

image

我们再以adc为例,假设ADC 采样率 fs=4 GSPS,基带信号中心频率100MHz,带宽 100 MHz,载波信号设置为2.5GHz,带宽100MHz,那混频之后的信号中心频率 fc=2.6 GHz,带宽 100 MHz

此信号位于 奈奎斯特第 2 区,经过 ADC 采样后理论上信号折叠到基带的 1.4~1.5 GHz 区间,然后使用 Fine Mixer NCO = -1.4 GHz,即可将信号数字下变频到 0~100 MHz

我们看一下效果

image

设置完成之后发现信号的频谱确实出现在1.45GHz-1.55GHz的位置,那我们下变频只需要把NCO设置为-1.4GHz就可以了

image

我们可以看到这边出现了两个频率分量,那是因为我们可以看到在QMC的时候下面有一个real的标志,我们信号乘以实信号的时候会出现和频和差频两路信号,即

x(t)cos(2\pi f_{NCO}t) = \frac{1}{2}x(t)e^{j2\pi f_{NCO}t}+\frac{1}{2}x(t)e^{-j2\pi f_{NCO}t}

会发现出现了0GHz和2.9GHz的频率分量,但是2.9GHz会在采样域里再折叠回4-2.9=1.1GHz,就是我们在这看到的

image

但是当我们继续下一步数据路径变成复数IQ的时候,数字下变频只留下了单边带,就只剩下了最终我们需要的信号

http://www.cnnetsun.cn/news/174974.html

相关文章:

  • 计算机Java毕设实战-基于springboot村委办公管理系统 基于SpringBoot的乡村事务综合服务平台的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Java毕设选题推荐:基于springboot的村务管理系统的设计与实现智慧村务管理系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 老派C++程式設計師 vs. 現代C++程式設計師:類型系統觀念的全面戰爭
  • 2025年论文去AI率工具合集:每天5次免费AIGC查重+1500字免费降AI!
  • MySQL 千万级表变更字段,要想不锁表,可以这么做!
  • 【毕业设计】基于springboot的校园零售管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 硬件自查自纠!十年前的电脑可能还可以再战十年
  • 一键配置 Web 前端开发环境(PowerShell 自动化脚本)
  • 程序员必备技能:AI Agent 9种设计模式深度解析,提升大模型应用效能(值得收藏)
  • 【python大数据毕设实战】哮喘患者症状数据可视化分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习
  • 9 个降AI率工具,MBA 必备避坑指南
  • Windows系统文件inetmib1.dll丢失损坏 下载修复方法
  • Boost电路的右半平面零点
  • 【全球AI伦理治理】
  • 毕业季必看!7款免费AI写论文神器实测,一站式搞定选题、大纲到降重
  • LLMs之Survey之Agent:《Measuring Agents in Production》翻译与解读
  • 零代码上手Google Gemini 3:5种实用方法大揭秘
  • “你用的那个AI,到底把你坑了还是救了?”——解锁宏智树论文的协作新范式
  • 好写作AI:别等学校采购了!你的论文“救命神器”自己就能用上
  • Windows系统文件GdiPlus.dll丢失或损坏 下载修复方法
  • 研究生必备8款AI写论文神器:5分钟生成25000字问卷类论文,自动生成高信度数据
  • 【BuildFlow 筑流】unitrix_macros库 Cargo.toml 配置详解及依赖库用法
  • 《开发者出海必看:如何优雅地搞定海外服务支付?(保姆级干货)》
  • Thinkphp和Laravel企业防爆安全设备信息系统
  • Thinkphp和Laravel全家桶鲜花售卖商城系统vue
  • 记录我适配iOS26遇到的一些问题
  • 通过命令模拟pod创建
  • 同步机无感 STM32 低成本 MD500E 永磁同步控制方案大揭秘
  • 小宝玩具 【通达信、源码 、主图、附图】
  • 使用 Github Pages 和 Hexo