9

发布时间 2023-10-30 11:28:02作者: hanyingshuo

/* ----------------------------------------------------------------------

  • Copyright (C) 2010-2014 ARM Limited. All rights reserved.
  • $Date: 19. March 2015
  • $Revision: V.1.4.5
  • Project: CMSIS DSP Library
  • Title: arm_rfft_init_f32.c
  • Description: RFFT & RIFFT Floating point initialisation function
  • Target Processor: Cortex-M4/Cortex-M3/Cortex-M0
  • Redistribution and use in source and binary forms, with or without
  • modification, are permitted provided that the following conditions
  • are met:
    • Redistributions of source code must retain the above copyright
  • notice, this list of conditions and the following disclaimer.
    
    • Redistributions in binary form must reproduce the above copyright
  • notice, this list of conditions and the following disclaimer in
    
  • the documentation and/or other materials provided with the 
    
  • distribution.
    
    • Neither the name of ARM LIMITED nor the names of its contributors
  • may be used to endorse or promote products derived from this
    
  • software without specific prior written permission.
    
  • THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  • "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  • LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  • FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  • COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  • INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  • BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  • LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  • CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  • LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
  • ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  • POSSIBILITY OF SUCH DAMAGE.
  • -------------------------------------------------------------------- */

include "arm_math.h"

/**

  • @ingroup groupTransforms
    */

/**

  • @addtogroup RealFFT
  • @{
    */

/**

  • \par
  • Generation of realCoefA array:
  • \par
  • 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 + 1] = 0.5 * (-1.0 * cos (2 * PI / (double) (2 * n) * (double) i));
  • }
    */

static const float32_t realCoefA[8192] = {
0.500000000000000f, -0.500000000000000f, 0.499616503715515f,
-0.499999850988388f,
0.499233007431030f, -0.499999403953552f, 0.498849511146545f,
-0.499998688697815f,
0.498466014862061f, -0.499997645616531f, 0.498082518577576f,
-0.499996334314346f,
0.497699022293091f, -0.499994695186615f, 0.497315555810928f,
-0.499992787837982f,
0.496932059526443f, -0.499990582466125f, 0.496548563241959f,
-0.499988079071045f,
0.496165096759796f, -0.499985307455063f, 0.495781600475311f,
-0.499982208013535f,
0.495398133993149f, -0.499978810548782f, 0.495014637708664f,
-0.499975144863129f,
0.494631171226501f, -0.499971181154251f, 0.494247704744339