Athena-signal is an open-source implementation of speech signal processing algorithms. It aims to help reserchers and engineers who want to use speech signal processing algorithms in their own projects. Athena-signal is mainly implemented using C, and called by python.

### Detailed description of each module

AEC: The core of the AEC algorithm includes time delay estimation, linear echo cancellation, double-talk detection, echo return loss estimation and residual echo suppression.

HPF: High-pass filtering is implemented using cascaded-iir-filter. The cut-off frequency is 200Hz in this program. You can rewrite the iir filter coefficients and gains, with the help of filter design toolbox in MATLAB, to generate high-pass filter with cut-off frequency you set.

DOA: Capon algorithm is used to get the direction of the sound source. The main function of the Capon algorithm is the Capon beamformer, also called MVDR. The Capon spectrum is estimated by using Rxx matrix and steering vector in frequency domain.

MVDR: This is a Minimum Variance Distortionless Response beamformer. You can set the steering vector(loc_phi) with the help of DOA estimation, which indicates the distortionless response direction. Rnn matrix is estimated using MCRA noise estimation method. Microphone array could be any shape as long as you set the coordinates of each microphones(mic_coord) beforehand. In the future edition, the steering vector will be estimated by DOA estimation. You can set the steering vector by your own DOA estimation method of course.

GSC: This is a Generalized Sidelobe Canceller beamformer, It is composed of Fixed Beamformer(FBF), Adaptive Blocking Matrix(ABM) and the Adaptive Interference Canceller(AIC) modules.

VAD: Voice Activity Detection(VAD) function outputs the current frame speech state based on the result of the double-talk detection.

NS: Noise reduction algorithm is based on MCRA noise estimation method. Details can be found in "Noise Estimation by Minima Controlled Recursive Averaging for Robust Speech Enhancement" and "Noise Spectrum Estimation in Adverse Environments: Improved Minima Controlled Recursive Averaging"

AGC: Automatic Gain Control(AGC) determines the gain factor based on the current frame signal level and the target level so that the gain of the signal is kept within a reasonable range.