by **Klaas Robers** » Thu Dec 14, 2017 9:04 pm

It looks rather dramatic. As far as I see the problem:

- A FIR filter is a shift register that shifts the signal in a fixed frequency

- then there are many taps, with a multiplication with the successive coefficients.

- This runs at a fixed speed, sampling frequency.

- So far so good.

- The input of the FIR-filter is the output signal of the counting detector.

- Such a detector gives a fixed pulse of one sample time length for each zero crossing of the input signal.

- As the input signal is a FM modulated tone, only the zero crossings are important.

- So I designed the shiftregister of the FIR filter as a binary shift register,

- 80 bits long, 10 bytes,

- which shift simultaneously each sample clock.

- A zero crossing of the input produces a "one",

- no zero crossing produces a zero in the shift register.

- This is nice because the multiplications of the coefficients are only by 1 or by 0.

Suppose a sampling frequency of 20 kHz:

- then with an input frequency of 2 kHz,

- there are 4000 zero crossings per second,

- so in the shift register we see ..... 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 .....

- this is perfect.

- but at a slightly higher input frequency, e.g. 2010 Hz,

- we see now and then (20 times per second),

- a ..... 1 0 0 0 1 .... passing by, so 3 zeros in stead of 4 zeros.

- That can be seen as a short duration of 2500 Hz,

- and that gives a positive pulse in the output of the FIR filter,

- in practice 20 of these pulses per second.

- Yes, the pulse is short, so the FIR filter suppresses it heavily,

- but it is clearly visible.

- It is even more visible with the sample frequency of 13 kHz that I have at this moment.

- I will make an oscillograph photo of this later on this day......