0
$\begingroup$

I've been given an audio signal with some high frequency noise. The professor gave me the system function of a lowpass filter that gives me control over the cutoff frequency:

$$H(z)=\frac{1-\alpha}{2}\frac{1+z^{-1}}{1-\alpha z^{-1}}$$

where $\alpha=\frac{1-\sin \omega_c}{\cos \omega_c}$ and $\omega_c$ is the cutoff frequency in radians/sec.

The professor claims that if the filter is cascaded with itself $L$ times, it becomes a filter of order $L$.

My questions are the following:

  1. What does increasing the order of the filter do?
  2. Why would I want to increase the order of the filter?
  3. If I cascade the filter with itself $L$ times, won't I lose the ability to control the cutoff frequency? How could I correct for this?

edit:

Here's what I get for the frequency response of the filter when the cutoff frequency is set to 1000 Hz. Sampling frequency is 16000 Hz.

enter image description here

$\endgroup$
  • $\begingroup$ Hi! very nice question. Do you have access to signal processing software Matlab or Octave ? $\endgroup$ – Fat32 Oct 30 '18 at 18:40
  • $\begingroup$ @Fat32 Yes, MATLAB is what I am using. $\endgroup$ – user50420 Oct 30 '18 at 18:42
  • 1
    $\begingroup$ yes you are right. If you define the cutoff frequency as the -3 dB point wrt to the origin $|H(0)|$ magnitude (which is 0 dB for all orders), then the -3dB point is moving to the DC as the order is increasing. You have probably misunderstood something about the filter or the cutoff frequency. As a rule, when the order is increased the filter becomes steeper, you can see this if you plot the two curves on the same y-axis scale.. $\endgroup$ – Fat32 Oct 30 '18 at 19:27
  • 2
    $\begingroup$ @Fat32 great teaching effort $\endgroup$ – Laurent Duval Oct 30 '18 at 19:32
  • 2
    $\begingroup$ @user50420 As Fat32 says, you don't lose the ability to set the cutoff frequency, you just need to figure out how to calculate it. Hint: if one filter stage has gain $|G_0|$ at frequency $f_0$, two cascaded stages will have gain $|G_0|^2$ at the same frequency. $\endgroup$ – MBaz Oct 30 '18 at 22:57
1
$\begingroup$

Replace your $\alpha$ with the following to see if it helps:

fs = 16000;
fc = 3500;
wc = 2*pi*fc/fs;

L = 5;            % order of the cascade
B = 2^((L-1)/L);
C = cos(wc);
M = B-C-1;
N = 1+C-B*C;
alfa = ( -N + sqrt( N*N - M*M ) )/M;

I've got the following plots, compared to your posted $\alpha$ calculation.

enter image description here

enter image description here

$\endgroup$
  • $\begingroup$ Hi @user50420 ... It's been almost two weeks since I have posted an answer to your problem and you seem to make no response since then. Do you consider any of the answers providing what you need? I have already given you an explicit formula to calculate the cutoff frequency in terms of the filter cascade order $N$. So if this is not enough (which was the original problem you had) then what do you else looking for ? $\endgroup$ – Fat32 Nov 12 '18 at 10:01
1
$\begingroup$

The filter has one kernel, and adding L filters (in series) makes the input of the first filter appear convolved, L times, with the same kernel, and repeated convolution leads to a Gaussian response. It's no different than synchronous tuned filters.

If you'd want to increase the order then you'd, most probably, need a steeper rolloff, tighter attenuation, better ripple (if there's the case), etc. In this case, repeating the same stage over and over again, does not achieve these for the fact mentioned above.

As for the ability to control fc, not much you can do about it this way, only by properly calculating the filter to be of a higher order, which starts with imposing the design requirements, first, and see where that leads you. Not designing a basic filter for a given set of parameters, then repeatedly placing it over and over again. This is just the professor's way of making you think outside the box.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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