The use of automated speech recognition (ASR) engines for mobile applications is on the rise. Though, in theory, increasing the number of microphones affords increase in signal to noise ratio (SNR), practical constraints such as computation complexity and latency limits the realistic number of microphones that can be used. Algorithms that tend to rely on single pre-computed filters are a gold standard. We present the use of four microphones, which is the minimum number of microphones required for 3-dimension disambiguation of spatial direction of audio sources. Without loss of generality, we considered the relaxed dimension of 2-dimension audio beamforming with four microphones in a square topology.

Consider an acoustic signal impinging a microphone array as shown in Figure 1 below:

Figure 1: Four microphones in square topology

Using the geometric arrangement of the microphones, a filter can easily be generated that corresponds to the aggregate of the signals impinging the array. It is also easy to see that for every acoustic source, it impinges at an angle which obeys . Using this information, a single distortion less response for can be generated for all angles withing the said range as shown on Figure 2 below:

Figure 2: Frequency response for single filter for all }

The single filter can give us gains up to points using only 4 microphones. A sample of the results on real data is shown below on Figure 3,  with a SNR improvement of .

Figure 3: Four microphones showing a  improvement

The SNR improvement can be enhanced using single channel noise suppression and AGC on the beamforming output.

VOCAL Technologies offers custom designed solutions for beamforming with a robust voice activity detector, acoustic echo cancellation and noise suppression. Our custom implementations of such systems are meant to deliver optimum performance for your specific beamforming task. Contact us today to discuss your solution!
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 6, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0, "math_score": 0.44261184334754944, "perplexity": 1384.2083535180814}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 10, "end_threshold": 15, "enable": false}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "warc_path": "s3://commoncrawl/crawl-data/CC-MAIN-2022-49/segments/1669446710801.42/warc/CC-MAIN-20221201053355-20221201083355-00128.warc.gz"}