Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of dsp by
arm_iir_lattice_init_f32.c
00001 /*----------------------------------------------------------------------------- 00002 * Copyright (C) 2010 ARM Limited. All rights reserved. 00003 * 00004 * $Date: 29. November 2010 00005 * $Revision: V1.0.3 00006 * 00007 * Project: CMSIS DSP Library 00008 * Title: arm_iir_lattice_init_f32.c 00009 * 00010 * Description: Floating-point IIR lattice filter initialization function. 00011 * 00012 * Target Processor: Cortex-M4/Cortex-M3 00013 * 00014 * Version 1.0.3 2010/11/29 00015 * Re-organized the CMSIS folders and updated documentation. 00016 * 00017 * Version 1.0.2 2010/11/11 00018 * Documentation updated. 00019 * 00020 * Version 1.0.1 2010/10/05 00021 * Production release and review comments incorporated. 00022 * 00023 * Version 1.0.0 2010/09/20 00024 * Production release and review comments incorporated 00025 * 00026 * Version 0.0.7 2010/06/10 00027 * Misra-C changes done 00028 * ---------------------------------------------------------------------------*/ 00029 00030 #include "arm_math.h" 00031 00032 /** 00033 * @ingroup groupFilters 00034 */ 00035 00036 /** 00037 * @addtogroup IIR_Lattice 00038 * @{ 00039 */ 00040 00041 /** 00042 * @brief Initialization function for the floating-point IIR lattice filter. 00043 * @param[in] *S points to an instance of the floating-point IIR lattice structure. 00044 * @param[in] numStages number of stages in the filter. 00045 * @param[in] *pkCoeffs points to the reflection coefficient buffer. The array is of length numStages. 00046 * @param[in] *pvCoeffs points to the ladder coefficient buffer. The array is of length numStages+1. 00047 * @param[in] *pState points to the state buffer. The array is of length numStages+blockSize. 00048 * @param[in] blockSize number of samples to process. 00049 * @return none. 00050 */ 00051 00052 void arm_iir_lattice_init_f32( 00053 arm_iir_lattice_instance_f32 * S, 00054 uint16_t numStages, 00055 float32_t * pkCoeffs, 00056 float32_t * pvCoeffs, 00057 float32_t * pState, 00058 uint32_t blockSize) 00059 { 00060 /* Assign filter taps */ 00061 S->numStages = numStages; 00062 00063 /* Assign reflection coefficient pointer */ 00064 S->pkCoeffs = pkCoeffs; 00065 00066 /* Assign ladder coefficient pointer */ 00067 S->pvCoeffs = pvCoeffs; 00068 00069 /* Clear state buffer and size is always blockSize + numStages */ 00070 memset(pState, 0, (numStages + blockSize) * sizeof(float32_t)); 00071 00072 /* Assign state pointer */ 00073 S->pState = pState; 00074 00075 00076 } 00077 00078 /** 00079 * @} end of IIR_Lattice group 00080 */
Generated on Tue Jul 12 2022 19:55:43 by
1.7.2
