Sliding DFT on ADAU145x
Hello,
I would like to implement a stable sliding DFT, but I am facing with the scanning of the lookup table so that it scans a frequency from 20Hz to 24Khz in a sampling rate of 48Khz. I don't know how to do. I also saw that the lookup table don't go over 800 sample ?
Thank you in advance for your help.
template.dspproj.zip
Hello Cmo,
Try a Counter with Interval to generate a series of integers to drive your LUT, As shown below, the Counter is set up to run from zero to 800, then the ABCD Comparator resets it to zero and it starts over. The LUT's 800 table rows actually run from 0 to 799, so use an Index Limit Protection LUT (in my opinion, the only reason to use a standard LUT is when instructions are tight).
We can see the resulting LUT input with the Real-Time Display. To have it display an integer value (32.0 format), you need to set it for 28.4 format as this is as close as it will go, then multiply its input by 16. The result increases by one each 25 mS, for a full sweep in 20 seconds. You can adjust how fast it rises by setting the Interval Box in the counter.
It appears, though, that what you really desire is a sine wave sweeping through the audio range to multiply your input signal with. You can get this by inserting a VCO between the LUT output and the multiplier. The VCO outputs a sine wave of frequency f = V*fs/2. At a 48K sample rate, a 1.0 decimal input provides a frequency of 24 KHz, proportionally less with smaller inputs. Set up your LUT to provide the frequencies you want, either linear or log (octave) scale.
Best regards.
Bob
Please log in to reply.


