1. 课程导论与数字信号处理基础
1.1 去噪算法概述
各位同学,欢迎来到《去噪算法RTL设计从零开始》。我是你们的老朋友,一个在数字IC设计领域摸爬滚打了十几年的工程师。今天咱们正式开始第一讲。
先聊聊“去噪”这件事。说白了,就是信号在传输、采集、存储过程中,总会混进一些我们不想要的干扰。比如你打电话时的背景噪音,或者传感器采集到的电路热噪声。去噪算法的目标,就是把这些干扰尽可能滤掉,保留有用信号。
我刚开始做RTL设计时,接过一个雷达信号处理的项目。那会儿天真地以为,算法仿真通过了,硬件实现就水到渠成。结果呢?仿真里完美的滤波效果,一上FPGA就全乱套了。后来才发现,是量化噪声和有限字长效应在作祟。嗯,从那以后,我再也不敢小看数字信号处理的基础了。
1.2 数字信号处理基本概念
数字信号处理,英文叫DSP,咱们圈内人常说的“数字域”处理。它和模拟信号处理最大的区别是什么?你想想看,模拟信号是连续的,而数字信号是离散的——时间和幅度都离散了。
这里有几个关键概念,我建议你刻在脑子里:
- 采样: 把连续时间信号变成离散时间信号。每隔一个固定时间间隔取一个样值。
- 量化: 把连续幅度值变成有限个离散电平。比如用8位二进制数表示一个采样值,那就是256个电平。
- 编码: 把量化后的电平值用二进制码表示出来。
这三个步骤,就是模数转换器(ADC)干的事。咱们做去噪RTL设计,处理的都是ADC送过来的数字信号。
1.3 采样定理
采样定理,也叫奈奎斯特采样定理。它的核心就一句话:采样频率必须大于等于信号最高频率的两倍。否则,就会发生混叠——高频信号伪装成低频信号混进来,你根本滤不掉。
为什么会这样?我简单解释一下。采样相当于在时域上对信号做“离散化”,在频域上就是周期延拓。如果采样率不够,延拓后的频谱就会重叠,混叠就发生了。
咱们做去噪设计时,采样定理是硬约束。比如你要处理一个最高频率为10kHz的音频信号,那采样率至少得20kHz。实际工程中,我通常会留出20%~30%的余量,比如取25kHz或更高。
| 采样率与信号频率关系 | 结果 | 工程建议 |
|---|---|---|
| fs > 2 * fmax | 无混叠,可完美重建 | 留余量,取fs ≥ 2.5 * fmax |
| fs = 2 * fmax | 临界状态,理想情况 | 不推荐,实际有风险 |
| fs < 2 * fmax | 混叠,信号失真 | 必须避免,加抗混叠滤波器 |
1.4 量化噪声
量化噪声,是数字信号处理里绕不开的话题。ADC把连续幅度值映射到离散电平时,必然会产生误差。这个误差,就是量化噪声。
量化噪声的功率,和量化步长直接相关。量化步长越小,噪声越小。而量化步长,又取决于ADC的位宽。位宽每增加1位,量化信噪比(SQNR)大约提升6dB。
公式很简单:
SQNR ≈ 6.02 * N + 1.76 (dB)
其中 N 是ADC的位宽(有效位数)
举个例子:一个12位的ADC,理想SQNR大约是74dB。而8位的ADC,只有50dB左右。差了24dB,相当于信号幅度差了16倍。
咱们做去噪RTL设计时,量化噪声就是“底噪”。你设计的滤波器再牛,也不可能滤掉比量化噪声还小的信号。所以,位宽的选择,直接决定了去噪算法的性能上限。
1.5 本章知识体系
为了让你更直观地理解本章的知识结构,我画了一张图。它把去噪算法、数字信号处理基础、采样定理和量化噪声之间的关系串起来了。
1.6 小结
这一章,咱们把去噪算法RTL设计的“地基”打了一遍。你记住三件事:
- 去噪的本质是在保留信号和抑制噪声之间做权衡。
- 采样定理是硬约束,采样率不够,一切白搭。
- 量化噪声是底噪,位宽决定了你能达到的信噪比上限。