From 96d6da4e252b06dcfdc041e7df23e86161c33007 Mon Sep 17 00:00:00 2001 From: rihab kouki Date: Tue, 28 Jul 2020 11:24:49 +0100 Subject: Official ARM version: v5.6.0 --- docs/DSP/html/group__RealFFT__Table.html | 134 ++++++++++++++----------------- 1 file changed, 61 insertions(+), 73 deletions(-) (limited to 'docs/DSP/html/group__RealFFT__Table.html') diff --git a/docs/DSP/html/group__RealFFT__Table.html b/docs/DSP/html/group__RealFFT__Table.html index 17a72c6..db63fd1 100644 --- a/docs/DSP/html/group__RealFFT__Table.html +++ b/docs/DSP/html/group__RealFFT__Table.html @@ -32,7 +32,7 @@ Logo
CMSIS-DSP -  Version 1.5.2 +  Version 1.7.0
CMSIS DSP Software Library
@@ -108,75 +108,98 @@ $(document).ready(function(){initNavTree('group__RealFFT__Table.html','');});
Real FFT Tables
+ + + + +

+Functions

const q15_t __ALIGNED (4)
 Weights Table. More...
 
- + - + - - - -

Variables

static const float32_t realCoefA [8192]
const float32_t realCoefA [8192]
 
static const float32_t realCoefB [8192]
const float32_t realCoefB [8192]
 
const q15_t ALIGN4 realCoefAQ15 [8192]
 
const q15_t ALIGN4 realCoefBQ15 [8192]
 
const q31_t realCoefAQ31 [8192]
 
const q31_t realCoefBQ31 [8192]
 

Description

-

Variable Documentation

- +

Function Documentation

+
- - - - - -
- + + + + +
const float32_t realCoefA[8192]const q15_t __ALIGNED ()
-
-static
-
Generation of realCoefA array:
+

Q15 table for reciprocal.

+
Generation fixed-point realCoefAQ15 array in Q15 format:
n = 4096
for (i = 0; i < n; i++)
- {
-   pATable[2 * i] = 0.5 * (1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
+{
+   pATable[2 * i]     = 0.5 * ( 1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
    pATable[2 * i + 1] = 0.5 * (-1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
- } 
- -

Referenced by arm_rfft_init_f32().

+} +
Convert to fixed point Q15 format round(pATable[i] * pow(2, 15))
+
Generation of real_CoefB array:
+
n = 4096
for (i = 0; i < n; i++)
+{
+   pBTable[2 * i]     = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
+   pBTable[2 * i + 1] = 0.5 * (1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
+}
+
Convert to fixed point Q15 format round(pBTable[i] * pow(2, 15))
+
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.
+

end of DCT4_IDCT4_Table group

- +

Variable Documentation

+
- +
const q15_t ALIGN4 realCoefAQ15[8192]const float32_t realCoefA[8192]
-
Generation fixed-point realCoefAQ15 array in Q15 format:
+
Generation of realCoefA array:
n = 4096
for (i = 0; i < n; i++)
- {
-   pATable[2 * i] = 0.5 * (1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
+{
+   pATable[2 * i]     = 0.5 * ( 1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
    pATable[2 * i + 1] = 0.5 * (-1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
- } 
-
Convert to fixed point Q15 format round(pATable[i] * pow(2, 15))
- -

Referenced by arm_rfft_init_q15().

+}
@@ -192,61 +215,28 @@ Variables
Generation fixed-point realCoefAQ31 array in Q31 format:
n = 4096
for (i = 0; i < n; i++)
 {
-   pATable[2 * i] = 0.5 * (1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
+   pATable[2 * i]     = 0.5 * ( 1.0 - sin (2 * PI / (double) (2 * n) * (double) i));
    pATable[2 * i + 1] = 0.5 * (-1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
 }
Convert to fixed point Q31 format round(pATable[i] * pow(2, 31))
-

Referenced by arm_rfft_init_q31().

-
- - - - - -
const float32_t realCoefB[8192]
-
-static
Generation of realCoefB array:
n = 4096
for (i = 0; i < n; i++)
 {
-   pBTable[2 * i] = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
+   pBTable[2 * i]     = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
    pBTable[2 * i + 1] = 0.5 * (1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
- } 
- -

Referenced by arm_rfft_init_f32().

- -
-
- -
-
- - - - -
const q15_t ALIGN4 realCoefBQ15[8192]
-
-
Generation of real_CoefB array:
-
n = 4096
for (i = 0; i < n; i++)
- {
-   pBTable[2 * i] = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
-   pBTable[2 * i + 1] = 0.5 * (1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
- } 
-
Convert to fixed point Q15 format round(pBTable[i] * pow(2, 15))
- -

Referenced by arm_rfft_init_q15().

+}
@@ -262,13 +252,11 @@ Variables
Generation of realCoefBQ31 array:
n = 4096
for (i = 0; i < n; i++)
 {
-   pBTable[2 * i] = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
+   pBTable[2 * i]     = 0.5 * (1.0 + sin (2 * PI / (double) (2 * n) * (double) i));
    pBTable[2 * i + 1] = 0.5 * (1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
 } 
Convert to fixed point Q31 format round(pBTable[i] * pow(2, 31))
-

Referenced by arm_rfft_init_q31().

- @@ -276,7 +264,7 @@ Variables