-
Notifications
You must be signed in to change notification settings - Fork 0
/
FiltroPassaBaixa.hpp
77 lines (52 loc) · 1.83 KB
/
FiltroPassaBaixa.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*=======================================================================
__ __ __ _______ .______ ______ ___ ___ __ _______ ______
| | | | | | | \ | _ \ / __ \ \ \ / / | | | \ / __ \
| |__| | | | | .--. || |_) | | | | | \ V / | | | .--. || | | |
| __ | | | | | | || / | | | | > < | | | | | || | | |
| | | | | | | '--' || |\ \ .| `--' | / . \ | | | '--' || `--' |
|__| |__| |__| |_______/ | _| `._| \______/ /__/ \__\ |__| |_______/ \______/
Alexandre Souto
FILTROS DIGITAIS
Filtro Passa - Baixa IIR de Primeira Ordem.
FiltroPassaBaixa.hpp
ARDUINO
Board: Arduino Uno.
Compilador: Arduino IDE 1.8.13
Autor: Alexandre Souto
Data: Novembro 2021
#########################
## | | ##
## | | ##
## | | ##
## | | ##
## | | ##
----------------------------------------------------------------
6HZ 15HZ
Corte do passa corte do passa
altas baixa
ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ^
======================================================================= */
namespace DSP
{
class FiltroPassaBaixa
{
private:
const float k;
float state;
public:
FiltroPassaBaixa(const float &_k)
: k(_k) // Mantem o k Constante
{
}
FiltroPassaBaixa(const float &fc, const float &dt)
: k (1.f / ((6.283f * dt * fc) + 1.f))
{
}
float update(const float &input)
{
this ->state = state;
state = k * state + (1.f - k) * input;
return state;
}
};
}