信号与系统基础:采样定理、混叠、数字频率与复数信号表示(I/Q)

数字下变频(DDC)与数字上变频(DUC)的本质,是在数字域完成频谱的搬移、滤波与速率变换。无论是FPGA内部的NCO(数控振荡器)混频,还是CIC/半带滤波器的抽取与插值,其数学根基都建立在采样定理、数字频率以及复数信号表示(I/Q)之上。如果这些概念理解不透彻,工程中极易出现频谱混叠、镜像抑制不良、相位不连续等问题。本章将系统梳理这些必备的数学与信号处理概念,并直接映射到FPGA实现的具体场景中。

DDC/DUC 信号处理核心概念链路 模拟域 x(t) 连续信号 带宽 B 中心频率 fc 采样率 fs ≥ 2B ADC 采样 fs = 122.88 MHz 量化位数 16 bit 奈奎斯特区 混叠风险点 数字频率 ω = 2πf/fs 周期 2π NCO 相位累加 频率字 Δθ I/Q 复数信号 I = A·cos(ωn) Q = A·sin(ωn) 复数乘法器 镜像抑制 FPGA 内部 DDC 数字信号处理链路 NCO cos/sin 查找表 复数混频器 × e^(-jωn) CIC 抽取 D=8, 无乘法 半带滤波器 2:1 抽取 FIR 整形 补偿/带外抑制 输出基带 I/Q 数据率 = fs/16 ⚠ 若 fs < 2B 则混叠 数字频率范围 [-π, π] I/Q 两路正交采样

上图展示了从模拟信号到FPGA内部DDC处理链路的完整信号流。可以看到,ADC采样是模拟域与数字域的分界线,而数字频率与I/Q复数表示则是后续所有数字信号处理操作的数学语言。下面我们逐一深入剖析这些核心概念。

2.1 采样定理与混叠:数字域的第一道门槛

核心原理

奈奎斯特采样定理指出:对于带宽为B的带限信号,采样率fs必须满足 fs ≥ 2B,才能无失真地恢复原始信号。这里的2B称为奈奎斯特率,而fs/2称为奈奎斯特频率。在FPGA的DDC设计中,ADC的采样率通常远高于信号带宽,例如一个带宽为20 MHz的WCDMA信号,ADC采样率可能设为122.88 MHz,过采样率约为6倍。过采样的好处在于:放宽了抗混叠模拟滤波器的过渡带要求,同时提高了信噪比(处理增益为10·log10(OSR) dB)。

混叠的本质是频谱的周期延拓与重叠。采样在频域等效于将原始频谱以fs为周期进行复制,当信号最高频率超过fs/2时,相邻周期的频谱就会发生重叠,重叠部分的频率成分无法通过任何滤波器分离,造成不可逆的信息损失。在FPGA实现中,混叠一旦发生,后续的CIC、FIR滤波器无论阶数多高都无法消除。

工程风险提示:在DDC链路中,CIC抽取滤波器之前若没有足够的抗混叠衰减,带外噪声或干扰会被折叠到目标频带内。设计时必须计算CIC的阻带衰减是否满足系统指标,必要时在CIC前增加一级FIR预滤波器。

判断方法与操作流程

  1. 确定信号带宽B:根据系统指标(如LTE 20 MHz、GPS 2.046 MHz)明确有用信号的单边带宽。
  2. 选择ADC采样率fs:通常取fs = (2.5~8)×B,兼顾抗混叠滤波器实现难度与FPGA处理速率。
  3. 检查混叠条件:计算信号最高频率 f_max = fc + B/2,确认 f_max < fs/2。若信号为带通采样,需确认信号落在哪个奈奎斯特区。
  4. 仿真验证:在Matlab/Simulink中生成带外干扰信号,观察ADC采样后频谱是否出现混叠分量。

案例拆解:带通采样中的混叠规避

某雷达系统中心频率fc=1.2 GHz,信号带宽B=10 MHz。若直接采用低通采样,需要fs≥2.4 GHz,ADC选型困难且数据率过高。实际方案采用带通采样,选择fs=100 MHz,信号落在第25奈奎斯特区((2×1.2GHz)/100MHz = 24,即第24~25区边界)。此时需确保:(1) 信号带宽10 MHz远小于fs/2=50 MHz;(2) 前置带通滤波器必须抑制其他奈奎斯特区的噪声。FPGA中NCO的中心频率需根据折叠后的频谱位置重新计算,不能直接使用1.2 GHz。通过带通采样,ADC采样率降低至100 MHz,FPGA处理压力大幅减小。

参数低通采样方案带通采样方案
采样率≥2.4 GHz100 MHz
ADC选型难度极高中等
FPGA数据率极高可接受
前置滤波器要求低通,过渡带宽松带通,矩形系数要求高
混叠风险低高,需精确计算奈奎斯特区

常见误区与总结

  • 误区一:认为采样率越高越好。过高的采样率导致FPGA逻辑资源消耗剧增、功耗上升,且ADC有效位数下降。
  • 误区二:忽略带外噪声的混叠。即使信号本身不混叠,宽带噪声也会折叠进带内,降低SNR。
  • 误区三:在CIC抽取后才发现混叠,此时已无法补救。应在设计初期进行完整的链路仿真。
