Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

FFT Frequency Range

I am using the 50MHz internal clock of the Stratix III to collect samples of a chirp signal operating at 30kHz to 80kHz. I read in one of the forums that the FFT MegaCore output frequencies are 0~Fs/2 for samples 0~N/2-1, then -Fs/2~0 for samples N/2~N-1. With my 8192-point FFT, this would correspond to 0~25MHz for the first half of the samples. This means that my target range of 30-80kHz consists of only a few points. Is there any way to focus the FFT on only that range so I can get 1000+ points in the desired range? There is no clock input for the FFT MegaCore, so I cannot adjust the 50MHz clock (as far as I know). My goal is to view around1000 points of FFT data in this range using the SignalTap block. Any suggestions would be greatly appreciated.

Thanks,

Cory

17 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Ok, I think I have the ADC and FFT clocks working correctly, but I am still having issues syncing them with SignalTap. If I use a PLL block, SignalTap doesn't recognize it as an available clock. If I use a clock_derived block and use it for SignalTap, then SignalTap never stops collecting data; when I click "Acquire," SignalTap just freezes and I have to force quit Matlab. How do you suggest I slow down the SignalTap data acquisition so it is in sync with the FFT output data? Sorry to keep bugging you, but I feel like I'm getting close to making this thing work.

    Thanks again,

    Cory
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I don't quite get it but I will select fft clock to be the signaltap clock then select fft(input & outputs) to be data nodes and then acquire data (if necessary on some trigger condition).

    You may need to select the category (all design entries) for signaltap selection.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Ok, I think my problem is solely with SignalTap. I use a PLL to slow the FFT clock, and I believe it is working fine. However, no matter what I do with the SignalTap clock, it still seems to sample and 50MHz. I tried using a clock_derived, but it just freezes during data acquisition. Could there be something wrong with my clock_derived pin assignment (or lack thereof)? Do I have to manually assign the clock_derived to a pin on the FPGA?

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    You better delete your signaltap, delete dB and start fresh.

    In your new signaltap select clock node by navigating to the fft clk node. Simialrly select data nodes as required. The clock need not be on a pin for signaltap. The timing issues have no effect on operation of signaltap tool itself.

    If you don't find these nodes set node finder to all design entries
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thanks for bearing with me. What about in DSP Builder, where there isn't a node finder like in Quartus?

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I use dspbuilder to get code then move to quartus and build my project there. Can't you do that. I am not particularly keen to change platform away from Quartus.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Ok, that's what I'll do. I was hoping to keep things relatively simple by using only DSP builder, but it just doesn't have as many options.