ESP-IDF Firmware
Firmware architecture and call graph
Loading...
Searching...
No Matches
dsps_fir_f32_ansi.c
Go to the documentation of this file.
1
// Copyright 2018-2019 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
#include "
dsps_fir.h
"
16
17
esp_err_t
dsps_fir_f32_ansi
(
fir_f32_t
*fir,
const
float
*input,
float
*output,
int
len)
18
{
19
for
(
int
i = 0 ; i < len ; i++) {
20
float
acc = 0;
21
int
coeff_pos = 0;
22
fir->
delay
[fir->
pos
] = input[i];
23
fir->
pos
++;
24
if
(fir->
pos
>= fir->
N
) {
25
fir->
pos
= 0;
26
}
27
for
(
int
n
= fir->
pos
;
n < fir->
N
;
n
++) {
28
acc += fir->
coeffs
[coeff_pos++] * fir->
delay
[
n
];
29
}
30
for
(
int
n
= 0;
n
< fir->
pos
;
n
++) {
31
acc += fir->
coeffs
[coeff_pos++] * fir->
delay
[
n
];
32
}
33
output[i] = acc;
34
}
35
return
ESP_OK
;
36
}
dsps_fir.h
fir_f32_t
struct fir_f32_s fir_f32_t
Data struct of f32 fir filter.
dsps_fir_f32_ansi
esp_err_t dsps_fir_f32_ansi(fir_f32_t *fir, const float *input, float *output, int len)
32 bit floating point FIR filter
Definition
dsps_fir_f32_ansi.c:17
esp_err_t
int esp_err_t
Definition
esp_err.h:21
ESP_OK
#define ESP_OK
Definition
esp_err.h:23
fir_f32_s::coeffs
float * coeffs
Definition
dsps_fir.h:30
fir_f32_s::pos
int pos
Definition
dsps_fir.h:33
fir_f32_s::delay
float * delay
Definition
dsps_fir.h:31
fir_f32_s::N
int N
Definition
dsps_fir.h:32
N
#define N
Definition
test_mmult.c:13
n
const int n
Definition
test_mmult.c:17
components
espressif__esp-dsp
modules
fir
float
dsps_fir_f32_ansi.c
Generated by
1.16.1