Filter Bank 浅谈一二
语音信号中子带处理技术用的较为频繁,涉及到子带技术,不得不说说Filterbank
一、最简单的两通道的滤波器组
如下图,它有最基本的一些单元,比如分析滤波器,合成滤波器,插值和抽取。
其中H0,H1可以理解为低通、高通滤波器。比如对一段音频进行低高通滤波,然后降采样,升采样,最后合成。他们的频谱关系如下图,从图中看,滤波器我就不说了,效果很明显。
这里有个问题就是为什么降采样,不做行不行?你不是多子带处理么,那我不是已经通过各个滤波器不是嗷嗷分解成各个subband了么?那干嘛还要抽取(降采样)?
答:可以不做降采样!因为分频带已经通过滤波器完成了,降采样只是为了频谱扩展,减少信息量。你原来fs就能表达的信号,我现在变成子带处理只需要用fs/2的分辨率就够了,信息精简了,不做采样完全没有问题!关键看你要干嘛。(很多子带处理是要做编解码)
实际上降采样(或者叫抽取)是为了频谱拉伸,信号系统中,抽取的作用相当于把信号频谱拉伸(不规范,先这么理解的),这样信号就均匀布满信号频域了(或者说白了就是为了更精简,为了更进一步编码或者下一步信号处理什么的做基础,你不抽取其实也可以信号已经被滤波出来)
二、说一些实际上常常用的 uniform DFT modulated filter bank
先上一张系统图,这里面包含M个通道,另外抽取和插值也刚好是M(这个图是个示意图,很多细节忽略了,后面我会讲到)
需要设计M个分析滤波器,假如我现在犯懒了只想设计一个 (叫Proto Filter)剩下的M-1个我用“尺子”把它推巴到合适的位置,这时候需要 卷积 exp(-j*wo*n),wo=2*pi*k*n/N,k=0,1...N-1 它的作用相当于调制到每个频率中心点上去,所以有了uniform(统一的)modulated(调制的)的形容词
如下图,我做了一个原型滤波器(M=4),并且将它调制到合适的位置成为complex filter(复数滤波器的好处就是频域不需要镜像对称)四个滤波器组成滤波器组,他们严格交叠在-3dB处,且带宽一致。注意频谱范围是(0-2*pi,而不是0-pi,因为是复频域,呵呵)
现在看好像还和DFT没半点 毛线 关系...我们根据信号处理的一些规则
多相分解的格式变化如下:(其中E和R是原型滤波器多相分解,可以参考https://blog.****.net/shichaog/article/details/77379998)
这样做的目的,在进入并行的滤波器之前做抽取,需要进行的卷积运算量将大大减少!
注意 合成滤波器(右下)那边的R,是从R3到R0,不是R0到R3,这些地方网上很多标错!
这中间的F和F*是什么意思?这里就要和DFT挂上关系了
这里面延迟器、抽取、插值、分析和合成滤波器都安排好了,就差“调制系数”了,这个调制系数就是 exp(-j*wo*n)
根据下面的公式
多相输入还得各路按权重加和,而这个权重就是W
上一下DFT和IDFT的公式:
所以上一下严格的框架图:
这里面要注意几点
1、输入出入都要有延时器,一阶延时,有的地方喜欢用过Δ,有的地方喜欢用D表示
2、注意延时,输入这边是1,Z^-1, Z^-2, Z^-3,... 输出那边是Z^-3, Z^-2, Z^-1, 1
3、注意合成滤波器,是R3 R2 R1 R0,它们是合成滤波器原型的多相分解的顺序倒置(知道为啥叫多相么?它们组之间的相位差固定,呵呵)
4、中间的变换是 IDFT 完了才是 DFT,有的文献喜欢写成 IMDFT,(是的,只能做M point 的IDFT)
说的差不多了, 撸一段代码:
有个问题,时域信号经过一些变换,怎么还能用IDFT??,你时域信号怎么做IDFT,一般不是频域信号做IDFT么?那时域信号做IDFT之后的是什么物理含义?
三、什么是 Oversampled uniform DFT modulated filter bank
名字超长超赞的,先看看定义:
For auniform filter-bank, the bandwidths of all subband filters are equal and the same subsampling rateR i = R is taken for each subband signal. Critical subsampling is performed if R = M . An oversampled filter-bank performs non-critical subsampling whereR<M .
降采样倍率R(subsampling rate,有的文献喜欢说decimated(你在matlab运行一下就知道它是干嘛的了))
M分子带个数(子带个数,频带个数,分band个数,分通道个数)
R<M 过采样
R=M临界采样
R>M 欠采样
一般来说,过采样和临界采样不过产生频谱混叠(为啥?)
过采样,采样倍率没有通道个数多,那么频谱扩展肯定不会交叠(扩展倍率没有通道个数多)但是不会fully perfect reconstruction(完全的重构)需要多次经过filter bank做叠加弥补处理。
看一下oversamped的优势,可以增加合成滤波器自由度,降低频响error和残余谱泄失真