Welcome, Guest
Username: Password: Remember me

TOPIC: Filter Hose Tutorial

Filter Hose Tutorial 1 year 7 months ago #18948

  • hadisumoro
  • hadisumoro's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 19
  • Thank you received: 11
  • Karma: 1
Filter Hose Tutorial (.pdf)
Filter Hose Tutorial - MiniDSP Application Note

Loudspeaker Measurement

Although a loudspeaker can be measured in-situ, the impulse response will contain room reflections. This measurement can be used to create room correction filter. For venue/room tuning, average frequency responses at different audience areas are commonly used (no valid phase information), hence we can use Filter Hose to provide a room correction filter using averaged frequency response or power response curve. Filter Hose also provides advance manual input to accommodate different kinds of frequency domain data (i.e frequency, magnitude, with/without phase), including accepting RTA data.

Ground plane measurement

Although on a lot of occasions FIR is generated to do room correction, it is recommended to create FIR for loudspeaker corrections only and perform proper acoustical treatments. The user may also be interested in experimenting with FIR creation for loudspeaker systems measured in the room/venue vs FIR that corrects the loudspeaker only. Let us discuss several measurement techniques to create loudspeaker corrections (with minimum room influence).

To do a proper loudspeaker correction, a common measurement condition that is simple but effective is an outdoor (or a large room) ground-plane measurement on a reflective surface (such as smooth concrete/asphalt). Please see the pictures below.



Left - Outdoor Ground Plane; Right - Indoor (Warehouse) Ground Plane

Ground plane measurement is one of the most effective ways to minimize room reflections or ground reflection in the measured impulse response.

Free-space measurement

Of course a regular way of measuring loudspeakers is to simply use stands as shown below (taken outdoor).


This measurement condition will include a ground reflection. The frequency response usefulness will be limited from the first reflection (usually from floor). The impulse response shown in the photo on the left can be seen below.


Please see the impulse response's energy time curve below (ETC), showing a reflection at 11ms, and direct sound arrival time at 4ms. The usable impulse response length is only 7ms, and the data only valid at 200Hz and up (after windowing out the reflection).

Gating/Windowing Impulse Response

To help clean up the measured impulse response, Filter Hose provided Hann 50% (also known as Tukey 50%) window and multi-zone time window with different length presets. The user can experiment with different types of windowing to clean up the measurement impulse response if it is imported without windowing. Please note that windowing only works when there is measured phase information. Hence this function is not usable for RTA data or averaged frequency response (power response) data.
Last Edit: 1 year 7 months ago by hadisumoro.
The administrator has disabled public write access.

Filter Hose Tutorial 1 year 7 months ago #18949

  • hadisumoro
  • hadisumoro's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 19
  • Thank you received: 11
  • Karma: 1
Preparing Loudspeaker Data in Filter Hose

To create a proper FIR filter in Filter Hose, several steps are necessary. The most important step will be matching the sample rate of the measurement to the hardware/software that implements the FIR filter. If the measured data is taken with different target sample rate, Filter Hose Manual Input Data can perform sample rate conversion.

Preparing the Measured Data

An outdoor free-space measurement is loaded to the Filter Hose. The data contains a ground reflection.


The direct sound arrival is approximately at 3.9ms and reflections can be noted at around 11ms. First, we like to move the impulse response cyclically to the beginning, so the very early energy arrival is located at zero. In this sample, the first impulse response energy arrival comes at 4 samples prior to the peak of the impulse response.



Step-by-step:

1. Press Max to 0. This will put the peak of the impulse response at 0ms.
2. Insert a value of 4 (samples) under the manual shift and click the right arrow button. This will cyclically move the impulse 4 samples to the right.
3. Select MZTW medium - Set - Yes.
4. Click Advance - Smooth Input.
5. Click Advance - Smooth Input.

In this example, multi-zone time window medium length is used with two times smoothing (smoothing can be found under the advance menu). The impulse response is now fully prepared and the final result is shown below.



Selecting Target

