4
$\begingroup$

My professor asked me why you choose $a=0.97$ in a pre-emphasis filter $H(z)=1-\frac{a}{z}$ for your pre-processing step.

  • What is the relation between $a$ and the filter?
  • How does this coefficient effect the performance?
  • Why do people use $a=0.9$ or $a=0.97$?
$\endgroup$

4 Answers 4

6
$\begingroup$

If you look at the spectrum of speech sounds, you will notice that less energy is present in the highest frequencies, with an overall decreasing slope. The goal of the pre-emphasis filter is to counter-balance this, and flatten the spectrum. This helps for one or several of the following reasons, depending on your application:

  • In an analog speech transmission/recording system, applying an emphasis filter on the emitter (recorder) and a de-emphasis filter on the receiver (player) improves the signal to noise ratio for the high frequencies - since they will be recorded/transmitted at a higher amplitude than without pre-emphasis. This is why vinyl records need a special kind of pre-amplifier (RIAA equalization).
  • In a digital speech processing system implemented with fixed point arithmetics, this avoids truncation errors, by allowing the FFT coefficients carrying the highest frequencies to have a larger magnitude, making better use of the available dynamic range.
  • In a speech analysis/modeling context (such as linear prediction or sinusoidal modeling), one seeks the model parameters which minimize the distance between the model and the signal. When applying these techniques on speech signals which have not been pre-emphasized, the model will spend a lot of its "parameter space budget" (sinusoids, poles...) trying to overfit the very first harmonics, while ignoring the highest order ones - while these harmonics might actually be relevant for speech intelligibility or phoneme discrimination. Applying pre-emphasis ensures that the model will fit the spectrum more evenly.
  • The low frequency band is occupied by sounds which are useless/harmful for speech recognition: DC offsets, microphone pops, AC 50Hz/60Hz buzz from ground loops or poor board design, etc. The pre-emphasis filter you mention, which is indeed a simple high-pass filter, helps getting rid of these.

As for the the actual value of $a$, you can try plotting the frequency response of the filter for these different values and/or see where the cutoff frequency is. You could also try to visualize its effect on a small corpus of speech signals - how balanced the spectrum becomes after pre-emphasis. It is largely application-dependent - for example, in some applications, poor microphone quality adds an extra 6dB roll-off of the higher frequencies which need more compensation. In speech recognition, this is the kind of parameter tuned a posteriori to try to get better recognition results - though my experience is that with modern models and recognition techniques it has little influence on performance.

$\endgroup$
2
$\begingroup$

If you're familiar with the concept of "poles" and "zeros" in the z-domain, feel free to skip the next paragraph.

The way to quickly visualize the frequency response of a filter in the z-domain is to "trace" the unit circle, by setting $z = e^{j\omega}$. If a point on the unit circle "trace" is close to a zero, the corresponding frequency will be attenuated. Alternatively, if a point on the unit circle is close to a pole, it will be amplified. By corresponding frequency, I mean $\omega$ when tracing the unit circle by setting $z = e^{jw}$.

In the given form, it should be clear that there will be a "zero" when $a=z$. Setting $a$ to $0.9$ or $0.97$ puts the "zero" at $0.9$ or $0.97$ respectively. This will attenuate the low frequencies that are close $\omega=0$. This filter will attenuate frequencies near $\omega=0$.

The answer to the first two is that setting $a$ to $0.97$ will attenuate said low frequencies more than $a=0.9$.

The answer to the "why" is really dependent upon the application of the filter and what its "processing" step entails if this is a "pre-processing" filter.

$\endgroup$
2
$\begingroup$

Start by finding the frequency response of the pre-emphasis filter. By the way, this is an FIR filter, so there are no filter poles, only zeros.

For the frequency response, substitute $\exp\left(j\frac{2\pi f}{f_s}\right)$ for $z$ (where $f_s$ is your sampling frequency). This yields

$$H(f) = 1 - a\exp\left(-j\frac{2\pi f}{f_s}\right)\quad \text{or}\quad1 - a\left[\cos\left(\frac{2\pi f}{f_s}\right) - j\sin\left(\frac{2\pi f}{f_s}\right)\right]$$

For the purpose of pre-emphasis, you are probably most interested in the magnitude response. This is a complex function, so the magnitude is given by (after massaging a little):

$$\lvert H(f)\rvert = 1 + a^2 - 2a\cos\left(\frac{2\pi f}{f_s}\right)$$

Plot this funciton and you will see that it is a highpass response with a maximum at $1/2$ your sampling frequncy and that the filter coefficient $a$ affects the gain, roll-off and DC component of the "message" signal you are processing. The choice for $a$ depends on the nature of the medium or channel that will be used to store or convey the message signal.

What exactly is the signal that you will be applying pre-emphasis to?

$\endgroup$
1
  • $\begingroup$ I Want to filter the speech signal in telephony channel. How can I select best a ? $\endgroup$
    – Amir
    Commented Feb 8, 2013 at 1:37
0
$\begingroup$

$\alpha = \exp (-2\pi F\Delta t)$, where $\Delta t$ is the sampling period of the sound.

The frequency $F$ above which the spectral slope will increase by 6 dB/octave.

Actually, the pre-emphasis filter is just a 1-order FIR filter.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.