Skip to content

This is a splitting filter demo. You can find the processing in webrtc's AGC and NS module for the 32khz and 48khz sample rate.

Notifications You must be signed in to change notification settings

jagger2048/WebRtc_splitting_filter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The performance of Splitting filter

Below is the performance of the WebRtc's three-band splitting filter and the two-band splitting filter. We can find that there are two -30dB notches located at around 8khz and 16khz in the frequency response of the three-band filter. Be careful with those cases when using in your production.

When running in PC with a 1.8 GHz CPU, it costs about 1.4077 ms per analysis and synthesis operations,2.53 MIPS in the test. Meanwhile, apply the same test to the two-band QMF filter, it only costs 0.1865ms per analysis and synthesis operations, 0.355 MIPS. As it has been optimized with fix-point processing in the implement.

More details and usages please find the code in the Visual Studio project. These two splitting filter implements are captured from WebRtc and rewrote with C.

1548299479236

1548303239389

update: QMF for two bands case

For the two bands case, 32k sample rate, we test with a 0~20kHz swept-sine signal. Below is the input signal:

The output of lower band :

And the output of upper band :

we can find that the signal of upper band is flip in frequency domain.


Measured with 0~20kHz swept-sine signal, the sample rate is 48kHz for the three-band splitting filter and 32khz for the two-band filter.

Reference from Simultaneous measurement of the impulse response and distortion with a swept-sine technique

About

This is a splitting filter demo. You can find the processing in webrtc's AGC and NS module for the 32khz and 48khz sample rate.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published