经验建议:在FPGA工程中,建议在ADC数据进入后立即添加一个可旁路的数字下变频观察模块,通过ChipScope或ILA实时查看频谱,快速定位混叠问题。

2.2 数字频率:从模拟角频率到归一化频率

核心原理

数字频率ω定义为模拟角频率Ω与采样率fs的比值:ω = Ω/fs = 2πf/fs。其单位是弧度/采样点,取值范围为[-π, π](或[0, 2π))。数字频率是周期性的,周期为2π,这意味着频率f和f+fs在数字域不可区分。这一特性直接影响了NCO(数控振荡器)的频率控制字计算。

在FPGA中,NCO通过相位累加器产生正弦/余弦波形。相位累加器的位宽为N位,频率控制字FTW(Frequency Tuning Word)与输出频率f_out的关系为:

FTW = round(f_out / fs × 2^N)

例如,fs=122.88 MHz,N=32位,需要产生f_out=10 MHz的混频本振,则FTW = round(10e6/122.88e6 × 2^32) = round(0.08138 × 4294967296) ≈ 349,525,333。相位累加器每时钟周期累加FTW,溢出即完成一个周期的相位扫描。

判断方法与操作流程

  1. 确定目标数字频率:根据系统要求计算ω = 2πf/fs。
  2. 计算FTW:使用上述公式,注意四舍五入带来的频率误差,误差 = |FTW实际 - FTW理想| × fs / 2^N。
  3. 评估相位噪声:FTW的量化误差会导致杂散,通常需要N≥32位以保证频率分辨率足够。
  4. 验证:在FPGA中通过ILA抓取NCO输出,用Matlab做FFT分析频谱纯度。

案例拆解:多通道DDC中的NCO频率规划

某多通道接收机需要同时处理5个不同载频的信号,载频分别为f1=100 MHz、f2=110 MHz、f3=120 MHz、f4=130 MHz、f5=140 MHz,采样率fs=400 MHz。若采用单通道DDC架构,需要5个独立的NCO和混频器。每个NCO的FTW分别为:

FTW1 = round(100e6/400e6 × 2^32) = 1,073,741,824
FTW2 = round(110e6/400e6 × 2^32) = 1,181,116,006
FTW3 = round(120e6/400e6 × 2^32) = 1,288,490,189
FTW4 = round(130e6/400e6 × 2^32) = 1,395,864,371
FTW5 = round(140e6/400e6 × 2^32) = 1,503,238,554

在FPGA中,这5个NCO可以共享一个相位累加器的高位,通过时分复用实现资源优化。但需注意,NCO输出的正弦查找表(LUT)深度需足够,否则相位截断误差会引入杂散。本例中采用18位相位截断,理论SFDR约为-18×6.02 ≈ -108 dBc,满足系统要求。

通道载频(MHz)数字频率(rad)FTW(32位)频率误差(Hz)
CH11001.57081,073,741,8240
CH21101.72791,181,116,0060.37
CH31201.88501,288,490,1890.37
CH41302.04201,395,864,3710.37
CH51402.19911,503,238,5540.37

常见误区与总结

  • 误区一:将模拟频率直接用于数字滤波器设计。FIR滤波器的截止频率必须用归一化频率表示,例如截止频率为0.2π rad。
  • 误区二:忽略NCO相位截断的影响。相位截断位数每减少1位,SFDR恶化约6 dB。
  • 误区三:FTW计算时未考虑符号位。对于负频率(下变频时本振低于信号频率),需使用二进制补码表示。
关键公式:数字频率ω与模拟频率f的换算关系是FPGA信号处理中最常用的工具。务必牢记:ω = 2πf/fs,且所有数字滤波器的频率响应都以ω为自变量。

2.3 复数信号表示(I/Q):正交解调与镜像抑制

核心原理

实数信号x(t)的频谱具有共轭对称性,即正负频率分量互为共轭。这意味着实信号无法区分正负频率,信息量减半。而复数信号x(t) = I(t) + jQ(t)的频谱不再对称,可以独立表示正负频率,从而完整保留信号的幅度、相位和频率信息。

在DDC中,ADC采样后的实信号与NCO产生的正交本振(cos和-sin)相乘,得到I路和Q路:

I(n) = x(n) × cos(ω_LO × n)
Q(n) = x(n) × (-sin(ω_LO × n))

经过低通滤波后,I/Q两路构成解析信号,其频谱仅保留正频率部分(若本振频率等于信号载频,则基带信号位于0频附近)。这种正交下变频的优势在于:镜像信号(位于本振另一侧的干扰)可以被完全抑制,理论上镜像抑制比可达无穷大(实际受I/Q幅度和相位不平衡限制,通常为40~60 dB)。

判断方法与操作流程

  1. 判断是否需要I/Q:若信号为实信号且带宽远小于载频,且系统对镜像抑制有要求(通常>40 dB),则必须采用I/Q架构。
  2. 设计正交本振:NCO同时输出cos和-sin两路,保证正交性(相位差90°)和幅度一致性。
  3. I/Q通道匹配:在FPGA中,I/Q两路的滤波器系数、延迟必须完全一致,否则会产生镜像泄漏。
  4. 校准:通过注入单音信号,测量I/Q幅度误差和相位误差,在数字域进行补偿。

