dsp.FFT does not work with HDL coder

4 views (last 30 days)
Hi,
I have a code and a testbench code that I'm trying to convert to VHDL.
The code uses FFT. When I use canned FFT, I get "Function 'fft' not supported for fixed point conversion" at "Verify" step of Fixed Point Conversion".
When I instead use dsp.FFT it instead complains about ' "dsp.FFT" cannot be displayed ' at the Analyze step of fixed point converions.
I cannot use dsphdl.FFT since we don't have the license for that.
Can this be solved or do we need to buy dsphdl.FFT?
Incidentally, is there a real-to-complex FFT, taking N real points and returning N/2+1 complex ones like FFTW or np.fft.rfft in python? Using complex FFT on real data wastes resource by a factor of 2, but all the examples seem to be using that.
Thanks,
anze

Accepted Answer

Kiran Kintali
Kiran Kintali on 5 Sep 2022
dsphdl.FFT ships with DSP HDL Toolbox.
You can also find some examples of how to write custom FFT in MATLAB suitable for HDL Code Generation in the attached examples.
  2 Comments
Anze Slosar
Anze Slosar on 8 Sep 2022
Thanks for this, this is also quite useful to illustrate some other concepts.
But surely, I should not need to write custom FFTs in 21st century. Presumably I can count on dsphdl.FFT to produce an optimal result for radix-2 problem and also correctly optimize for real input?
Kiran Kintali
Kiran Kintali on 8 Sep 2022
Yes, those requirements are supported out of the box. Check the Performance section of dsphdl.FFT for additional details related to optimizations. It covers topics related to real inputs and output ordering.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!