Skip to content

Solves phased array microphone coordinates based on Sarradj (2016)

License

Notifications You must be signed in to change notification settings

nup002/sarradj-phased-array

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Phased array microphone solver

This repository contains a python implementation of the optimal phased microphone array solution algorithm as detailed in "A GENERIC APPROACH TO SYNTHESIZE OPTIMAL ARRAY MICROPHONE ARRANGEMENTS" by Ennes Sarradj (2016).

Requirements

sarradj.py requires the following packages:

  • numpy
  • pyqtgraph
  • scipy

How to run

Clone this repository, or just download the file sarradj.py. Install the required dependencies.

Run the following code to generate the optimal microphone array placement with a Hansen weighting function, just as in the paper.

import pyqtgraph as pg  # For plotting
from sarradj import solve_mic_positions, hansen_weight, plot

# Solve the positions of 64 mics with a Hansen weight with scaler of -2.
mic_positions = solve_mic_positions(64, 1, hansen_weight(-2))

# Plot the solved mic positions
app = pg.mkQApp()
plot(mic_positions, H=-2)
app.exec()

Example output

The following shows 8 different 64-microphone placement solutions found with the code in sarradj.py. It matches the results shown in the paper. Run python sarradj.py to replicate this plot. Example output

About

Solves phased array microphone coordinates based on Sarradj (2016)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages