Exploring the effectiveness of the Goertzel Algorithm for different frequencies and sampling rates.
Here we first implement the algorithm itself and then make a little wrapper function for simulating it's response.
Notice that k and \omega are defined a bit differently than in the lab reference. This way gives improved SNR and matching to the target frequency.
|
|
In this next section we look at how the values given by the Goertzel across a range of frequencies.
Frequency response for F_T = 9250Hz and F_S = 30,000Hz Frequency response for F_T = 9250Hz and F_S = 30,000Hz |
Here is some data generated across a range of input frequencies and sampling rates for the target frequency of 9250Hz.
|
|
And then it is plotted.
And then it is plotted. As you can see (beneath about 22ksps) there are significant responses for non-target frequencies. This means that high frequency noise could be an issue even at 30ksps if it is too strong, or the target signal is too weak.
|
|
|