03-06-2011 05:57 AM
I want to add create an IP that calculates the DCT.
How I do that? It's the first time that I use System Generator.
Please where I can find the code VHDL of the DCT?
06-20-2012 12:15 AM - edited 06-20-2012 12:20 AM
hi, it seem that xilinx does not support DCT and IDCT core any more,
I searched and I saw there are some simple solutions to implement DCT(IDCT) using FFT.(IFFT)
FFT core is available in Xilinx.
see this 2 links to now how to do this :
I think the second solution is simpler because it use a N-point FFT(or IFFT) to calculate N-point DCT(or IDCT), but second one uses 2*N point FFT.
but I think the better solution just has forgotten to use sqrt(2) and 2*N fixed numbers ( which is done in first solution ),
after I correct this problem and test in MATLAB it was complelety okey and simple to implement in hardware without any special effort. you need just to have one PROM to save a fixed N-point complex vector with a Xilinx FFT core.
multiply the vector to input X, then feed it to FFT and finally read just the Real part of output of FFT.