STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
pdm_filter.h
Go to the documentation of this file.
1 
32 /* Define to prevent recursive inclusion -------------------------------------*/
33 #ifndef __PDM_FILTER_H
34 #define __PDM_FILTER_H
35 
36 #ifdef __cplusplus
37  extern "C" {
38 #endif
39 
40 /* Includes ------------------------------------------------------------------*/
41 #include <stdint.h>
42 
43 
44 /* Exported types ------------------------------------------------------------*/
45 typedef struct {
46  uint16_t Fs;
47  float LP_HZ;
48  float HP_HZ;
49  uint16_t In_MicChannels;
50  uint16_t Out_MicChannels;
51  char InternalFilter[34];
53 
54 /* Exported constants --------------------------------------------------------*/
55 /* Exported macros -----------------------------------------------------------*/
56 #define HTONS(A) ((((uint16_t)(A) & 0xff00) >> 8) | \
57  (((uint16_t)(A) & 0x00ff) << 8))
58 
59 /* Exported functions ------------------------------------------------------- */
61 
62 int32_t PDM_Filter_64_MSB(uint8_t* data, uint16_t* dataOut, uint16_t MicGain, PDMFilter_InitStruct * Filter);
63 int32_t PDM_Filter_80_MSB(uint8_t* data, uint16_t* dataOut, uint16_t MicGain, PDMFilter_InitStruct * Filter);
64 int32_t PDM_Filter_128_MSB(uint8_t* data, uint16_t* dataOut, uint16_t MicGain, PDMFilter_InitStruct * Filter);
65 int32_t PDM_Filter_64_LSB(uint8_t* data, uint16_t* dataOut, uint16_t MicGain, PDMFilter_InitStruct * Filter);
66 int32_t PDM_Filter_80_LSB(uint8_t* data, uint16_t* dataOut, uint16_t MicGain, PDMFilter_InitStruct * Filter);
67 int32_t PDM_Filter_128_LSB(uint8_t* data, uint16_t* dataOut, uint16_t MicGain, PDMFilter_InitStruct * Filter);
68 
69 #ifdef __cplusplus
70 }
71 #endif
72 
73 #endif /* __PDM_FILTER_H */
74 
75 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
76 
int32_t PDM_Filter_64_MSB(uint8_t *data, uint16_t *dataOut, uint16_t MicGain, PDMFilter_InitStruct *Filter)
int32_t PDM_Filter_64_LSB(uint8_t *data, uint16_t *dataOut, uint16_t MicGain, PDMFilter_InitStruct *Filter)
int32_t PDM_Filter_80_LSB(uint8_t *data, uint16_t *dataOut, uint16_t MicGain, PDMFilter_InitStruct *Filter)
int32_t PDM_Filter_80_MSB(uint8_t *data, uint16_t *dataOut, uint16_t MicGain, PDMFilter_InitStruct *Filter)
int32_t PDM_Filter_128_MSB(uint8_t *data, uint16_t *dataOut, uint16_t MicGain, PDMFilter_InitStruct *Filter)
int32_t PDM_Filter_128_LSB(uint8_t *data, uint16_t *dataOut, uint16_t MicGain, PDMFilter_InitStruct *Filter)
void PDM_Filter_Init(PDMFilter_InitStruct *Filter)