采样率变换和多速率filter

前言

多速率滤波器技术大约诞生于20世纪70年代,由于其能降低采样率,进而降低计算复杂度,传输速率和存储空间,在信息压缩和通信领域得到了广泛的应用。距【4】介绍,最早的应用是80年代的数字音乐领域,通过过采样+降采样的方法令反混叠滤波器的指标要求大大降低,从而节约了成本。然后在48k vs 44.1k的采样率互换问题上,多速率滤波器也体现了巨大的运算优越性。而令多速率滤波技术走上神坛的则是正交滤波器组和子带分解,子带分解给音视频压缩提供了强大的引擎,同时也在宽带通信、宽带语音信号处理领域得到了大量的应用。说到这里的第一个问题是子带分解和DFT啥关系,仍然引用【4】中的一副图,非常形象的找出了二者的异同。
在这里插入图片描述
据说在QMF的帮助下,临频混叠问题相对于DFT会得到完美的解决。

sampling和aliase

采样和混叠是数字信号处理永远也绕不过去的话题,引自【5】的一张混叠示意图,当采样率不满足Nyquist定理,混叠会在频域表现出这样的状态。
在这里插入图片描述

上图所表示的带限信号截止频率为 B B B,如果 f s / 2 > B f_s/2>B fs/2>B,如(b)的情况,经过采样后的频域延拓信息没有发生混叠, f s / 2 < B f_s/2<B fs/2<B,如(c)的情况,经过采样后的频域延拓信息发生混叠,从理论上无法恢复信号。根据傅里叶变换理论,而对于任何一个带限内的频率分量,我们都可以视为一个正弦波(频率是连续的),表示为 x a ( t ) = A c o s ( 2 π f t + θ ) x_a(t)=Acos(2\pi ft+\theta) xa(t)=Acos(2πft+θ),如果以 f s = 1 / T s f_s=1/T_s fs=1/Ts的采样率进行采样,则会得到: x a ( n T ) ≡ x ( n ) = A c o s ( 2 π f n T + θ ) = A c o s ( 2 π f n / f s + θ ) x_a(nT)\equiv x(n) = Acos(2\pi fnT+\theta)=Acos(2\pi fn/f_s+\theta) xa(nT)x(n)=Acos(2πfnT+θ)=Acos(2πfn/fs+θ)
时间分量被 n n n指数分量代替,模拟到数字的鸿沟就此被搭桥。而根据上面的推导,可以得出一个归一化频率 F = f / f s F=f/f_s F=f/fs,由于奈奎斯特定理限制, − 1 / 2 ≤ F ≤ 1 / 2 -1/2 \leq F \leq 1/2 1/2F1/2。如果根据上式,令角频率 Ω = 2 π f \Omega = 2\pi f Ω=2πf,则有数字角频率 ω = 2 π f / f s = 2 π F \omega=2\pi f/f_s=2\pi F ω=2πf/fs=2πF。由于奈奎斯特定理限制, − π ≤ ω ≤ π -\pi \leq \omega \leq \pi πωπ

decimation vs lpf

decimation

