ΣSigmaStudio Ask AI Русский Log in

High pass

SigmaDSP & SigmaStudio Cmo Sep 6, 2019 00:00 3 replies Original on forum ↗
Subscribe
Cmo Question
Sep 6, 2019 00:00

Hello,

Why I doesn't get a high pass when I subtract the original signal with low pass output (output from my FIR) ? That should work where it is wrong ?

Test_IIR_custom_FIR.dspproj.zip

KJBob Reply
Sep 6, 2019 00:00

Hello,

An FIR filter with a symmetrical coefficient list ("kernel") delays its input by half its length. Thus, your 175 tap filter has a delay of 87 samples. This delay produces a constantly increasing phase lag with frequency. As your input frequency increases from zero (DC), the phase lag runs through many whole cycles of phase shift, causing the LP filter's output to subtract at some frequencies and add at others. Thus your response is not as expected.

To fix this, add a compensating 87 - sample delay to the unfiltered signal before the subtract. Please download the file below and look at it in SigmaStudio -- for some reason inserting pictures is not working for me today.

Best regards,

Bob

High-pass.zip

Cmo Reply
Sep 7, 2019 00:00

Effectively, I had forgotten this factor...Thank you Bob.

matthijs Reply
Sep 10, 2019 00:00

Just a minor nitpick, it's not half of its length but half of length-1. 87 being (175-1)/2, not 175/2.