Jump to content
  • 0

Passing FFT result to DDS


FR

Question

Dear All

- I successfully implemented FFT after help and guidance (

) .Now i want to pass the detected frequency to DDS ( My goal is to re-generate the detected frequency (FFT bin ) using DDS ) . So i need your guidance. CORDIC IP core can be use ? or some thing else you suggested.

 

BR

FRK

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

@FR

There are many ways to construct a sine wave.  You could do a table lookup, or even a quarter table lookup.  You could do a CORDIC.  You could do a table lookup followed by a linear or even a quadratic interpolation.  That part is the least of your worries.

Your bigger problem is going to be the fact that short-time Fourier Transforms (STFTs, such as what you've just used), are not phase continuous in nature.  As a result, depending on how you set up the overlap, you might find that every odd bin jumps 180 degrees of phase between transforms.  Worse, if that wasn't enough, what happens if the incoming tone doesn't line up exactly on an FFT bin?  This piece of reality has been known to kill a lot of poorly thought out FFT approaches.

Something else to think about: Are you hoping to match the phase of the incoming sine wave?  The phase delay through the FFT is both coarsely sampled and linear in frequency.

I might suggest perfecting your algorithm off-line before even experimenting with it on an FPGA.  I often use Verilator to accomplish both at once, although I know there's a large group of individuals who like using MATLAB for prototyping before moving to hardware.

Dan

Link to comment
Share on other sites

Thanks for your reply.

let me again elaborate my problem. I interfaced real ADC hardware with FPGA . I am injecting analog RF signal through ADC for further processing , I am using Xilinx FFT core . as i mentioned in previous post , I successfully got the peak on the correct index after performing FFT of the incoming signal . 

I also interfaced DAC with FPGA . So i want to regenerate RF signal through DAC on the detected bin ( the bin that came after performing FFT ). and test it on spectrum analyzer. so my understanding is that i can regenerated the signal through DDS using the index number (bin number)  ???? As at this time i am not worried about the phase of the incoming signal. 

Best Regards

FRK

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...