cancel
Showing results for 
Search instead for 
Did you mean: 
Visitor
Visitor
5,220 Views
Registered: ‎01-13-2010

Implementation of DCT

How can i implement 2 dimensional Descrete cosine transforms(2D DCT) using system generator?
0 Kudos
4 Replies
Highlighted
Visitor
Visitor
5,207 Views
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?

0 Kudos
Highlighted
Visitor
Visitor
5,185 Views
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

 

0 Kudos
Highlighted
Adventurer
Adventurer
4,432 Views
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?


Help please

0 Kudos
Highlighted
Adventurer
Adventurer
4,078 Views
Registered: ‎11-09-2010

Re: Implementation of DCT

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.

 

 

 

 

 

 

0 Kudos