最最简单的抽取就是隔一抽取,很显然这样就会令采样率变成原来的一半,根据上一节的图例,原本清晰奈奎斯特关系(b)变成了混叠的情况(c),但有的时候非抽取不可呢?答案就是先上一个滤波器,截止频率比新采样率的一半还低,问题就解决了。一般地,假设 M M M为整数抽取器的取值,如果输入序列为 x ( n ) x(n) x(n),为了避免混淆,此处定义 x 1 = { x ( n ) , n = 0 , ± M , ± 2 M , . . . 0 , 其他 x_1= \begin{cases} x(n), &n= 0,\pm M,\pm 2M,... \\ 0, & \text {其他} \end{cases} x1={x(n),0,n=0,±M,±2M,...其他那么输出序列: y ( n ) = x ( M n ) = x 1 ( M n ) y(n)=x(Mn)=x_1(Mn) y(n)=x(Mn)=x1(Mn)表示每到第 M M M个进行抽取一个采样点,采样率就变成原来的 1 / M 1/M 1/M z z z变换表示 Y ( z ) = ∑ n = − ∞ ∞ y ( n ) z − n = ∑ n = − ∞ ∞ x ( M n ) z − n = ∑ n = − ∞ ∞ x 1 ( M n ) z − n = ∑ n = − ∞ ∞ x 1 ( n ) z − n / M = X 1 ( z 1 / M ) \begin{aligned} Y(z)= \sum_{n=-\infty}^{\infty}y(n)z^{-n}&= \sum_{n=-\infty}^{\infty}x(Mn)z^{-n}\\ &=\sum_{n=-\infty}^{\infty}x_1(Mn)z^{-n}\\ &=\sum_{n=-\infty}^{\infty}x_1(n)z^{-n/M}\\ &=X_1(z^{1/M}) \end{aligned} Y(z)=n=y(n)zn=n=x(Mn)zn=n=x1(Mn)zn=n=x1(n)zn/M=X1(z1/M)考虑到(渊源欠奉) p ( n ) = 1 M ∑ k = 0 M − 1 e j 2 π k n / M = 1 M ∑ k = 0 M − 1 W − k n ,   W = e − j 2 π / M p(n)=\frac{1}{M}\sum_{k=0}^{M-1}e^{j2\pi kn/M}=\frac{1}{M}\sum_{k=0}^{M-1}W^{-kn}, \ W=e^{-j2\pi /M} p(n)=M1k=0M1ej2πkn/M=M1k=0M1Wkn, W=ej2π/M的性质可以将 x 1 ( n ) x_1(n) x1(n)表示为 x 1 ( n ) = x ( n ) p ( n ) x_1(n)=x(n)p(n) x1(n)=x(n)p(n)这样 X 1 ( z ) = ∑ n = − ∞ ∞ x ( n ) p ( n ) z − n = ∑ n = − ∞ ∞ x ( n ) [ 1 M ∑ k = 0 M − 1 e j 2 π k n / M ] z − n = 1 M ∑ k = 0 M − 1 ∑ n = − ∞ ∞ x ( n ) e j 2 π k n / M z − n = 1 M ∑ k = 0 M − 1 ∑ n = − ∞ ∞ x ( n ) [ e − j 2 π k / M z ] − n = 1 M ∑ k = 0 M − 1 ∑ n = − ∞ ∞ x ( n ) [ W k z ] − n = 1 M ∑ k = 0 M − 1 X ( z W k ) \begin{aligned} X_1(z)&= \sum_{n=-\infty}^{\infty}x(n)p(n)z^{-n}\\ &= \sum_{n=-\infty}^{\infty}x(n)[\frac{1}{M}\sum_{k=0}^{M-1}e^{j2\pi kn/M}]z^{-n}\\ &=\frac{1}{M}\sum_{k=0}^{M-1} \sum_{n=-\infty}^{\infty}x(n)e^{j2\pi kn/M}z^{-n}\\ &=\frac{1}{M}\sum_{k=0}^{M-1} \sum_{n=-\infty}^{\infty}x(n)[e^{-j2\pi k/M}z]^{-n}\\ &=\frac{1}{M}\sum_{k=0}^{M-1} \sum_{n=-\infty}^{\infty}x(n)[W^kz]^{-n}\\ &=\frac{1}{M}\sum_{k=0}^{M-1}X(zW^k) \end{aligned} X1(z)=n=x(n)p(n)zn=n=x(n)[M1k=0M1ej2πkn/M]zn=M1k=0M1n=x(n)ej2πkn/Mzn=M1k=0M1n=x(n)[ej2πk/Mz]n=M1k=0M1n=x(n)[Wkz]n=M1k=0M1X(zWk)
Y ( z ) = X 1 ( z 1 / M ) = 1 M ∑ k = 0 M − 1 X ( z 1 / M W k ) = 1 M ∑ k = 0 M − 1 X ( e j ( w − 2 π k ) / M ) \begin{aligned} Y(z)&=X_1(z^{1/M})\\&=\frac{1}{M}\sum_{k=0}^{M-1}X(z^{1/M}W^k) =\frac{1}{M}\sum_{k=0}^{M-1}X(e^{j(w-2\pi k)/M}) \end{aligned} Y(z)=X1(z1/M)=M1k=0M1X(z1/MWk)=M1k=0M1X(ej(w2πk)/M)
这个公式阐述了几个特性:

  1. 拉伸了 X ( e j w ) X(e^{jw}) X(ejw)在频率轴的宽度,假设M=2,则在归一化频率轴上向外扩大2倍;
  2. 拉伸的响应函数基础上,建立 M − 1 M-1 M1个copy,每个copy平移 2 π 2\pi 2π,那么如果频率不能小于 π / M \pi/M π/M,下一步平移相加后就产生了混叠;
  3. 将1.和2.的结果相加,然后除以 M M M

对于带限信号 X ( e j w ) X(e^{jw}) X(ejw),可以利用下面的图【4】来理解,即无限延拓频谱(离散信号)再次沿着频率轴正向延拓 M M M次,得到了抽取后的频谱(密集恐惧)。这种情况很容易产生混叠,所以需要增加一个滤波器,对抽取的信息进行低通滤波。
在这里插入图片描述

lpf

假设增加一个理想低通滤波器【5】 H M ( w ) = { 1 , ∣ w ∣ ≤ π / M 0 , 其他 H_M(w)=\begin{cases} 1, & |w|\leq \pi/M \\ 0, & \text {其他} \end{cases} HM(w)={1,0,wπ/M其他经过滤波器的信号 v ( n ) = ∑ k = 0 ∞ h ( n ) x ( n − k ) v(n)= \sum_{k=0}^{\infty}h(n)x(n-k) v(n)=k=0h(n)x(nk) y ( m ) = v ( m M ) = ∑ k = 0 ∞ h ( n ) x ( m M − k ) y(m)=v(mM)= \sum_{k=0}^{\infty}h(n)x(mM-k) y(m)=v(mM)=k=0h(n)x(mMk)结合前文中的p(n)得到 v ^ ( n ) ) = v ( n ) p ( n ) \hat v(n))=v(n)p(n) v^(n))=v(n)p(n)这样 y ( m ) = v ^ ( m M ) = v ( m M ) p ( m M ) = v ( m M ) y(m)=\hat v(mM)=v(mM)p(mM)=v(mM) y(m)=v^(mM)=v(mM)p(mM)=v(mM) z z z变换 Y ( z ) = ∑ m = − ∞ ∞ y ( m ) z − m = ∑ m = − ∞ ∞ v ^ ( m M ) z − m = ∑ m = − ∞ ∞ v ^ ( m ) z − m / M Y(z)=\sum_{m=-\infty}^{\infty}y(m)z^{-m}=\sum_{m=-\infty}^{\infty}\hat v(mM)z^{-m}=\sum_{m=-\infty}^{\infty}\hat v(m)z^{-m/M} Y(z)=m=y(m)zm=m=v^(mM)zm=m=v^(m)zm/M
利用p(n)的变换 Y ( z ) = ∑ m = − ∞ ∞ v ( m ) [ 1 M ∑ k = 0 M − 1 e j 2 π m k / M ] z − m / M = 1 M ∑ k = 0 M − 1 ∑ m = − ∞ ∞ v ( m ) [ e − j 2 π m k / M z 1 / M ] − m = 1 M ∑ k = 0 M − 1 V ( e − j 2 π m k / M z 1 / M ) = 1 M ∑ k = 0 M − 1 H M ( e − j 2 π m k / M z 1 / M ) X ( e − j 2 π m k / M z 1 / M ) \begin{aligned} Y(z)&=\sum_{m=-\infty}^{\infty}v(m)[\frac{1}{M}\sum_{k=0}^{M-1}e^{j2\pi mk/M}]z^{-m/M}\\ &=\frac{1}{M}\sum_{k=0}^{M-1}\sum_{m=-\infty}^{\infty}v(m)[e^{-j2\pi mk/M}z^{1/M}]^{-m}\\ &=\frac{1}{M}\sum_{k=0}^{M-1}V(e^{-j2\pi mk/M}z^{1/M})\\ &=\frac{1}{M}\sum_{k=0}^{M-1}H_M(e^{-j2\pi mk/M}z^{1/M})X(e^{-j2\pi mk/M}z^{1/M})\\ \end{aligned} Y(z)=m=v(m)[M1k=0M1ej2πmk/M]zm/M=M1k=0M1m=v(m)[ej2πmk/Mz1/M]m=M1k=0M1V(ej2πmk/Mz1/M)=M1k=0M1HM(ej2πmk/Mz1/M)X(ej2πmk/Mz1/M)相应的单位圆上的傅里叶变换 Y ( j w ) = 1 M ∑ k = 0 M − 1 H M ( e j ( w − 2 π k ) / M ) X ( e j ( w − 2 π k ) / M ) Y(jw)=\frac{1}{M}\sum_{k=0}^{M-1}H_M(e^{j(w-2\pi k)/M})X(e^{j(w-2\pi k)/M}) Y(jw)=M1k=0M1HM(ej(w2πk)/M)X(ej(w2πk)/M)由于开始滤波器的假设条件可知,除了首项其他都为0,即 Y ( j w ) = 1 M H M ( e j ( w ) / M ) X ( e j ( w ) / M ) Y(jw)=\frac{1}{M}H_M(e^{j(w)/M})X(e^{j(w)/M}) Y(jw)=M1HM(ej(w)/M)X(ej(w)/M)至此抽取的时频关系大抵如此。

interpolation vs lpf

而插值的情况稍微复杂一些, 假设原始采样信号为 x ( n ) x(n) x(n),在两个连续值之间插入 I − 1 I-1 I1个零得到新的序列 y ( m ) y(m) y(m),可以表示为 y ( m ) = { x ( m / I ) , 0 , ± I , ± 2 I , . . . 0 , 其他 y(m)= \begin{cases} x(m/I), & 0,\pm I,\pm 2I,... \\ 0, & \text {其他} \end{cases} y(m)={x(m/I),0,0,±I,±2I,...其他
z z z变换如下 Y ( z ) = ∑ n = − ∞ ∞ y ( n ) z − n = ∑ k = − ∞ ∞ y ( k I ) z − k I = ∑ k = − ∞ ∞ x ( k ) z − k I = X ( z I ) Y(z)=\sum_{n=-\infty}^{\infty}y(n)z^{-n}=\sum_{k=-\infty}^{\infty}y(kI)z^{-kI}=\sum_{k=-\infty}^{\infty}x(k)z^{-kI}=X(z^I) Y(z)=n=y(n)zn=k=y(kI)zkI=k=x(k)zkI=X(zI)

利用DTFT变换 y ( m ) = ∫ − π π Y ( ω ) e j ω   d ω y(m) = \int_{-\pi}^{\pi}Y(\omega)e^{j\omega}\,{\rm d}\omega y(m)=ππY(ω)ejωdω
Y ( ω ) = ∑ m = − ∞ ∞ v ( m ) e − j ω m = ∑ m = − ∞ ∞ x ( m ) e − j ω m I = X ( I w ) Y(\omega) = \sum_{m=-\infty}^{\infty}v(m)e^{-j\omega m}\\ = \sum_{m=-\infty}^{\infty}x(m)e^{-j\omega mI}=X(Iw) Y(ω)=m=v(m)ejωm=m=x(m)ejωmI=X(Iw)而通常用 e j w e^{jw} ejw表示 Y ( e j w ) = X ( e j w I ) Y(e^{jw})=X(e^{jwI}) Y(ejw)=X(ejwI)
根据上述推导,再回顾假设原来 x ( n ) x(n) x(n)的归一化角频率为 ω x = 2 π f / f x \omega_x=2\pi f/f_x ωx=2πf/fx,新的采样率是原来的 I I I倍, ω y = 2 π f / ( f x ∗ I ) = ω x / I \omega_y=2\pi f/(f_x*I)=\omega_x/I ωy=2πf/(fxI)=ωx/I,新采样后的在归一化的频谱上被压缩了,从上图的©变成了(b),但问题是不仅如此,镜像频率也进入到区间(如果 I I I=2,相当于原来 f s f_s fs处的频响变成 f s / 2 f_s/2 fs/2),从频域的角度,仍然需要一个低通滤波器,在插值完毕,滤掉 B / I B/I B/I之外的频率响应(镜像),那么再恢复回时域就完成了采样率的提高。

多相滤波器结构

基本推导

任何系统函数的 Z Z Z变换都可以如下表示[8] H ( z ) = . . . + h ( 0 ) + h ( M ) z − M + . . . . . . + h ( 1 ) z − 1 + h ( M + 1 ) z − ( M + 1 ) + . . . . . . + h ( 2 ) z − 2 + h ( M + 2 ) z − ( M + 2 ) + . . . . . . . . . + h ( M − 1 ) z − ( M − 1 ) + h ( 2 M − 1 ) z − ( 2 M − 1 ) + . . . \begin{aligned} H(z)=&...+h(0)&+h(M)z^{-M}&+...\\ &...+h(1)z^{-1}&+h(M+1)z^{-(M+1)}&+...\\ &...+h(2)z^{-2}&+h(M+2)z^{-(M+2)}&+...\\ &...\\ &...+h(M-1)z^{-(M-1)}&+h(2M-1)z^{-(2M-1)}&+... \end{aligned} H(z)=...+h(0)...+h(1)z1...+h(2)z2......+h(M1)z(M1)+h(M)zM+h(M+1)z(M+1)+h(M+2)z(M+2)+h(2M1)z(2M1)+...+...+...+...
对第 i i i行提取因子 z − ( i − 1 ) z^{-(i-1)} z(i1), H ( z ) = . . . + h ( 0 ) + h ( M ) z − M + . . . . . . + z − 1 [ h ( 1 ) + h ( M + 1 ) z − M + . . . ] . . . + z − 2 [ h ( 2 ) + h ( M + 2 ) z − M + . . . ] . . . . . . + z − ( M − 1 ) [ h ( M − 1 ) + h ( 2 M − 1 ) z − M ) + . . . ] \begin{aligned} H(z)=&...+h(0)&+h(M)z^{-M}&+...\\ &...+z^{-1}[h(1)&+h(M+1)z^{-M}&+...]\\ &...+z^{-2}[h(2)&+h(M+2)z^{-M}&+...]\\ &...\\ &...+z^{-(M-1)}[h(M-1)&+h(2M-1)z^{-M)}&+...] \end{aligned} H(z)=...+h(0)...+z1[h(1)...+z2[h(2)......+z(M1)[h(M1)+h(M)zM+h(M+1)zM+h(M+2)zM+h(2M1)zM)+...+...]+...]+...] E i ( z ) = ∑ n = − ∞ ∞   h ( n M + i ) z − n E_i(z)=\sum_{n=-\infty}^\infty\ h(nM+i)z^{-n} Ei(z)=n= h(nM+i)zn系统函数可以改写为 H ( z ) = ∑ i = 0 M − 1   z − i E i ( z M ) H(z)=\sum_{i=0}^{M-1}\ z^{-i}E_i(z^M) H(z)=i=0M1 ziEi(zM)
网络拓扑结构如下【4】:
在这里插入图片描述

