ESP-IDF Firmware
Firmware architecture and call graph
Loading...
Searching...
No Matches
dsps_biquad.h
Go to the documentation of this file.
1// Copyright 2018-2025 Espressif Systems (Shanghai) PTE LTD
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15
16#ifndef _dsps_biquad_H_
17#define _dsps_biquad_H_
18
19#include "dsp_err.h"
20
22
23#ifdef __cplusplus
24extern "C"
25{
26#endif
27
46esp_err_t dsps_biquad_f32_ansi(const float *input, float *output, int len, float *coef, float *w);
47esp_err_t dsps_biquad_f32_ae32(const float *input, float *output, int len, float *coef, float *w);
48esp_err_t dsps_biquad_f32_aes3(const float *input, float *output, int len, float *coef, float *w);
49esp_err_t dsps_biquad_f32_arp4(const float *input, float *output, int len, float *coef, float *w);
51
70esp_err_t dsps_biquad_sf32_ansi(const float *input, float *output, int len, float *coef, float *w);
71esp_err_t dsps_biquad_sf32_ae32(const float *input, float *output, int len, float *coef, float *w);
72esp_err_t dsps_biquad_sf32_aes3(const float *input, float *output, int len, float *coef, float *w);
73esp_err_t dsps_biquad_sf32_arp4(const float *input, float *output, int len, float *coef, float *w);
75
76
77#ifdef __cplusplus
78}
79#endif
80
81#if CONFIG_DSP_OPTIMIZED
82
83#if (dsps_biquad_f32_ae32_enabled == 1)
84#define dsps_biquad_f32 dsps_biquad_f32_ae32
85#define dsps_biquad_sf32 dsps_biquad_sf32_ae32
86#elif (dsps_biquad_f32_aes3_enabled == 1)
87#define dsps_biquad_f32 dsps_biquad_f32_aes3
88#define dsps_biquad_sf32 dsps_biquad_sf32_ae32
89#elif (dsps_biquad_f32_arp4_enabled == 1)
90#define dsps_biquad_f32 dsps_biquad_f32_arp4
91#define dsps_biquad_sf32 dsps_biquad_sf32_arp4
92#else
93#define dsps_biquad_f32 dsps_biquad_f32_ansi
94#define dsps_biquad_sf32 dsps_biquad_sf32_ansi
95#endif
96
97#else // CONFIG_DSP_OPTIMIZED
98
99#define dsps_biquad_f32 dsps_biquad_f32_ansi
100#define dsps_biquad_sf32 dsps_biquad_sf32_ansi
101
102#endif // CONFIG_DSP_OPTIMIZED
103
104
105#endif // _dsps_biquad_H_
esp_err_t dsps_biquad_f32_ae32(const float *input, float *output, int len, float *coef, float *w)
esp_err_t dsps_biquad_sf32_arp4(const float *input, float *output, int len, float *coef, float *w)
esp_err_t dsps_biquad_sf32_ansi(const float *input, float *output, int len, float *coef, float *w)
IIR filter for stereo data.
esp_err_t dsps_biquad_sf32_aes3(const float *input, float *output, int len, float *coef, float *w)
esp_err_t dsps_biquad_sf32_ae32(const float *input, float *output, int len, float *coef, float *w)
esp_err_t dsps_biquad_f32_aes3(const float *input, float *output, int len, float *coef, float *w)
esp_err_t dsps_biquad_f32_ansi(const float *input, float *output, int len, float *coef, float *w)
IIR filter.
esp_err_t dsps_biquad_f32_arp4(const float *input, float *output, int len, float *coef, float *w)
int esp_err_t
Definition esp_err.h:21