#include "dsps_conv.h"
#include "esp_log.h"
Go to the source code of this file.
|
| static const char * | TAG = "dsps_conv" |
◆ dsps_conv_f32_ansi()
| esp_err_t dsps_conv_f32_ansi |
( |
const float * | Signal, |
|
|
const int | siglen, |
|
|
const float * | Kernel, |
|
|
const int | kernlen, |
|
|
float * | convout ) |
Definition at line 20 of file dsps_conv_f32_ansi.c.
21{
22 if (NULL == Signal) {
24 }
25 if (NULL == Kernel) {
27 }
28 if (NULL == convout) {
30 }
31
32 float *sig = (float *)Signal;
33 float *kern = (float *)Kernel;
34 int lsig = siglen;
35 int lkern = kernlen;
36
37 if (siglen < kernlen) {
38 sig = (float *)Kernel;
39 kern = (float *)Signal;
40 lsig = kernlen;
41 lkern = siglen;
42 }
43
44 for (
int n = 0;
n < lkern;
n++) {
46
48
49 for (
k = 0;
k <=
n;
k++) {
50 convout[
n] += sig[
k] * kern[
n -
k];
51 }
52 ESP_LOGV(
TAG,
"L1 kmin = %i, kmax = %i , n-kmin = %i", 0,
n,
n);
53 }
54 for (
int n = lkern;
n < lsig;
n++) {
56
58
61 ESP_LOGV(
TAG,
"L2 n=%i, kmin = %i, kmax = %i , n-kmin = %i",
n, kmin, kmax,
n - kmin);
62 for (
k = kmin;
k <= kmax;
k++) {
63 convout[
n] += sig[
k] * kern[
n -
k];
64 }
65 }
66
67 for (
int n = lsig;
n < lsig + lkern - 1;
n++) {
69
71
73 kmax = lsig - 1;
74
75 for (
k = kmin;
k <= kmax;
k++) {
76 convout[
n] += sig[
k] * kern[
n -
k];
77 }
78 ESP_LOGV(
TAG,
"L3 n=%i, kmin = %i, kmax = %i , n-kmin = %i",
n, kmin, kmax,
n - kmin);
79 }
81}
#define ESP_ERR_DSP_PARAM_OUTOFRANGE
References ESP_ERR_DSP_PARAM_OUTOFRANGE, ESP_OK, k, n, and TAG.
◆ TAG
| const char* TAG = "dsps_conv" |
|
static |