假设 M = 3 M=3 M=3,系统输入的 Z Z Z变换为 X ( z ) X(z) X(z),系统输出的 Z Z Z变换为 Y ( z ) Y(z) Y(z),结合上式可表达为: Y ( z ) = H ( z ) X ( z ) = P 0 ( z 3 ) X ( z ) + z − 1 { P 1 ( z 3 ) X ( z ) + z − 1 [ P 0 ( z 3 ) X ( z ) ] } \begin{aligned} Y(z)&=H(z)X(z)\\ &=P_0(z^3)X(z)+z^{-1}\{P_1(z^3)X(z)+z^{-1}[P_0(z^3)X(z)]\} \end{aligned} Y(z)=H(z)X(z)=P0(z3)X(z)+z1{P1(z3)X(z)+z1[P0(z3)X(z)]}
上面这个式子表示的的是频域上已经分为三个滤波器了,而且由于 z 3 z^3 z3的关系,每个滤波器实质上已经是隔三抽取的降采样版本。

何为多相

polyphase两个词根表示多个相位,相位又从何谈起呢?这个主要是从傅里叶变换的频率轴开始的。下面翻译一下【4】中一个DFT Filter Bank的例子,帮助理解多相和滤波器组的概念。回顾一下这个矩阵的样子。

W = [ e − j 0 e − j 0 e − j 0 ⋯ e − j 0 e − j 0 e − j 2 π / N e − j 4 π / N ⋯ e − j 2 ( N − 1 ) π / N e − j 0 e − j 4 π / N e − j 8 π / N ⋯ e − j 4 ( N − 1 ) π / N ⋮ ⋮ ⋮ ⋱ ⋮ e − j 0 e − j 2 ( N − 1 ) π / N e − j 4 ( N − 1 ) π / N ⋯ e − j 2 ( N − 1 ) ( N − 1 ) π / N ] = [ 1 1 1 ⋯ 1 1 e − j 2 π / N e − j 4 π / N ⋯ e − j 2 ( N − 1 ) π / N 1 e − j 4 π / N e − j 8 π / N ⋯ e − j 4 ( N − 1 ) π / N ⋮ ⋮ ⋮ ⋱ ⋮ 1 e − j 2 ( N − 1 ) π / N e − j 4 ( N − 1 ) π / N ⋯ e − j 2 ( N − 1 ) ( N − 1 ) π / N ] \bold W=\begin{bmatrix} e^{-j0} &e^{-j0} &e^{-j0} & \cdots & e^{-j0} \\ e^{-j0} &e^{-j2\pi /N} &e^{-j4\pi /N} & \cdots &e^{-j2(N-1)\pi /N} \\ e^{-j0} &e^{-j4\pi /N} &e^{-j8\pi /N} & \cdots &e^{-j4(N-1)\pi /N} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ e^{-j0} &e^{-j2(N-1)\pi /N} &e^{-j4(N-1)\pi /N} & \cdots & e^{-j2(N-1)(N-1)\pi /N} \end{bmatrix}\\ =\begin{bmatrix} 1 &1 &1 & \cdots & 1 \\ 1 &e^{-j2\pi /N} &e^{-j4\pi /N} & \cdots &e^{-j2(N-1)\pi /N} \\ 1 &e^{-j4\pi /N} &e^{-j8\pi /N} & \cdots &e^{-j4(N-1)\pi /N} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 &e^{-j2(N-1)\pi /N} &e^{-j4(N-1)\pi /N} & \cdots & e^{-j2(N-1)(N-1)\pi /N} \end{bmatrix} W=ej0ej0ej0ej0ej0ej2π/Nej4π/Nej2(N1)π/Nej0ej4π/Nej8π/Nej4(N1)π/Nej0ej2(N1)π/Nej4(N1)π/Nej2(N1)(N1)π/N=11111ej2π/Nej4π/Nej2(N1)π/N1ej4π/Nej8π/Nej4(N1)π/N1ej2(N1)π/Nej4(N1)π/Nej2(N1)(N1)π/N W ∗ = [ 1 1 1 ⋯ 1 1 e j 2 π / N e j 4 π / N ⋯ e j 2 ( N − 1 ) π / N 1 e j 4 π / N e j 8 π / N ⋯ e j 4 ( N − 1 ) π / N ⋮ ⋮ ⋮ ⋱ ⋮ 1 e j 2 ( N − 1 ) π / N e j 4 ( N − 1 ) π / N ⋯ e j 2 ( N − 1 ) ( N − 1 ) π / N ] \bold W^*=\begin{bmatrix} 1 &1 &1 & \cdots & 1 \\ 1 &e^{j2\pi /N} &e^{j4\pi /N} & \cdots &e^{j2(N-1)\pi /N} \\ 1 &e^{j4\pi /N} &e^{j8\pi /N} & \cdots &e^{j4(N-1)\pi /N} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 &e^{j2(N-1)\pi /N} &e^{j4(N-1)\pi /N} & \cdots & e^{j2(N-1)(N-1)\pi /N} \end{bmatrix} W=11111ej2π/Nej4π/Nej2(N1)π/N1ej4π/Nej8π/Nej4(N1)π/N1ej2(N1)π/Nej4(N1)π/Nej2(N1)(N1)π/N
首先利用DFT 矩阵 W ∗ W^* W,构建序列 x ( n ) x(n) x(n)的延时链,令 s i ( n ) = x ( n − i ) s_i(n)=x(n-i) si(n)=x(ni),摘图
在这里插入图片描述

