Monophonic Acoustic Echo Cancellation (AEC) demo.
Using adaptive filter theory, find a filter w, according to input signals(reference signal x and desired signal d), that minimises (d - w * x),
where d = x * w0 + r, r is Gaussian white noise and "*" denotes convolution operation
These AEC functions are copied and modified from Behrouz Farhang-Boroujeny (2013) Adaptive Filters:Theory and Applications 2nd Edition
AECtest.m calls 5 AEC functions, namely:
- VSNLMS: Variable Step-size Nomalized LMS algorithm
- VSNLMSNt: Variable Step-size Nomalized LMS-Newton algorithm
- VSAPLMS: Variable Step-size Affine Projection LMS algorithm
- VSNPFBLMS: Variable Step-size Nomalized Partitioned Frequency-domain/Fast Block LMS algorithm
- SbLMS: Subband LMS algorithm
And, PFBfilter and SbFilter is the operation on x to create best-estimated d_hat using learned filter w.
- Clone the entire folder to Matlab's running path
- Run AECtest.m
- Run AECtest.m and check the results
- Try changing algorithm options and check different algorithm's effect
- Try changing inputs (reference signal x and echo filter w0 ) and check the results