Omnidirectional Microphone

Support for Omnidirectional Microphones

An omnidirectional microphone has a response which is equal to one in all nonbaffled directions. The phased.OmnidirectionalMicrophoneElement object enables you to model an omnidirectional microphone. When you use this object, you must specify these aspects of the microphone:

  • The operating frequency range of the microphone using the FrequencyRange property.

  • Whether the response of the microphone is baffled at azimuth angles outside the interval [–90,90] degrees using the BackBaffled property.

Backbaffled Omnidirectional Microphone

Construct an omnidirectional microphone element having a response within the human audible frequency range of 20 to 20,000 Hz. Baffle the microphone response for azimuth angles outside of +/- 90 degrees. Plot in polar form the microphone power response at 1 kHz.

Note: This example runs only in R2016b or later. If you are using an earlier release, replace each call to the function with the equivalent step syntax. For example, replace myObject(x) with step(myObject,x).

freq = 1e3;
microphone = phased.OmnidirectionalMicrophoneElement(...
    'BackBaffled',true,'FrequencyRange',[20 20e3]);
pattern(microphone,freq,[-180:180],[-90:90],'CoordinateSystem','polar','Type','power');

In many applications, you sometimes need to examine the microphone directionality, or polar pattern. To obtain an azimuth cut, set the elevation argument of the pattern method to a single angle such as zero.

pattern(microphone,freq,[-180:180],0,'CoordinateSystem','polar','Type','power');

To obtain an elevation cut, set the azimuth argument of the pattern method to a single angle such as zero.

pattern(microphone,freq,0,[-90:90],'CoordinateSystem','polar','Type','power');

Obtain the microphone magnitude response at the specified azimuth angles and frequencies. By default, when the ang argument is a single row, the elevation angles are 0 degrees. Note the response is unity at all azimuth angles and frequencies, as expected.

freqs = [100:250:1e3];
ang = [-90:30:90];
response = microphone(freqs,ang)
response = 7×4

     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1
     1     1     1     1