Flat Magnitude and Phase = 0 is selected as target response.




In this example, the magnitude will be flatten from 80Hz to 17000Hz and the phase will be flatten from 250Hz to 35000Hz.

Tips: User is also able to open more than one window of Filter Hose. This can be useful to experiment with different FIR creation for a same input file.

Editing FIR Filter

To create a 512 tap linear FIR filter with 2ms latency, several steps need to be done. First, we need to calculate how many samples are 2ms in a 96000Hz sample rate. This can be done by multiplying the targeted latency with sample rate.



Targeted latency is 2ms, fs is the sample rate which is 96000Hz. The result will be 192 samples.

Step-by-step:

1. Select Hann 50% window. The user can experiment with different windowing to clean up the impulse response's tail of the filter.
2. Input a value of 512 in the tap length. This is the targeted FIR tap length.
3. Click C. This will center the peak of the FIR filter peak to the middle of 512 total tap, which is at sample 256.
4. Because we are targeting 2ms latency (at sample 192), and currently the peak is at 256, we need to cyclically shift the FIR filter 64 sample to the right. Input a value of 64 in shift tap and click right arrow button.
5. Click Set.

The FIR filter final result is shown below.


To export the filter, right click on the time domain graph and click Export text (MiniDSP) and Export text (csv).



Predicted Result

To correctly see the predicted result, it is recommended that the filter be saved as a csv temporarily.

Step-by-Step:

1. Load the original measurement (back to step 1), and use only the multi-time window (medium) to clean up.
2. In step 2, select Load from *.csv and select the filter csv file.
3. In step 3, select Rectangular window, input a value of 512 in tap length, click C, input a value of 64 and click the right arrow button. Click Set. This should not alter the loaded FIR filter impulse response at all.
4. Click step 4, convolve input and filter.

The predicted result is shown in the picture below.
The administrator has disabled public write access.

Filter Hose Tutorial 1 year 7 months ago #18950

  • hadisumoro
  • hadisumoro's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 19
  • Thank you received: 11
  • Karma: 1
Importing the Filter to MiniDSP OpenDRC Plug-in

Open the exported .txt file using Notepad or Excel or some other similar program. Select all and copy to clipboard (Ctrl-C).



Open MiniDSP OpenDRC, and click on FIR channel to open the FIR filter import window.

Click Manual Mode, and then select all text in the left table and hit delete on the keyboard. This will clear up all coefficients that was previously loaded. Paste the new coefficient from the clipboard.

The administrator has disabled public write access.

Filter Hose Tutorial 1 year 7 months ago #18951

  • hadisumoro
  • hadisumoro's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 19
  • Thank you received: 11
  • Karma: 1
The pdf version of this tutorial can be downloaded from here
The administrator has disabled public write access.

Filter Hose Tutorial 7 months 1 day ago #25233

  • hadisumoro
  • hadisumoro's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 19
  • Thank you received: 11
  • Karma: 1
We have released new video tutorials based on V2.0.

Four previous video tutorials were already erased, MiniDSP forum moderator: please help to erase the previous 4 posts containing broken links to youtube.



Basic Introduction.
Explaining the main window and buttons.
Explaining the work flow.
Running time: 8:55





Creating a linear phase FIR.
Adjusting the processing delay of an FIR filter.
Running time: 6:11





Creating FIR filters using advance functions in Filter Hose.
Explaining manual input function.
Explaining user defined target function.
Explaining user defined filter function.
Running time: 17:22
Last Edit: 7 months 1 day ago by hadisumoro.
The administrator has disabled public write access.

Filter Hose Tutorial 6 months 3 weeks ago #25393

  • devteam
  • devteam's Avatar
  • Offline
  • Administrator
  • Posts: 5132
  • Thank you received: 632
  • Karma: 119
Very cool step by step! We'll soon update your product page under the application with the vids. THanks again for the great support on this software.

DevTeam
MiniDSP, building a DIY DSP community one board at a time.
The administrator has disabled public write access.
Time to create page: 0.128 seconds