另外,由于 W = e − j 2 π / M W=e^{-j2\pi/M} W=ej2π/M,则令 x k ( n ) = ∑ i = 0 M − 1 s i ( n ) W − k i = ∑ i = 0 M − 1 s i ( n ) e k i ∗ j 2 π / M x_k(n)=\sum_{i=0}^{M-1}s_i(n)W^{-ki}=\sum_{i=0}^{M-1}s_i(n)e^{ki*j2\pi/M} xk(n)=i=0M1si(n)Wki=i=0M1si(n)ekij2π/M这里要先跳出stft分帧的思想,每个时间指数 n n n,上面的框架图会求取 M M M个信号 x k ( n ) x_k(n) xk(n),而输入 s i ( n ) s_i(n) si(n)则是信号 x ( n ) x(n) x(n) i i i个延时(长度仍然为 M M M),而上面的公式(共轭)是典型的IDFT关系(除了没有定标因子 1 / M 1/M 1/M)。这个框图右侧信号的 Z Z Z变换有什么特点呢? X k ( z ) = ∑ i = 0 M − 1 S i ( z ) W − k i = ∑ i = 0 M − 1 z − i W − k i X ( z ) = ∑ i = 0 M − 1 ( z W k ) − i X ( z ) X_k(z)=\sum_{i=0}^{M-1}S_i(z)W^{-ki}=\sum_{i=0}^{M-1}z^{-i}W^{-ki}X(z)=\sum_{i=0}^{M-1}(zW^{k})^{-i}X(z) Xk(z)=i=0M1Si(z)Wki=i=0M1ziWkiX(z)=i=0M1(zWk)iX(z)联想一下 X k ( z ) = H k ( z ) X ( z ) X_k(z)=H_k(z)X(z) Xk(z)=Hk(z)X(z),那么 H k ( z ) = ∑ i = 0 M − 1 ( z W k ) − i = H 0 ( z W k ) H_k(z)=\sum_{i=0}^{M-1}(zW^{k})^{-i}=H_0(zW^k) Hk(z)=i=0M1(zWk)i=H0(zWk),这里的 H 0 ( z ) = 1 + z − 1 + . . . + z − ( M − 1 ) H_0(z)=1+z^{-1}+...+z^{-(M-1)} H0(z)=1+z1+...+z(M1)过程有点绕,但结果已经很清晰了,上述等价一个分析滤波器组(analysis bank) H k ( z ) H_k(z) Hk(z)。这个滤波器频域幅度相应可以单用sinc函数来表达 ∣ H 0 ( e j w ) ∣ = ∣ s i n ( M w / 2 ) / s i n ( w / 2 ) ∣ |H_0(e^{jw})|=|sin(Mw/2)/sin(w/2)| H0(ejw)=sin(Mw/2)/sin(w/2),而第 k k k个滤波器的相应为: H k ( e j w ) = H 0 ( e j w e − j 2 k π / M ) = H 0 ( e j ( w − 2 k π / M ) ) H_k(e^{jw})=H_0(e^{jw}e^{-j2k\pi/M})=H_0(e^{j(w-2k\pi/M)}) Hk(ejw)=H0(ejwej2kπ/M)=H0(ej(w2kπ/M))这相当于 H 0 ( e j w ) H_0(e^{jw}) H0(ejw)移(相)位版本。同样借用文中的图例如下
在这里插入图片描述
上面这个也被称为归一化的DFT 滤波器组(Uniform DFT banks)。这个例子主要是为了理解所以多相的概念,即多个移动相位的滤波器组成的一个组合,但这个例子并不是多相展开,切忌混淆。

