1 内容介绍
This book describes a few [sub]optimal adaptive filtration algorithms for solving various room acoustic related audio / speech processing problems such as Adaptive Echo / Noise / Feedback / Reverberation Cancellation, etc. If you are reading this text, you most likely already know what AEC / ANC / AFC are about. Other applications may exist but I am not an expert in other fields. Sub-optimal algorithms are a can of worms, you can start working on them but you can never finish. Thus, there is nothing conclusive nor final in this publication, it is a set of intermediate results for the next researcher(s) to pick up and evolve further, and I would like to pre-emptively apologize for the lengthy explanation in the “We shall tell it at length, thoroughly, in detail – for when did a narrative seem too long or too short by reason of actual time of space it took up? We do not fear being called meticulous, inclining as we do to the view that only the exhaustive can be truly interesting” style instead of “For every complex problem there is an answer that is clear, simple, and wrong”. The main problem addressed here is the curse of dimensionality and close-to-singular spectra, in the context of real-time low latency slightly nonlinear, both stationary and non-stationary FIR system identification of Room Impulse Response (RIR). The base is the well-developed theory of adaptive control. The proposed Fast(er) Subband Adaptive Filtering (FSAF) is an evolution of the Subband Adaptive Filtering (SAF) approach originally proposed by Prof. Dr.-Ing. Walter Kellermann in “Analysis and design of multirate systems for the cancellation of acoustical echoes” at ICASSP-1988. Although the text below is full of comparisons with the original proposal by Dr. W. Kellerman and demonstrations of the superiority of the new approach, these comparisons shall not be considered as belittling of the original approach in any respect. The set of new techniques, summarily named FSAF, is faster in all respects: converging faster, taking less MIPS, having lower processing latency, etc. But it’s NOT as “fast” as FFT where all opportunities have been exploited. The proposed technology is not THE fastest adaptive technology but a step towards it, one of infinitely many. FSAF, besides usual per-subband processing, can be used to solve very high dimension system identification problems in a divide and conquer style. For any predefined precision δ, FSAF solves M much smaller, ~1/(M + o(1/δp)), better-conditioned problems in subbands, using either RLS or diagonal / scalar step-size algorithms like Kaczmarz a.k.a. [N]LMS, and converts them back to the fullband time domain, which is Perfect Reconstruction Open-Loop Delay-less SAF. Note that FSAF allows nesting / recomposing of the subband architecture, thus allowing efficient fast converging low-latency low MIPS application for A#C. In 2001, yours truly left his job and went home, to work on the theoretical background of subband adaptive filtering. It was obvious that all low-hanging fruits have already been harvested, and I needed years of concentration on research to achieve anything of value. Alas, there was not a single employer around willing to wait an undetermined number of years for unpredictable results. Most of the groundwork was done in the early 2000s while working on AEC. By 2004...2005, good understanding of the core problems crystallized. It looked so obvious that I could not believe it had not been found by somebody else… but I could not find a relevant publication. 15 years later, I am still puzzled. In 2019, I decided to “pass the torch” to somebody else1.
2 部分代码
clear all;
close all
[x,FS]=audioread('wav/spk.wav');
lenin=length(x);
%t=(1:lenin)*1e3/FS;plot(t,x);
W=FS*100e-3;
[s,f,t]=spectrogram(x,W,W*0.9,W,FS);
S=db(s);
%S=S';
S=S-max(max(S));
S=max(S,-80);
%S=flipud(S);
fsaf.fig(1);
%legend('off');
colormap jet
imagesc('XData',t,'YData',f,'CData',S);colorbar;
axis([0 max(t) 0 max(f)])
grid on;
xlabel('time, s');
ylabel('freq, Hz');
title('speech spectrogram');
N=4;
SF=length(f)-1;
sf=SF/20;
fsaf.fig(2);
for idx=1:N
subplot(N,1,N-idx+1);
ii=idx*3-0;
idx1=(ii-2)*sf+0;
idx2=ii*sf+1;
si=S(idx1:idx2,:);
si=si-max(max(si));
colormap jet
imagesc('XData',t,'YData',f(idx1:idx2),'CData',si);
xlim([0 max(t)]);
ylim([f(idx1) f(idx2)])
grid on;
end
title('speech spectrogram in subbands');
3 运行结果
4 参考文献
[1]王秀丽, 郭改枝, 宋鑫梦,等. 基于自适应滤波地下管道漏水信号去噪处理研究[J]. 内蒙古师范大学学报:自然科学汉文版, 2015, 44(5):4.
部分理论引用网络文献,若有侵权联系博主删除。