案例拆解:I/Q不平衡的校准

某DDC系统实测镜像抑制比仅35 dB,低于指标要求的50 dB。分析发现,I/Q两路ADC采样的增益误差为0.5 dB,相位误差为3°。在FPGA中增加数字校准模块:

// 幅度校准
I_cal = I × (1 + α/2);
Q_cal = Q × (1 - α/2);
// 相位校准
Q_corr = Q_cal + β × I_cal;
// 其中 α = 增益误差,β = tan(相位误差)

通过迭代调整α和β,将镜像抑制提升至55 dB。校准过程中需注意:α和β的更新步长不宜过大,否则会引入噪声;校准信号应选择远离带内信号的频点,避免干扰正常接收。

指标校准前校准后改善量
镜像抑制比35 dB55 dB+20 dB
I/Q增益误差0.5 dB0.05 dB10倍改善
I/Q相位误差3°0.3°10倍改善
EVM8%2%6%改善

常见误区与总结

  • 误区一:认为I/Q信号必须由两路ADC采样。实际上,单路ADC采样后通过数字混频也可以产生I/Q,但会损失3 dB SNR。
  • 误区二:忽略I/Q通道的延迟匹配。在FPGA中,I路和Q路经过不同级数的滤波器时,必须插入延迟对齐。
  • 误区三:将复数滤波器与实数滤波器混用。复数滤波器的系数是复数,乘法器资源消耗是实数滤波器的4倍。
工程实践要点:在FPGA中实现I/Q信号处理时,建议将I/Q两路数据打包为复数结构体(如使用Xilinx的Complex类型),避免在代码中频繁进行实部/虚部索引操作,提高代码可读性和综合效率。

2.4 从理论到FPGA:采样率变换与多速率信号处理

核心原理

DDC/DUC的核心操作之一是采样率变换。抽取(Decimation)降低采样率,插值(Interpolation)提高采样率。在FPGA中,抽取操作直接丢弃样本,但必须先用抗混叠滤波器限制带宽;插值操作在样本间插入零值,再用镜像抑制滤波器滤除镜像频谱。

多速率信号处理的关键定理是:抽取后的频谱以fs/D为周期延拓,若信号带宽超过fs/(2D)则发生混叠;插值后的频谱以fs×L为周期,需滤除L-1个镜像。CIC滤波器因其无需乘法器、结构规则,成为FPGA中抽取/插值的第一级首选,但其通带衰减较大,需后续FIR补偿。

判断方法与操作流程

  1. 确定抽取/插值倍数:根据系统数据率要求,计算总抽取比D_total = fs_in / fs_out。
  2. 分解抽取链:将D_total分解为CIC抽取(如D=8)、半带抽取(2级,每级2倍)、FIR抽取(如2倍),每级分担部分抗混叠任务。
  3. 计算各级滤波器指标:确定每级的通带纹波、阻带衰减、过渡带宽度。
  4. FPGA资源评估:CIC无需乘法器,但寄存器较多;FIR需要乘法器,但阶数较低。

案例拆解:WCDMA DDC抽取链设计

系统要求:输入采样率fs=122.88 MHz,输出基带数据率3.84 MHz(WCDMA码片速率),抽取比D=32。设计抽取链:

第一级:CIC抽取 D=8,微分延迟M=1,阶数N=4
  → 输出速率 15.36 MHz,通带衰减约 0.5 dB
第二级:半带滤波器抽取 D=2
  → 输出速率 7.68 MHz,通带纹波 0.01 dB
第三级:半带滤波器抽取 D=2
  → 输出速率 3.84 MHz,通带纹波 0.01 dB
第四级:FIR补偿滤波器(63阶),补偿CIC通带衰减

在FPGA中,CIC采用Hogenauer结构,使用定点数(如18位)实现。仿真结果显示,整个抽取链的通带纹波小于0.1 dB,阻带衰减大于80 dB,满足WCDMA邻道泄漏比(ACLR)指标。

级数滤波器类型抽取比输出速率(MHz)乘法器数通带纹波(dB)
1CIC815.3600.5
2半带FIR27.6880.01
3半带FIR23.8480.01
4补偿FIR13.84320.05

常见误区与总结

  • 误区一:将CIC的抽取比设置过大(如D>16),导致通带衰减严重,后续补偿困难。
  • 误区二:忽略半带滤波器的通带边缘特性。半带滤波器的通带截止频率为fs/4,若信号带宽接近该值,需增加额外滤波级。
  • 误区三:在FPGA中直接使用浮点滤波器系数。必须量化为定点数,并仿真量化误差对系统EVM的影响。
设计复盘:多速率信号处理的核心是“逐级抽取、逐级滤波”。每一级抽取前必须确保信号带宽已被限制到该级奈奎斯特频率以内。建议在Matlab中先完成浮点模型验证,再转换为定点模型,最后生成FPGA代码,可大幅减少调试时间。