High pass filter problem
12 views (last 30 days)
Show older comments
Hello,
So I am having a hard time figuring this one out. I am trying to apply a high pass filter to a voltage signal with a small AM modulation
Every time I filter it with the high pass filter, it does remove the mean but it adds this weird AM modulation distortion which is larger than the AM signal I am trying to recover.
Seen below, the mean is correctly removed

However, a modulation distortion is added. You can see it if I zoom in on the top or bottom envelope. The top plot is the small AM signal I am trying to recover, but the HP filter destoys this (lower plot). The small AM modulation is no longer visable in bottom plot because of this added noise.

Its odd because the magnitude response looks fine.

And the code is simple, just two lines.
[bhp,ahp] = butter(1,32/(sParam.Fs/2),'high');
HPOut = filter(bhp,ahp,sParam.TIA_Out);%Apply HP filter
I have tried a few other ways too
(with a different filtering function)
[bhp,ahp] = butter(1,32/(sParam.Fs/2),'high');
HPOut = filtfilt(bhp,ahp,sParam.TIA_Out);%Apply HP filter
(with a different filter)
[bhp,ahp] = rc_filter(49.9*kOhm, 0.1*uF, sParam.Fs, 'high');
HPOut = filtfilt(bhp,ahp,sParam.TIA_Out);%Apply HP filter
It always results in the same thing.
The only thing that works is to do a subtraction of the mean. Which isn’t the same as a true RC filter
HPOut = sParam.TIA_Out-mean(sParam.TIA_Out);
it seems like it may be some sort of quantization issue to me but I am unsure. Thanks in advance for any help
0 Comments
Answers (0)
See Also
Categories
Find more on Analog Filters in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!