MATLAB Answers


All pass filter design trouble

Asked by Robert on 18 Jun 2011


I´ve constructed a complementary filter that is filtering the difference between two signals. After passage through the complementary filter this difference is subtracted from one of the original signals. I noticed that the time delay through the complementary filter distorts the difference signal so much that when I subtract the filtered difference from the original signal you clearly see that the subtraction isn´t performed right.

My idea for solving this problem was to create an all pass filter with the same time delay as the complementary filter and pass the original signal through this all pass filter before the subtraction.

According to:

The transfer function coefficients in the denominator are mirrored from the coefficients in the numerator. I tried mirroring the coefficients from the numerator of the transfer function from the complementary filter. But when I analyze the filter by inspection of the bode plots with the freqz function I get some rippling effect for low frequencies in the magnitude and a magnitude of 0 dB after the rippling has settled. The phase has a similar characteristic as my complementary filter, but way more sharp.

I guess that just mirroring the numerator doesn’t yield the same phase characteristics as the numerator corresponds to (my complementary filter only consists of poles). Can somebody explain how I am suppose to alter the phase characteristics of the all pass filter to get the same phase characteristics as for my complementary filter?

Even though the phase characteristics aren´t the same I used this all pass filter to just see how it would effect the subtraction. The result was way better than without the use of any all pass filter, but I guess it would be even better with a better all pass filter.

Thanks in advance



Log in to comment.


No products are associated with this question.

0 Answers

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!