top of page

EQP-KT Design

For designing our model of the EQP-KT, we decided to take physical measurements of the device in the studio using unfiltered white noise as an input signal. The output of the EQ was recorded and read into Matlab to be processed there.

Screenshot 2024-12-06 at 3.31.30 PM.png
Screenshot 2024-12-06 at 3.31.30 PM.png
Screenshot 2024-12-06 at 3.31.54 PM.png
Screenshot 2024-12-06 at 3.31.17 PM.png

Measurement

We used the Duderstadt Audio Studio B to take our measurements. We recorded the EQ's effect on white noise using the following settings: 

  • High Boost

    • 3kHz, 5kHz, 10kHz, 16kHz

  • Low Boost

    • 20Hz, 60Hz, 200Hz, 800Hz

  • High Cut

    • 3kHz, 5kHz, 20kHz

  • Low Cut

    • 20Hz, 60Hz, 200Hz, 800Hz

  • Bandwidths: 0,5,10

  • Gain: 1-10

4732832727244240868.jpg
Screenshot 2024-12-04 at 10.07.45 AM.png

Figure 1:

5kHz High Boost 

Narrow Bandwidth

Gain: 5

Figure 2:

200Hz Low Cut 

Narrow Bandwidth

Gain: 8

Screenshot 2024-12-04 at 10.10.22 AM.png

Processing

We then read the data into Matlab and use several built-in functions to analyze and process our data.

  • Users are initially asked to define their desired parameters (listed above) so that the proper transfer function can be selected.

  • tfestimate() is used in conjunction with frd() and tfest() to make an estimation of the transfer function of the EQ with the user-selected parameters. This produces a stable continuous-time transfer function.

  • c2d() is then used to move the transfer function into the discrete time domain, so that it can be used as a digital filter.

  • Lastly, filter() is used to finally apply the transfer function to user-provided input audio. We then use audiowrite() to write the output audio to a new file.

Figure 1 and Figure 2 are example graphs of the difference between the frequency responses of the input and output audio files. There is notable noise, particularly in Figure 2: this is likely due to noise introduced in the signal path during measurement by other gear, or due to the challenges we encountered that are outlined in the following section.

8639206604532586337.jpg

Challenges

During computation, we encountered a few challenges. To ensure we could apply the computed transfer function to input audio, we had to use an option for one of the Toolbox functions that enforced the stability of the transfer functions. While this worked in 90% of cases, there were a few specific bands where either this particular method resulted in undesired effects (such as a high frequency ringing throughout the output audio file) or had an extremely low accuracy when comparing the computed transfer function to the actual frequency response.

This was most noticeable in the 10kHz High Boost band and the 800Hz Low Cut band. We are still not 100% certain as to why these inaccuracies appeared, but we would mitigate these issues by either remeasuring those bands individually with a longer recording or selecting a different (but relatively close) frequency band.

Additionally, there was sometimes a relatively small amount of mid-high frequency noise introduced into the output audio. This is likely due to the stability enforcement in our processing method, or from noise in the signal path as previously mentioned.

8639206604532586337.jpg
IMG_1598 2.HEIC
4732832727244240868_edited.jpg

Future Goals

For this particular project, we'd like to measure the remaining frequency bands and bandwidths to get a more complete picture of the entire device. We'd also like to experiment with other methods of obtaining the transfer functions for each parameter selection. While the Audio Toolbox in MATLAB was sufficient for this project, there may be more efficient and accurate methods of doing this in other programming languages that also have tools for computing transfer functions.

For example, Python has a library called SciPy that also has similar computational functions for obtaining frequency responses from data, and Python may potentially be more stable and ubiquitous for our final reach goal of a VST plugin that can be utilized in digital audio workstations.

bottom of page