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_fir_init_q31.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_fir_init_q31.c 00009 * 00010 * Description: Q31 FIR 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.5 2010/04/26 00027 * incorporated review comments and updated with latest CMSIS layer 00028 * 00029 * Version 0.0.3 2010/03/10 00030 * Initial version 00031 * -------------------------------------------------------------------- */ 00032 00033 #include "arm_math.h" 00034 00035 /** 00036 * @ingroup groupFilters 00037 */ 00038 00039 /** 00040 * @addtogroup FIR 00041 * @{ 00042 */ 00043 00044 /** 00045 * @details 00046 * 00047 * @param[in,out] *S points to an instance of the Q31 FIR filter structure. 00048 * @param[in] numTaps Number of filter coefficients in the filter. 00049 * @param[in] *pCoeffs points to the filter coefficients buffer. 00050 * @param[in] *pState points to the state buffer. 00051 * @param[in] blockSize number of samples that are processed per call. 00052 * @return none. 00053 * 00054 * <b>Description:</b> 00055 * \par 00056 * <code>pCoeffs</code> points to the array of filter coefficients stored in time reversed order: 00057 * <pre> 00058 * {b[numTaps-1], b[numTaps-2], b[N-2], ..., b[1], b[0]} 00059 * </pre> 00060 * \par 00061 * <code>pState</code> points to the array of state variables. 00062 * <code>pState</code> is of length <code>numTaps+blockSize-1</code> samples, where <code>blockSize</code> is the number of input samples processed by each call to <code>arm_fir_q31()</code>. 00063 */ 00064 00065 void arm_fir_init_q31( 00066 arm_fir_instance_q31 * S, 00067 uint16_t numTaps, 00068 q31_t * pCoeffs, 00069 q31_t * pState, 00070 uint32_t blockSize) 00071 { 00072 /* Assign filter taps */ 00073 S->numTaps = numTaps; 00074 00075 /* Assign coefficient pointer */ 00076 S->pCoeffs = pCoeffs; 00077 00078 /* Clear state buffer and state array size is (blockSize + numTaps - 1) */ 00079 memset(pState, 0, (blockSize + ((uint32_t) numTaps - 1u)) * sizeof(q31_t)); 00080 00081 /* Assign state pointer */ 00082 S->pState = pState; 00083 00084 } 00085 00086 /** 00087 * @} end of FIR group 00088 */
Generated on Tue Jul 12 2022 19:55:43 by
1.7.2