参考文档

1.从“零”开始学习一下DCT
2.The Filter Bank Summation (FBS) Interpretation of the Short Time Fourier Transform (STFT)
3.Multirate Filter Banks from CCRMA
4.Multirate Systems and Filter Banks, P.Vaidyanathan
5.Understanding Digital Signal Processing 3rd Edition
6.多相滤波
7.多相滤波器
8.数字信号处理 第四版
9.一窥数字傅里叶变换矩阵

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在TouchDesigner中,采样率和帧速率是两个不同的概念。 采样率用于描述每秒钟内从音频设备中获取多少个样本。在TouchDesigner中,不同的CHOP元件可能有不同的采样率。例如,Oscillator CHOP的采样率是44100次每秒,而Filter CHOP的采样率是60次每秒。当这两个元件结合使用时,它们的采样比不是1:1,而是根据它们各自的采样率进行计算。例如,Oscillator CHOP每过735个音频单元,Filter CHOP才有一次声音上的变化。这可能导致在他们相乘时出现阶梯变化的情况。因此,在项目中需要注意元件的采样率,并根据需要使用Resample CHOP来调整采样率。 另一方面,帧速率是指每秒钟显示的图像帧数。在TouchDesigner中,许多元件使用FPS帧速度作为它们的采样单位。如果项目的帧速率被设置为30FPS,那么每过1470个取样,才有一个声音变化的事件发生。因此,在项目中也需要注意元件的帧速率,并根据需要进行调整。 值得注意的是,帧速率与视频编解码中的H.264编码器也有一定的关系。H.264编码器是一种常用的视频压缩算法,它可以在保持较高视频质量的同时实现较小的文件大小。然而,使用H.264编码器需要较多的处理器内核来播放高分辨率或高帧速率的视频,并且如果编码不正确,可能出现颜色分层化和比特率随内容变化明显的问题。此外,H.264编码器在创建alpha通道方面的能力也有一定的限制。 总结起来,TouchDesigner中的采样率和帧速率是两个不同的概念。采样率用于描述音频设备中每秒钟获取的样本数量,而帧速率用于描述每秒钟显示的图像帧数。在项目中,需要注意元件的采样率和帧速率,并根据需要使用Resample CHOP进行调整。此外,使用H.264编码器时需要注意其优缺点,并在需要时进行正确的设置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【TouchDesigner学习笔记与资料】](https://blog.csdn.net/wangpuqing1997/article/details/105402161)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值