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......