1. 对信号进行下采样时,需要先进行滤波,然后再提取(下采样)。原因解释:
一句话概括就是,提取前如果不进行滤波,就会产生信号混叠,这里的滤波器是抗混叠滤波器。
1. 为什么没有滤波就会有混叠?
因为提取出来的信号的频谱会以新的采样率fs作为周期进行延长。
2. 为什么降采样时信号频谱会扩展?
这看上去就是问题的根源,其实原因也很容易解释,时间域上的离散化,会导致频域上的周期性;频域上的离散化,会导致时域上的周期性。
首先,假设您要处理的信号如下所示:
假设它在频域中,它看起来像这样:
如果要处理这个信号,首先要经过AD采样,然后转换成数字信号,从时域上看就变成这样了:
按照“时域的离散性意味着频域的周期性”,这里的周期就是指采样频率,也就是上图中T1的倒数。现在频域上的信号和之前不一样了,而是变成了这样:
我们对AD采集到的离散信号进行提取处理,完全可以理解为对离散信号进行“离散处理”:
也就是说,原本具有周期性的频域信号会不断“周期化”,然后再次发生变化:
这是什么鬼?这就是所谓的混叠!所以赶紧在抽取前过滤一下吧。当然,不会这样混到只剩下一个“三角形”了。
当然有聪明的朋友也会问,如果这个三角形底边足够窄(带宽足够小),混叠没有那么严重的话,是不是就不会那么难看了呢?理论上确实存在不加滤波就不会出现混叠这样的情况。
但实际情况是,频域上除了三角波以外,在没有三角波的地方也会有一些杂乱的谐波,噪音等等,所以聪明的信号处理工程师会非常小心,不管怎样都会先滤波!
经过过滤之后,三角形就被切成笋片了,现在如果画一堆的话,就不会那么乱了:
2. 对信号进行上采样时,需要先对信号进行插值(上采样),然后再进行滤波操作。解释:
这里的滤波器叫反镜像滤波器。与抗混叠滤波器不同的是,反镜像滤波器是必选操作,也就是说反镜像滤波操作必须在插值之后进行。这是因为直接插值之后,采样率变大,原始频谱的镜像会出现在其他地方(出现在 K×fs 处)。整个上采样过程如下:
其实插值操作就是在两个信号点之间插入若干个零值,这个过程就导致了频谱的周期性延伸,为了使得插值后的波形依然平滑,需要在插值后进行平滑滤波,因此反镜像滤波其实也可以叫平滑滤波器(个人观点)。理论上,周期性延伸频谱可以通过具体的公式推导出来。为了直观地解释为什么经过相应的插值后会出现高频信号,我们可以观察x(m),在原来的两点信号中插入若干个零值,这样在实际信号之间,信号就从一个值突然变为零值或者从零值变为某个值。信号的突然变化意味着信号中含有丰富的高频信息(比如图像的边缘、孤立点、矩形波等)。高频频谱就是这样出现的,而高频频谱出现的具体频率需要公式来推导。
3.为什么要进行下采样和上采样?
直接的原因当然是使用高采样率的ADC和DAC。为什么要使用高采样率的ADC和DAC呢?答案是为了降低模拟滤波器(模拟抗混叠滤波器和抗镜像滤波器)的成本。评价滤波器好坏的指标有很多,对于模拟滤波器,很容易知道,过渡带越窄,滤波器越陡峭,阻带衰减越大,滤波器阶数越高。阶数越高意味着模拟滤波器越昂贵,几乎不可能实现。因此,模拟滤波器的过渡带需要设计得更宽,越宽阶数越低,越容易实现,也越便宜。宽的过渡带意味着需要更高采样率的ADC。因此,ADC采样率越高,对模拟前端的设计要求就越低。
参考: