Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linear-phase filterbank for radial filter design #20

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

narahahn
Copy link
Member

@narahahn narahahn commented Dec 12, 2019

In this PR, a frequency-dependent Ambisonic encoding using linear-phase filter-bank is implemented, which is proposed by Franz Zotter in his paper,

  • Franz Zotter, "A linear-phase filter-bank approach to process rigid spherical microphone array recordings", in Proc. IcETRAN, Palic, Serbia, 2018. link

Almost all scripts in this PR are based on Franz Zotter's Matlab code, which he kindly provided.

The scripts in the examples directory can be used to create the graphics in the abovementioned paper (the exact parameters differ, though). For instance, in examples/linph-filterbank-modal-beamforming-em32.py, the directional responses (frequency- and time-domain) are simulated for Eigenmike em32.

em32-fd
em32-td

@fs446
Copy link
Member

fs446 commented Dec 18, 2019

Very nice to have this here, good work!
I've run all example scripts and had look into the added functions. Looks all reasonable to me. Did not debug this in detail, though.
I made some small suggestions in comments and PEP style coding.
From my side we can merge this.

@narahahn
Copy link
Member Author

narahahn commented Jan 7, 2020

The commit 81efa0b includes two post processing steps which I took from the original Matlab code.

  • 2nd order Butterworth low-pass filter is used in order to limit the bandwidth to 20 kHz
  • a tapering window is applied to the impulse response

The FIR coefficients are now saved in wave files.

@narahahn narahahn requested a review from spors January 7, 2020 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants