Jump to content

Analyzing headroom in signal processing systems


SME

Recommended Posts

This thread is inspired by the discussion about using EQ and the drawbacks of doing so.  It has relevant far beyond merely EQ though, since even a "clean" signal chain will have some signal processing in it in order to handle bass management or to filter the LFE channel.

 

Thus far, I have not seen a good guide written on this subject that gives any quantitative guidance on how much extra headroom to allow for signal processing.  Intuitively, the frequency response should give a fairly good indication of how much headroom is lost (or re-gained) by the filter.  If a filter is boosting the response of certain frequencies, then one can anticipate a comparable loss of headroom at that frequency.  This much is precisely true if the test signals are pure sine tones.

 

Against common intuition, filters that only attenuate the sound at certain frequencies can still increase headroom requirements, at least in a worst case sense.  Even all-pass filters that only alter phase response can decrease headroom.  Another unintuitive fact is that the headroom loss that results from cascading two filters is not necessarily the same as the sum of headroom loss in each filter.

 

There exists a relatively simple mathematical analysis to asses the amount of headroom required within a signal chain for a worst-cast scenario (WCS) test signal.  Note that different signal chains and filters will have different WCS signals, and any particular WCS test signal is not unique for that signal chain/filter either.  As another note, the WCS signals I will derive here are most likely different than the signals present on JSS's test disc.

 

To find the WCS *headroom factor* required, you sum the absolute values of the impulse response of the signal chain.  To find the required additional headroom in dB, take 20*log10(factor) of this value like you would to compute a sound level.  That's it.  In what follows, I will apply this analysis to a few basic scenarios which will hopefully illustrate how and why it works.  I expect to carry this out across multiple posts over a period of days or weeks because these analyses take some time to complete.

 

Edit: clarify uniqueness of WCS signals

Link to comment
Share on other sites

We will start our analysis the LPF portion of the 4th order Linkwitz-Riley crossover.  Most home theater systems apply this filter to each mains channel input and sum them along with the LFE channel in order to derive a signal that is sent to the subwoofer.  The filter rolls off at 24 dB/octave and is -6 dB at whatever crossover frequency is chosen.  For this analysis, we will consider the LPF of a 4th order LR crossover at 80 Hz.

 

Let's first look at the impulse response of this filter:

 

post-1549-0-06167300-1428651047_thumb.png

 

Some incidental things to notice right away are that the filter both delays and spreads out the incoming energy.  Technically speaking, this crossover is an IIR and has an infinite non-zero response.  However, it decays fast enough that we can adequately approximate the headroom loss by analyzing a truncated representation.  When we do this with the LPF, we find that the required headroom factor is about 1.13, or about 1.08 dB.  This means that, even though the LPF does not boost any frequencies in the response, it still requires 1.08 dB of *added* headroom in order to reproduce the WCS signal.

 

One way to understand what is happening here is to consider what happens when the WCS signal is convoluted with the filter IR.  This process of convolution mathematically describes precisely what the filter does to the input signal in order to generate the output signal.  With digital convolution, each successive sample in the output signal is computed by shifting the input signal to the left by one sample relative to the filter, multiplying the two together, sample-by-samples as they line up, and then summing up all these products.  This process repeats for each output sample and each involves another shift of the input signal to the left.  (This is not the only definition of convolution but is my attempt to describe in an intuitive wave without using math.  Please do some Googling if you are confused.)

 

The key insight is that it's the maximum possible value of any output sample and the input signal that causes it that *defines* the WCS.  Because each output sample involves the sum of the sample-by-sample products of a shifted version of the signal and the filter IR, a WCS input signal (it's not necessarily unique) is one with all of its samples at full-scale and with the same variation in polarity as the filter IR.  One such WCS signal is illustrated along with the filter IR for the 80 Hz 4th order LR filter here:

 

post-1549-0-25987400-1428654142_thumb.png

 

Unlike in the previous plot, the filter IR has been normalized so that it peaks at "1", without which it would only look like a tiny wiggle against the WCS signal.  We note that the WCS looks a lot like a square wave, so we included an 80 Hz square wave as a reference.  If we look carefully, we can see that the WCS signal neither oscillates at 80 Hz nor is exactly square.  It does consist entirely of flat tops.  To understand why this is a WCS, realize that convolution involves sliding the black line relative to the blue line.  When they line up in the way that is depicted, all the products will be as large as possible and will sum to create the largest value possible for an output sample.  (As an interesting note, if you take this WCS signal and invert the polarity, you get another WCS that leads to an output sample of the same magnitude and opposite sign.)

 

Finally, let's look at what the output actually looks like, using the WCS input we show above:

 

post-1549-0-33208200-1428658454_thumb.png

 

So what we've seen here is that the LPF of a 4th order LR crossover at 80 Hz can produce output samples at least 1.08 dB higher than the highest sample in the input sample.  We also reviewed an example of a WCS signal that causes that level of output, and we noted that this WCS signal oscillates irregularly and has flat tops but is not a square wave.

 

In later installments, perhaps I'll look at the true WCS for the DTS LFE LPF, assuming it is implemented with the expected minimum phase butterworth cascade.  This will enable estimation of the true WCS headroom required in the sub output for a typical 7.1 channel bass-managed system using standard 4th order LR crossovers at 80 Hz.

 

Edit: add IR of output with WCS input

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...