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实验得知,这种近似方法和长卷积误差很小。