Main Content

Impulse Response Measurer Walkthrough

In this tutorial, explore key functionality of the Impulse Response Measurer. The Impulse Response Measurer app enables you to

  • Configure your audio I/O system.

  • Acquire impulse response (IR) measurements using either the exponential swept sine (ESS) or maximum length sequences (MLS) methods.

  • View and manage captured IR data.

  • Export the data to a file, workspace, or other app for further study.

To begin, open the Impulse Response Measurer app by selecting the icon from the app gallery.

Configure Audio I/O System

The Impulse Response Measurer app enables you to specify an audio device, sample rate, samples per frame, player channel, and recorder channel. The audio device must be a real or virtual device enabled for simultaneous playback and recording (full-duplex mode) and must use a supported driver. Supported drivers are platform-specific:

  • Windows® –– ASIO™: Click the button to open the settings panel for the ASIO driver.

  • Mac –– CoreAudio

  • Linux® –– ALSA

Valid values for sample rate and number of samples per frame depend on your specified audio device.

You can use the level monitor to verify the configuration of your audio I/O system.

Configure IR Acquisition Method

To configure your IR acquisition method, use the Method and Method Settings sections of the toolstrip.

You can select the method to acquire IR measurements as either:

  • Maximum Length Sequences (MLS)

  • Exponential Swept Sine (Swept Sine)

Both methods for IR acquisition have the same basic settings, including:

  • Number of Runs –– Number of times the excitation signal is sent within a single capture. Multiple runs are used to average individual impulse response captures to reduce measurement noise.

  • Duration per Run (s) –– Total time of each run in seconds.

  • Excitation Level (dBFS) –– The level of the excitation signal in dBFS.

Both methods for IR acquisition also have the same advanced run settings, including:

  • Wait before first run –– Delay before starting first run. The delay allows time for any last-minute tasks, such as exiting a room before testing its acoustics.

  • Pause between runs –– Duration of the pause between runs. During a pause, the excitation signal is not sent, and audio is not recorded. When using the Swept Sine method, include a pause between runs to avoid buildup of reverberations. Pause between runs is always zero for the MLS method.

  • Number of warmup runs –– Number of times to output the excitation signal before acquisition. The MLS method assumes the signal it acquires is a combination of the excitation signal and its impulse response. Use warmup runs to remove transients.

The total capture time is a sum of run durations, pauses, and the initial wait.

The Swept Sine method has additional Advanced Settings to control the excitation signal, including:

  • Sweep start frequency

  • Sweep stop frequency

  • Sweep duration

  • End silence duration

When using the Swept Sine method, the Run Duration is divided into Sweep duration and End silence duration. During the end silence, the app continues to record audio, enabling acquisition of the response over the entire range of the frequency sweep.

Starting in R2022a, you can automatically save device, method, and advanced settings and use them in future measurement sessions.

Acquire IR Measurements

For this example, use the MLS method with default settings. Once you have your audio device set up, click Capture. A dialog box opens that displays the progress of your capture. IR measurements are captured twice.

Impulse and magnitude responses acquired from audio device.

Analyze and Manage IR Measurements

After the capture, the Impulse Response Measurer app stores the captured data locally. The Data Browser displays the title of the captured data, the colors used for plotting, and information about the settings used to acquire the data. You can double-click a color in the Data Browser to choose which color you want associated with each impulse response. You can also double-click the title to rename your captured data. Rename your captures as FirstCapture and SecondCapture, and change the colors to pink and green. To make one impulse response plot appear on top of the other, select the title in the Data Browser. Select the capture you relabeled FirstCapture.

Impulse and magnitude response plots of captured data.

By default, the impulse response and magnitude response are plotted. You can view any combination of the impulse, magnitude, and phase response using the Layout button. Minimize the Data Browser, then select the Phase Response.

Impulse Response Measurer app display menu.

Impulse, magnitude, and phase response plots.

You can toggle the relative size of the plot by moving the dividers. You can zoom in and out or toggle between linear and logarithmic frequency axes by selecting the icons that appear when your pointer is over the plot. Updating either the magnitude response or the phase response updates the other. Zoom in on the impulse response plot and in the range 0–20 Hz of your frequency response plots. Zooming in, you can see the small delay between FirstCapture and SecondCapture. When the zoom level is high enough, line markers automatically appear.

Zoomed in impulse, magnitude, and phase response plots.

Export IR Measurements

To view export options for further analysis or use, click Export.

Export the data to your workspace. The data is saved as a table. To inspect how the data is saved, display the table you exported.

irdata_111104 =
  2×16 table
                           TimeOfCapture           ImpulseResponse           Device           SampleRate    SamplesPerFrame    PlayerChannels    RecorderChannel    Method    NumRuns    DurationPerRun    ExcitationLevel    RawAudioData    SamplesDropped    OtherMetaData    MagnitudeResponse    PhaseResponse
                     __________________________    _______________    ____________________    __________    _______________    ______________    _______________    ______    _______    ______________    _______________    ____________    ______________    _____________    _________________    _____________
    FirstCapture     20-Oct-2021 11:01:22 -0400      1×1 struct       "Focusrite USB ASIO"      44100            1024              {[1]}                1           "MLS"        2            0.5                -6            1×1 struct           0            1×1 struct         1×1 struct         1×1 struct  
    SecondCapture    20-Oct-2021 11:01:29 -0400      1×1 struct       "Focusrite USB ASIO"      44100            1024              {[1]}                1           "MLS"        2            0.5                -6            1×1 struct           0            1×1 struct         1×1 struct         1×1 struct  

When you export the data as a MAT-file, the same table is saved as when you export to the workspace. When you select to export the data as a WAV file, each impulse response is saved as a separate WAV file. The title of the capture is the name of the WAV file. In this example, selecting to export data to audio WAV file places two WAV files in the specified folder, FirstCapture.wav and SecondCapture.wav.

To analyze your captured data further, view the data in the Filter Visualization Tool or Signal Analyzer app.

See Also

| | |

Related Topics