### Don't have a Xilinx account yet?

• Choose to receive important news and product information
• Personalize your web experience on Xilinx.com

Create Account

XClose Panel

## Digital Signal Processing - IP and Algorithms

Visitor
Posts: 7
Registered: ‎01-13-2010

# Implementation of DCT

How can i implement 2 dimensional Descrete cosine transforms(2D DCT) using system generator?
Visitor
Posts: 2
Registered: ‎01-08-2010

# Re: Implementation of DCT

explain your problem, I cannot what do you want?

it is very simple to do this by system generator, do you work with system generator ever?

Visitor
Posts: 7
Registered: ‎01-13-2010

# Re: Implementation of DCT

I thought of using matrix multiplication algorithm ,but it got complicated since system generator has only basic gates,there are many computations

Regular Contributor
Posts: 92
Registered: ‎10-23-2010

# Re: Implementation of DCT

Hi All

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?

Regular Contributor
Posts: 63
Registered: ‎11-09-2010

# Re: Implementation of DCT

[ Edited ]

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 :

http://www.hydrogenaudio.org/forums/index.php?showtopic=39574

http://fourier.eng.hmc.edu/e161/lectures/dct/node2.html

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.