head 1.2; access; symbols MDCT_REL_B1_6:1.2 MDCT_REL_B1_5:1.1.1.1 MDCT_REL_B1_4:1.1.1.1 MDCT_REL_B1_3:1.1.1.1 MDCT_REL_B1_2:1.1.1.1 MDCT_REL_B1_1:1.1.1.1 MDCT_B10:1.1.1.1 GNU:1.1.1; locks; strict; comment @// @; 1.2 date 2006.05.17.22.21.36; author mikel262; state Exp; branches; next 1.1; commitid 5dc446ba1644567; 1.1 date 2006.04.15.12.56.44; author mikel262; state Exp; branches 1.1.1.1; next ; commitid 7ea94440ed874567; 1.1.1.1 date 2006.04.15.12.56.44; author mikel262; state Exp; branches; next ; commitid 7ea94440ed874567; desc @@ 1.2 log @Minor fixes. This release is FPGA proven. @ text @function output = dct_func(input) N = 8; input_s = input./2; A = round(cos(pi/4)*(2^11)) B = round(cos(pi/8)*(2^11)) C = round(sin(pi/8)*(2^11)) D = round(cos(pi/16)*(2^11)) E = round(cos(3*pi/16)*(2^11)) F = round(sin(3*pi/16)*(2^11)) G = round(sin(pi/16)*(2^11)) Ce = [ A, A, A, A; B, C, -C, -B; A, -A, -A, A; C, -B, B, -C; ]; Co = [ D, E, F, G; E, -G, -D, -F; F, -D, G, E; G, -F, E, -D; ]; for i=1:N fXe = [ input_s(i,1); input_s(i,2); input_s(i,3); input_s(i,4); ]; fXo = [ input_s(i,8); input_s(i,7); input_s(i,6); input_s(i,5); ]; fXs = fXe+fXo; fXm = fXe-fXo; fYe = (Ce*fXs); fYo = (Co*fXm); % transpose output output(1,i) = fYe(1,1)/2^11; output(2,i) = fYo(1,1)/2^11; output(3,i) = fYe(2,1)/2^11; output(4,i) = fYo(2,1)/2^11; output(5,i) = fYe(3,1)/2^11; output(6,i) = fYo(3,1)/2^11; output(7,i) = fYe(4,1)/2^11; output(8,i) = fYo(4,1)/2^11; end return @ 1.1 log @Initial revision @ text @d7 7 a13 7 A = round(cos(pi/4)*(2^11)); B = round(cos(pi/8)*(2^11)); C = round(sin(pi/8)*(2^11)); D = round(cos(pi/16)*(2^11)); E = round(cos(3*pi/16)*(2^11)); F = round(sin(3*pi/16)*(2^11)); G = round(sin(pi/16)*(2^11)); @ 1.1.1.1 log @Initial import (Beta Release) @ text @@