第一章:射频与数字信号处理概述

各位同学好,我是你们这门课的老张。在FPGA和射频这个圈子里摸爬滚打了十几年,今天咱们来聊聊这门课的开篇——射频系统、数字信号处理,还有FPGA到底扮演什么角色。

说实话,我刚入行那会儿,射频和数字信号处理是两拨人干的活。射频工程师拿着频谱仪调匹配,数字工程师对着MATLAB算系数。两边开会经常鸡同鸭讲。但现在不一样了,FPGA把这两者硬生生拽到了一起。

一、射频系统基本概念

射频,说白了就是处理高频电磁波的系统。频率范围从几百kHz到几十GHz。你手机里的通信模块、雷达、卫星导航,都离不开射频。

一个典型的射频系统长什么样?我画了个框图,你们看看:

典型射频收发系统框图 天线 LNA 混频器 滤波器 ADC FPGA 数字处理 本振LO 接收信号 中频信号 数字信号

天线收到微弱的射频信号,先经过低噪声放大器(LNA)放大。然后混频器把高频信号搬移到中频或者基带。滤波器负责把杂散信号干掉。最后ADC采样,变成数字信号送给FPGA处理。

嗯,这里要注意一个关键点——噪声系数。我在项目中遇到过,前级LNA的噪声系数如果差了0.5dB,整个接收灵敏度就会掉一截。你后面数字处理再牛也救不回来。

二、数字信号处理在射频中的应用

数字信号处理在射频里能干的事太多了。我挑几个最常用的说说:

  • 数字下变频(DDC):把ADC采进来的中频信号,通过数字混频和滤波,变成基带的I/Q两路信号。说白了就是模拟混频器的数字版。
  • 数字预失真(DPD):功率放大器有非线性失真,数字域里提前做个反失真,把线性度拉回来。这个技术现在5G基站里几乎必用。
  • 信道估计与均衡:无线信道有多径衰落,数字域里用训练序列估计信道响应,然后做个逆滤波把信号恢复出来。
  • 自动增益控制(AGC):信号强度忽大忽小,数字域里检测幅度,反馈控制模拟前端的增益。

核心思想:数字信号处理把射频系统里很多模拟电路干的活,搬到了数字域。好处是灵活、可编程、不受温度工艺影响。坏处是——ADC的采样率和分辨率成了瓶颈。

举个例子。我记得有个项目做宽带接收机,要求瞬时带宽100MHz。ADC采样率至少得250MSPS以上,分辨率还得12bit。当时选型选得我头大,高速高精度的ADC贵得离谱,功耗也大。

三、FPGA在射频系统中的角色

FPGA在射频系统里到底干啥?我总结了三句话:

  1. 数字信号处理的加速器:FIR滤波器、FFT、CORDIC这些算法,FPGA用流水线并行处理,比DSP快一个数量级。
  2. 射频前端的大脑:控制AGC、校准IQ不平衡、调整本振频率,这些控制逻辑全跑在FPGA里。
  3. 协议栈的物理层实现:从同步、解调、译码到成帧,FPGA把物理层算法硬件化。

你想想看,一个典型的软件无线电平台,ADC出来的数据直接进FPGA。FPGA里跑DDC、匹配滤波、同步、解调,最后把基带数据送给ARM或者DSP做上层处理。这个架构现在非常流行。

我的建议:刚开始学FPGA射频设计,别急着上复杂的算法。先把AD/DA的接口调通,确保数据能正确进出。我见过太多人算法仿真跑得飞起,一上板子数据就错位,折腾半天发现是接口时序没调好。

四、避坑指南

最后分享几个我踩过的坑:

  • 时钟设计:射频系统里时钟就是命根子。我曾经因为时钟抖动大了几十飞秒,导致ADC的SNR掉了3dB。后来老老实实用了专用的时钟芯片,再也不敢从FPGA里分频出来给ADC用。
  • IQ不平衡:零中频架构里,I/Q两路的幅度和相位很难完全一致。数字域里要做校准,不然镜像抑制比上不去。我记得有个项目,镜像抑制只有30dB,后来加了数字校准才做到60dB。
  • 仿真与实测的差距:MATLAB仿真里一切完美,一上板子全是问题。为什么?因为仿真没考虑PCB走线的寄生参数、电源噪声、温度漂移。所以我的习惯是——仿真留20%的余量。

重要提醒:FPGA的时序约束一定要做扎实。射频信号处理对时序要求极高,一个setup违例可能让你的解调器完全无法工作。别问我怎么知道的——我有一块板子就因为跨时钟域没处理好,折腾了两周。

好了,第一章就聊这么多。射频和数字信号处理的结合,说白了就是让硬件变得更聪明。FPGA就是那个让硬件变聪明的工具。后面我们会一步步深入,从数字混频、CIC滤波器、FIR滤波器,一直到完整的调制解调器实现。

记住一句话:理论要懂,动手要快,调试要细。这是我这十几年总结出来的经验。


专注资料整理