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_q15.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_q15.c 00009 * 00010 * Description: Q15 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 Q15 IIR lattice filter. 00043 * @param[in] *S points to an instance of the Q15 IIR lattice structure. 00044 * @param[in] numStages number of stages in the filter. 00045 * @param[in] *pkCoeffs points to reflection coefficient buffer. The array is of length numStages. 00046 * @param[in] *pvCoeffs points to ladder coefficient buffer. The array is of length numStages+1. 00047 * @param[in] *pState points to state buffer. The array is of length numStages+blockSize. 00048 * @param[in] blockSize number of samples to process per call. 00049 * @return none. 00050 */ 00051 00052 void arm_iir_lattice_init_q15( 00053 arm_iir_lattice_instance_q15 * S, 00054 uint16_t numStages, 00055 q15_t * pkCoeffs, 00056 q15_t * pvCoeffs, 00057 q15_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(q15_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
