All pass filter design trouble

3 次查看(过去 30 天)
Robert
Robert 2011-6-18
Hi,
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.
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
/Robert

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Filter Design 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by