Tag: filter

  • BlockBox v2: Optimisation

    The digital audio processor included in the BlockBox v2 design (part of the audio PWM modulator) has multiple configurable digital filter stages, specifically, biquadratic filters (“biquads”).
    These allow the implementation of practically any second-degree infinite-impulse-response (IIR) filter, defined by five filter parameters each.

    The baseline for these filters was, of course, the cross-over between the two speaker drivers (low-pass for the bass driver, high-pass for the tweeter, both with the same cut-off frequency). Due to the drivers’ respective effective frequency ranges, I opted for a cross-over frequency of 2000Hz.

    Aside from that, the remaining filters were available to fix any frequency response inconsistencies, acting as an equaliser.
    Therefore, I needed to measure the frequency response of the speaker without any filtering – ideally, this would be done in an acoustic chamber using a calibrated measurement microphone, but I did the best I could: Measuring the response in my room, using RoomEQWizard and the best microphone I had available (a Zoom handheld recorder), opting for measurement methods that try to eliminate most environmental reflection effects (gated and near-field measurements).

    Example combined measurement for the low-frequency driver (near-field + gated)

    To configure the audio processor filters, I wrote a small piece of helper software that I called SpeakerEQDesigner, which allowed me to visualise the effects of various filter configurations and export the resulting filter coefficients in the fixed-point number format required by the audio processor.

    I ended up creating two filter profiles – one that targets maximum flatness of the frequency response (“Hi-fi” profile), and one that sacrifices a little bit of flatness for a higher maximum loudness (“Power” profile).

    With these, I should theoretically have achieved very good speaker response characteristics – though I probably didn’t get anything quite as good as the software predicts, because my measurement equipment was quite rudimentary.

    This concludes the BlockBox v2 project, for real this time – let’s look back at what I made.