-
Notifications
You must be signed in to change notification settings - Fork 0
/
FiltroPassaAlta.hpp
81 lines (55 loc) · 1.88 KB
/
FiltroPassaAlta.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
72
73
74
75
/*=======================================================================
__ __ __ _______ .______ ______ ___ ___ __ _______ ______
| | | | | | | \ | _ \ / __ \ \ \ / / | | | \ / __ \
| |__| | | | | .--. || |_) | | | | | \ V / | | | .--. || | | |
| __ | | | | | | || / | | | | > < | | | | | || | | |
| | | | | | | '--' || |\ \ .| `--' | / . \ | | | '--' || `--' |
|__| |__| |__| |_______/ | _| `._| \______/ /__/ \__\ |__| |_______/ \______/
Alexandre Souto
FILTROS DIGITAIS
Filtro Passa - Alta IIR de Primeira Ordem.
FiltroPassaAlta.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 FiltroPassaAlta
{
private:
const float k;
float state;
float _der;
public:
FiltroPassaAlta(const float &_k)
: k(_k) // Mantem o k Constante
{
}
FiltroPassaAlta(const float &fc, const float &dt)
: k (1.f/((6.823f * fc * dt) + 1))
{
}
float update(const float &input)
{
this -> state = state;
this -> _der = _der;
state = k * (state + (input - _der));
_der = input;
return state;
}
};
}