Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

你好,请问你知道怎么设计子带滤波器的参数吗? #1

Open
zuowanbushiwo opened this issue Apr 4, 2023 · 5 comments

Comments

@zuowanbushiwo
Copy link

在 dios_ssp_share_subband 文件中的 subband_filter_coef是怎么来的?

@changxuding
Copy link
Owner

在 dios_ssp_share_subband 文件中的 subband_filter_coef是怎么来的?

我实际中使用常规的窗函数法去生成满足子代数的原型滤波器,并使它满足wola的完美重建。原作者在issue提到的那篇论文中的设计方法稍微有点复杂。

@zuowanbushiwo
Copy link
Author

是的,我也看过很多设计原型滤波器的文章,发现都很复杂,好难设计。目前也是按照 Subband Adaptive Filtering_ Theory and Implementation 这里面搞的,比较简单的这种。

@jiuyue99207
Copy link

您好,我没有很好的理解子带自适应回声消除算法,想请教您。问题1:子带自适应回声消除,是将mic和ref都通过滤波器组,例如有8组滤波器,那就划分了8个子带。如果按照每帧257个点,那每个子带是不是就是257个点,这样的子带有8个。总的算力不应该会增加嘛,为什么会减小呢。问题2:我看您的子带kalman,里面只是乘了类似窗函数的滤波器,只乘一个嘛,而且好像算力也没有降低。问题3:子带自适应回声消除算法的子代滤波是类似那种提取fbank特征的那种子带嘛,例如输入257个点,提取子代后只有128个点,或者更少。期待您的回复,谢谢。

@changxuding
Copy link
Owner

您好,我没有很好的理解子带自适应回声消除算法,想请教您。问题1:子带自适应回声消除,是将mic和ref都通过滤波器组,例如有8组滤波器,那就划分了8个子带。如果按照每帧257个点,那每个子带是不是就是257个点,这样的子带有8个。总的算力不应该会增加嘛,为什么会减小呢。问题2:我看您的子带kalman,里面只是乘了类似窗函数的滤波器,只乘一个嘛,而且好像算力也没有降低。问题3:子带自适应回声消除算法的子代滤波是类似那种提取fbank特征的那种子带嘛,例如输入257个点,提取子代后只有128个点,或者更少。期待您的回复,谢谢。

你好,说下我个人的理解:1. 子带分解中滤波器组后会进行抽取,所以子带的点数会降低;2. 子带分解通常工程实现使用多相分解或者WOLA,可以参考 Multirate digital signal processing, Crochiere, R. E. , & Rabiner, L. R., Chapter 7,此处使用的是WOLA,你提及的类似窗函数滤波器是对应的prototype filter,相比较频域分块滤波主要体现在fft运算上的资源节省;3. 这两者有相似之处但有所区别,STFT本质也可以看成是滤波器组滤波的过程,子带分解仍需考虑重建后的误差满足需求,子带滤波可以参考 Subband Adaptive Filtering: Theory and Implementation,Kuo S M , Gan W S , Lee K A .

@WangQin-wq
Copy link

Excuse me, is this window using the Kaiser window function? I tried using the Kaiser window to generate it, but currently it cannot be perfectly refactored

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants