CMSIS-DSP: DCT Type IV Tables

| CMSIS-DSP Version 1.8.0 CMSIS DSP Software Library

- Main Page
- Usage and Description
- Reference

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Variables
DCT Type IV Tables
DCT Type IV Functions

## Variables

const float32_t | Weights_128 [256]
| Weights Table. More...
const float32_t | cos_factors_128 [128]
const float32_t | Weights_512 [1024]
const float32_t | cos_factors_512 [512]
const float32_t | Weights_2048 [4096]
const float32_t | cos_factors_2048 [2048]
const float32_t | Weights_8192 [16384]
const float32_t | cos_factors_8192 [8192]
const q15_t | WeightsQ15_128 [256]
| Weights Table. More...
const q15_t | cos_factorsQ15_128 [128]
const q15_t | WeightsQ15_512 [1024]
const q15_t | cos_factorsQ15_512 [512]
const q15_t | WeightsQ15_2048 [4096]
const q15_t | cos_factorsQ15_2048 [2048]
const q15_t | WeightsQ15_8192 [16384]
const q15_t | cos_factorsQ15_8192 [8192]
const q31_t | WeightsQ31_128 [256]
const q31_t | cos_factorsQ31_128 [128]
const q31_t | WeightsQ31_512 [1024]
const q31_t | cos_factorsQ31_512 [512]
const q31_t | WeightsQ31_2048 [4096]
const q31_t | cos_factorsQ31_2048 [2048]
const q31_t | WeightsQ31_8192 [16384]
const q31_t | cos_factorsQ31_8192 [8192]

## Description

end of RealFFT_Table group

## Variable Documentation

const float32_t cos_factors_128[128]

const float32_t cos_factors_2048[2048]

const float32_t cos_factors_512[512]

const float32_t cos_factors_8192[8192]

const q15_t cos_factorsQ15_128[128]

const q15_t cos_factorsQ15_2048[2048]

const q15_t cos_factorsQ15_512[512]

const q15_t cos_factorsQ15_8192[8192]

const q31_t cos_factorsQ31_128[128]

const q31_t cos_factorsQ31_2048[2048]

const q31_t cos_factorsQ31_512[512]

const q31_t cos_factorsQ31_8192[8192]

const float32_t Weights_128[256]

  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`.

  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)`

const float32_t Weights_2048[4096]

const float32_t Weights_512[1024]

const float32_t Weights_8192[16384]

const q15_t WeightsQ15_128[256]

  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`.

  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.

const q15_t WeightsQ15_2048[4096]

const q15_t WeightsQ15_512[1024]

const q15_t WeightsQ15_8192[16384]

const q31_t WeightsQ31_128[256]

  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`.

  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.

const q31_t WeightsQ31_2048[4096]

const q31_t WeightsQ31_512[1024]

const q31_t WeightsQ31_8192[16384]