Robert Lopez / CMSIS5
Embed: (wiki syntax)

« Back to documentation index

DCT Type IV Tables

DCT Type IV Tables
[DCT Type IV Functions]

Variables

static const float32_t Weights_128 [256]
static const float32_t cos_factors_128 [128]
static const q15_t ALIGN4 WeightsQ15_128 [256]
static const q15_t ALIGN4 cos_factorsQ15_128 [128]
static const q31_t WeightsQ31_128 [256]
static const q31_t cos_factorsQ31_128 [128]

Variable Documentation

const float32_t cos_factors_128[128] [static]
cosFactor tables are generated using the formula :
cos_factors[n] = 2 * cos((2n+1)*pi/(4*N))
C command to generate the table
 for(i = 0; i< N; i++)
 {
    cos_factors[i]= 2 * cos((2*i+1)*c/2);
 } 
where N is the number of factors to generate and c is pi/(2*N)

Definition at line 10967 of file arm_dct4_init_f32.c.

const q15_t ALIGN4 cos_factorsQ15_128[128] [static]
Initial value:
 {
  (q15_t)0x7fff, (q15_t)0x7ffa, (q15_t)0x7ff0, (q15_t)0x7fe1, (q15_t)0x7fce, (q15_t)0x7fb5, (q15_t)0x7f97, (q15_t)0x7f75,
  (q15_t)0x7f4d, (q15_t)0x7f21, (q15_t)0x7ef0, (q15_t)0x7eba, (q15_t)0x7e7f, (q15_t)0x7e3f, (q15_t)0x7dfa, (q15_t)0x7db0,
  (q15_t)0x7d62, (q15_t)0x7d0f, (q15_t)0x7cb7, (q15_t)0x7c5a, (q15_t)0x7bf8, (q15_t)0x7b92, (q15_t)0x7b26, (q15_t)0x7ab6,
  (q15_t)0x7a42, (q15_t)0x79c8, (q15_t)0x794a, (q15_t)0x78c7, (q15_t)0x7840, (q15_t)0x77b4, (q15_t)0x7723, (q15_t)0x768e,
  (q15_t)0x75f4, (q15_t)0x7555, (q15_t)0x74b2, (q15_t)0x740b, (q15_t)0x735f, (q15_t)0x72af, (q15_t)0x71fa, (q15_t)0x7141,
  (q15_t)0x7083, (q15_t)0x6fc1, (q15_t)0x6efb, (q15_t)0x6e30, (q15_t)0x6d62, (q15_t)0x6c8f, (q15_t)0x6bb8, (q15_t)0x6adc,
  (q15_t)0x69fd, (q15_t)0x6919, (q15_t)0x6832, (q15_t)0x6746, (q15_t)0x6657, (q15_t)0x6563, (q15_t)0x646c, (q15_t)0x6371,
  (q15_t)0x6271, (q15_t)0x616f, (q15_t)0x6068, (q15_t)0x5f5e, (q15_t)0x5e50, (q15_t)0x5d3e, (q15_t)0x5c29, (q15_t)0x5b10,
  (q15_t)0x59f3, (q15_t)0x58d4, (q15_t)0x57b0, (q15_t)0x568a, (q15_t)0x5560, (q15_t)0x5433, (q15_t)0x5302, (q15_t)0x51ce,
  (q15_t)0x5097, (q15_t)0x4f5e, (q15_t)0x4e21, (q15_t)0x4ce1, (q15_t)0x4b9e, (q15_t)0x4a58, (q15_t)0x490f, (q15_t)0x47c3,
  (q15_t)0x4675, (q15_t)0x4524, (q15_t)0x43d0, (q15_t)0x427a, (q15_t)0x4121, (q15_t)0x3fc5, (q15_t)0x3e68, (q15_t)0x3d07,
  (q15_t)0x3ba5, (q15_t)0x3a40, (q15_t)0x38d8, (q15_t)0x376f, (q15_t)0x3604, (q15_t)0x3496, (q15_t)0x3326, (q15_t)0x31b5,
  (q15_t)0x3041, (q15_t)0x2ecc, (q15_t)0x2d55, (q15_t)0x2bdc, (q15_t)0x2a61, (q15_t)0x28e5, (q15_t)0x2767, (q15_t)0x25e8,
  (q15_t)0x2467, (q15_t)0x22e5, (q15_t)0x2161, (q15_t)0x1fdc, (q15_t)0x1e56, (q15_t)0x1ccf, (q15_t)0x1b47, (q15_t)0x19bd,
  (q15_t)0x1833, (q15_t)0x16a8, (q15_t)0x151b, (q15_t)0x138e, (q15_t)0x1201, (q15_t)0x1072, (q15_t)0xee3, (q15_t)0xd53,
  (q15_t)0xbc3, (q15_t)0xa33, (q15_t)0x8a2, (q15_t)0x710, (q15_t)0x57f, (q15_t)0x3ed, (q15_t)0x25b, (q15_t)0xc9
}
cosFactor tables are generated using the formula :
 cos_factors[n] = 2 * cos((2n+1)*pi/(4*N)) 
C command to generate the table
 for(i = 0; i< N; i++)
 {
   cos_factors[i]= 2 * cos((2*i+1)*c/2);
 } 
where N is the number of factors to generate and c is pi/(2*N)
Then converted to q15 format by multiplying with 2^31 and saturated if required.

Definition at line 2814 of file arm_dct4_init_q15.c.

const q31_t cos_factorsQ31_128[128] [static]
cosFactor tables are generated using the formula :
cos_factors[n] = 2 * cos((2n+1)*pi/(4*N))
C command to generate the table
 for(i = 0; i< N; i++)
 {
   cos_factors[i]= 2 * cos((2*i+1)*c/2);
 } 
where N is the number of factors to generate and c is pi/(2*N)
Then converted to q31 format by multiplying with 2^31 and saturated if required.

Definition at line 4862 of file arm_dct4_init_q31.c.

const float32_t Weights_128[256] [static]
Weights tables are generated using the formula :
weights[n] = e^(-j*n*pi/(2*N))
C command to generate the table
 for(i = 0; i< N; i++)
 {
    weights[2*i]= cos(i*c);
    weights[(2*i)+1]= -sin(i * c);
 } 
Where N is the Number of weights to be calculated and c is pi/(2*N)
In the tables below the real and imaginary values are placed alternatively, hence the array length is 2*N.

Definition at line 62 of file arm_dct4_init_f32.c.

const q15_t ALIGN4 WeightsQ15_128[256] [static]
Weights tables are generated using the formula :
weights[n] = e^(-j*n*pi/(2*N))
C command to generate the table
 for(i = 0; i< N; i++)
 {
   weights[2*i]= cos(i*c);
   weights[(2*i)+1]= -sin(i * c);
 } 
where N is the Number of weights to be calculated and c is pi/(2*N)
Converted the output to q15 format by multiplying with 2^31 and saturated if required.
In the tables below the real and imaginary values are placed alternatively, hence the array length is 2*N.

Definition at line 64 of file arm_dct4_init_q15.c.

const q31_t WeightsQ31_128[256] [static]
Weights tables are generated using the formula :
weights[n] = e^(-j*n*pi/(2*N))
C command to generate the table
 for(i = 0; i< N; i++)
 {
   weights[2*i]= cos(i*c);
   weights[(2*i)+1]= -sin(i * c);
 } 
where N is the Number of weights to be calculated and c is pi/(2*N)
Convert the output to q31 format by multiplying with 2^31 and saturated if required.
In the tables below the real and imaginary values are placed alternatively, hence the array length is 2*N.

Definition at line 64 of file arm_dct4_init_q31.c.