针对h很长,x很短的长卷积问题,可以采用PFBLMS算法,将滤波器分段进行操作
分的段越多,延迟越低,但是收敛以后离正常值的偏差越大
¥
支付方式
请使用微信扫一扫 扫描二维码支付
请使用支付宝扫一扫 扫描二维码支付
开通会员,立省600元 立即开通
针对h很长,x很短的长卷积问题,可以采用PFBLMS算法,将滤波器分段进行操作
分的段越多,延迟越低,但是收敛以后离正常值的偏差越大
ast_conv 可以实现低延时取代长卷基
512点滤波器,每次做128点
in 是256的阵,放s的前一时刻数据128点,后面补0,对in做fft
Y 是256x4的阵,放4帧的fft结果,叠加冲击响应W后ifft放在tmp里
method1:
把tmp前M点和上一帧数据后M点叠加放入y.
method2:
修改s填入方法,in的后M点,in的前M点放s。
这样,就省掉一次叠加了
y对比x(s长卷积h).看误差大小
PFBLMS:
x是输出给喇叭的信号,w是房间冲击响应可能是3000点的长序列,用fast_conv分段卷积的方法得到时域信号y,从mic得到的d中减掉y就是近端声音e了。由fast_conv实验得知,这种近似方法和长卷积误差很小。