ARTICLE · 1091097
爱丽丝漫游软件无线电世界(第五章)——数字变频工厂
爱丽丝漫游软件无线电世界(第五章)——数字变频工厂



爱丽丝走出剧场时,手里还攥着那张信号流图——天线→射频前端→ADC→DDC→基带处理→DUC→DAC→射频前端→天线。她边走边低头看,目光在DDC和DUC两个标记上停留了很久。 “大哥FPGA的主场,”她自言自语,“数字变频工厂。” 她抬起头。前方出现了一座巨大的工厂,工厂的烟囱里喷出的不是黑烟,而是不断变化的频率谱线——有的高,有的低,有的在缓慢滑动,有的在快速跳跃。工厂的墙体是半透明的玻璃,从外面可以看到内部无数条传送带在运行,但传送带上运送的不是零件——而是信号。那些信号从一端流入时是密集的、高速振荡的细针状波形,从另一端流出时变成了平滑的、缓慢起伏的基带波形。 
工厂大门上挂着一块牌子: “数字变频工厂——翻译不同“语言”的地方。” 爱丽丝推开门走进去。工厂内部比她想象的要安静——传送带在无声地运行,成千上万的信号在透明的管道中无声地流动。唯一的声音来自一个高处的扩音器: “接收方向——DDC,数字下变频,正在翻译。高频语言→低频语言。”“发射方向——DUC,数字上变频,正在反向翻译。低频语言→高频语言。” 爱丽丝沿着主通道往前走。工厂被分成了两个区域——左边写着“DDC——接收方向”,右边写着“DUC——发射方向”,每个区域都有长长的传送带。传送带的起点处,站着一个人——魁梧的身材,红色的工装,工装上印满了逻辑单元的图案,双手交叉抱在胸前,像在等着她。 “你来了。”FPGA说,“我猜到你会第一个来这儿。” “你不是在剧场里演出了吗?” FPGA笑了一声,声音像一万个开关同时闭合发出的“咔嗒”声:“剧场里是介绍。这里是干活。走,我带你看DDC和DUC是怎么跑起来的。” PART01 
一、接收方向——DDC:把高频“降”下来 
FPGA把爱丽丝领到传送带的起点。传送带上流动着一束信号——那是高频的、像密集的细针一样振荡的波形,肉眼几乎看不清每一条振荡的轮廓。 “这是从天线进来的高频信号,”FPGA说,“已经经过了射频前端的放大、滤波和变频,已经被ADC变成了数字信号。现在它正从ADC的出口源源不断地流入我的手心。它的速度很快——几十兆到几百兆采样每秒——快到DSP看一眼就会晕过去,CPU看到就会崩溃。” “所以第一件事就是——降速。” 他指了指传送带上依次排列的三个工位: 工位①:混频器。传送带上的高频数字信号在这里与一个本地产生的数字频率“相遇”,两个频率相减,输出一个频率更低的信号。 “混频——把高频信号和一个本地频率做差,得到中频。就像两种语言同时发声,我只听它们之间差了多少。” 工位②:滤波器。经过混频后的信号流经一道精密的筛网,只允许指定频段的信号通过,其余的统统被拦在外面。 “滤波——把混频后产生的杂散频率切掉,只保留我们想要的那一段。” 工位③:抽取器。信号经过这里时,传送带忽然变慢了——原本100个样本中只保留10个,数据量降到了原来的十分之一。 “抽取——信号频率降下来了,就不需要那么多采样点了。我们只保留足够多的样本,保持信号的信息量完整,让后面的DSP和CPU跑得动。” 三个工位走完,爱丽丝看到传送带末端输出的信号——那不再是高频细针状的波形,而是变成了一束平滑的、缓慢起伏的基带信号。 
“高频语言”→“中频语言”→“基带语言”。它被“翻译”了两次,速度降到了原来的几十分之一,变得容易被理解和处理了。 “这就是数字下变频——DDC。”FPGA说,“把高频的、快到处理不了的语言,翻译成低频的、慢到处理得了的语言。ADC出来的数字信号,在我的手里完成了第一次、也是最重的一次降速。” PART02 
二、发射方向——DUC:把低频“升”上去 
“现在看另一边。”FPGA走到工厂右侧的传送带起点。 传送带起点处的信号和刚才看到的完全不同——它是缓慢流动的、波峰间距很宽的基带信号,是DSP和CPU处理完之后准备发射的基带信号。 “这是DSP处理完之后交给我的基带信号——可能是你的声音、你要发送的数据。它的速度很慢,频率很低,从天线根本发射不出去。频率越低,天线越长——要让基带信号发射出去,天线可能要几十米长。” “所以需要反过来:把‘慢速语言’翻译成‘快速语言’。” 传送带右侧的三个工位和左边非常相似,但顺序完全相反: 工位①:内插器。慢速基带信号流过一个“加速器”,在两个数据点之间插入额外的数据点,数据量成倍增加。 “内插——把数据点加密,让信号有足够多的样本来承载频率的提升。” 工位②:滤波器。信号经过另一组筛网,把内插时产生的“镜像频率”切掉,只保留平滑的、干净的信号。 “插完值还要‘修边’,不然会有多余的杂波混在信号里。” 工位③:混频器。信号与一个本地产生的高频数字载波“相遇”,两者相加,输出一个高频的信号。 “混频——把低频信号抬上去。现在它‘骑’在载波上了,频率已经升到了射频的波段,可以被天线发射出去了。” 三个工位走完,传送带末端输出的信号重新变回了高频的、密集的波形——和爱丽丝在DDC区域起点看到的那束信号几乎一模一样。 “基带低频语言”→“中频语言”→“射频高频语言”。它被“反翻译”了两次,速度提高了几十倍,可以送到DAC变成模拟信号,经过射频前端发射出去了。 “这就是数字上变频——DUC。”FPGA说,“把低频的基带信号,翻译成高频的射频信号,让它能从天线飞出去。” PART03 
三、逆过程 
爱丽丝站在两条传送带之间——左边是DDC接收线,右边是DUC发射线。她把两幅流图并排对比: “它们几乎是反向的?”爱丽丝问。 “完全正确!”FPGA的声音里带着明显的满意,“DDC做减法——频率越降越慢,数据越抽越少。DUC做加法——频率越升越快,数据越插越密。抽取和內插是反向操作。混频在两个方向上都叫‘混频’,但一个是做差(接收),一个是做和(发射)。” 他指着控制台上显示的两条并行流图: “DDC的反向就是DUC。在SDR世界里,能收就能发——前提是你把流程反过来。” “而这一切,”他拍了拍自己的胸口,“都在我的手心里完成。混频、滤波、抽取、内插——这些操作需要同时处理数以亿计的数据流,一秒几十亿次运算,不能等、不能排队、不能‘一个一个来’。只有我有一万只手同时干活。” “二哥DSP算得精,但干不了这么多路并行;三弟CPU管得宽,但速度跟不上。数字变频——天然是我的主场。” PART04 
四、变频在信号流中的位置 
FPGA带着爱丽丝走到工厂的控制中心。墙上挂着一幅巨大的“频率翻译地图”——和在走廊里见过的信号流图一致,但DDC和DUC的区域被标成了红色。 “你看,”FPGA指了指地图,“整条信号流中,ADC和DAC之间的所有数字处理,有相当一部分是对频率的操作——降速、升速、混频、滤波。” “我的位置就在这里——ADC出口到基带入口、基带出口到DAC入口。所有数字变频的活,都由我完成。然后我再把处理完的基带信号交给DSP,把发射基带从DSP那里接过来。” “那DSP呢?”爱丽丝问。 “他站在基带区域,做调制解调、编解码、均衡——那些需要算得精的活。但他不碰变频,变频太粗重了,他接不住。” “CPU呢?” “他站在整个地图的最上方。不在任何一条传送带上,但他负责告诉传送带怎么走——频率参数、滤波器配置、采样率设定,全由他发指令下来。” 爱丽丝看着那张地图上不同颜色的分工标记,终于理解了整条信号流的运作方式。 
“所以信号流的完整路径是——天线进来→射频前端→ADC→FPGA(做DDC)→DSP(做基带处理)→FPGA(做DUC)→DAC→射频前端→天线发射。” “FPGA做了两次活——一次在接收端降频,一次在发射端升频。DSP在中间做了一轮精算。CPU一直悬在所有人上面管着所有事。” “完全正确。”FPGA双手插在红色的工装口袋里,“这就是SDR数字域的完整故事——重活归我,精活归DSP,管活归CPU。” 他指了指工厂出口的方向:“下一站,你会看到我和二弟、三弟在不同板卡上的不同模样。有的板卡上我只住一个小房间,有的板卡上我住一整层楼,还有一个平台——我和三弟住进了同一个房间。” “下一站?” “硬件博览会。”FPGA说,“那里你会看到三兄弟在不同平台上的具体分工。” PART05 
五、工厂的出口 
爱丽丝走出工厂时,天色已经接近傍晚。工厂的透明墙体里,传送带仍然在运行,信号仍然在流动,混频器、滤波器、抽取器、内插器仍然在各自的位置上执行着同样的翻译指令。 工厂大门上那块牌子的下方,又多了一行字——像是有人在她离开时刚刚加上去的: “不是造信号的工厂,是翻译信号的工厂。”“——翻译官:FPGA大哥。” 爱丽丝回过头,看到那个红色的魁梧身影还站在工厂门口。他的一万只手已经收起来了,但身后的传送带仍在永不停歇地运转。把高频翻成低频,把低频翻成高频——日复一日,频率来频率去,这就是数字变频工厂永不停歇的原因。 她转身,朝下一站走去。 远处,一座巨大的展厅轮廓正在浮现。透明的玻璃穹顶下,灯光照亮了无数展台和电路板。她开始想象,在那些展台上,三兄弟会以什么样的形态出现。 (未完待续,下一章:硬件博览会——爱丽丝将走进SDR硬件博览会,从几十元的RTL-SDR到十几万元的USRP,从亮黄色的HackRF到独立运行的Zynq平台。她会在每一块板卡上寻找大哥FPGA的身影——看他从“小房间”到“一整层楼”的进化。) PART06 
【第五章知识点回顾】 
PART07 
下一章预告 
硬件博览会——爱丽丝将走进SDR硬件博览会,从几十元的RTL-SDR到十几万元的USRP,从亮黄色的HackRF到独立运行的Zynq平台。她会在每一块板卡上寻找三兄弟的身影——RTL-SDR里没有FPGA,HackRF里是一颗简化版的CPLD,USRP里住着完整的FPGA,而Zynq里FPGA和CPU已经住进了同一个房间。 本文为原创内容,转载请注明作者、来源公众号及官方网址(https://www.dyaotech.com),未经授权禁止篡改、商用,违者必究! 












DDC(接收):混频→滤波 →抽取
DUC(发射):内插→滤波 →混频







SDR概念 | 童话化身 |
数字下变频(DDC)——接收方向 | 高频→中频→基带,信号越翻越慢 |
数字上变频(DUC)——发射方向 | 基带→中频→射频,信号越翻越快 |
混频(接收) | 高频频率与本地频率相减——输出中频频率 |
混频(发射) | 基带频率与本地频率相加——输出射频频率 |
滤波 | 切掉不要的频段,只保留需要的部分 |
抽取 | 接收方向:减少数据点,降低数据率 |
内插 | 发射方向:增加数据点,提高数据率 |
DDC与DUC的镜像关系 | 接收流图的反向排列就是发射流图——同一套操作,方向相反 |
DDC/DUC与FPGA的关系 | 数字变频需要高速并行处理海量数据流,因此通常在FPGA中实现。FPGA是变频工厂的“主场选手”。 |
三兄弟在信号流中的分工 | FPGA做DDC/DUC(重活),DSP做基带处理(精活),CPU做控制管理(管活) |


