aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorThomas Gubler <thomasgubler@gmail.com>2013-12-13 21:07:27 +0100
committerThomas Gubler <thomasgubler@gmail.com>2013-12-13 21:07:27 +0100
commitc3cbaf5deb00577efa9198f246ebc6011284ff34 (patch)
tree8f40fef6a2230cf6be262443ac520807cc66aba2 /src/lib
parent54e739926d3414e29b13d2aa14ebb94fd8ffd4f4 (diff)
parent0b9b68f0d96f59c9cd406547ee52fb52617a298f (diff)
downloadpx4-firmware-c3cbaf5deb00577efa9198f246ebc6011284ff34.tar.gz
px4-firmware-c3cbaf5deb00577efa9198f246ebc6011284ff34.tar.bz2
px4-firmware-c3cbaf5deb00577efa9198f246ebc6011284ff34.zip
Merge remote-tracking branch 'upstream/master' into fw_autoland_att_tecs_navigator_termination_controlgroups
Conflicts: src/drivers/px4io/px4io.cpp
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/mathlib/math/filter/LowPassFilter2p.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lib/mathlib/math/filter/LowPassFilter2p.cpp b/src/lib/mathlib/math/filter/LowPassFilter2p.cpp
index efb17225d..3699d9bce 100644
--- a/src/lib/mathlib/math/filter/LowPassFilter2p.cpp
+++ b/src/lib/mathlib/math/filter/LowPassFilter2p.cpp
@@ -46,6 +46,10 @@ namespace math
void LowPassFilter2p::set_cutoff_frequency(float sample_freq, float cutoff_freq)
{
_cutoff_freq = cutoff_freq;
+ if (_cutoff_freq <= 0.0f) {
+ // no filtering
+ return;
+ }
float fr = sample_freq/_cutoff_freq;
float ohm = tanf(M_PI_F/fr);
float c = 1.0f+2.0f*cosf(M_PI_F/4.0f)*ohm + ohm*ohm;
@@ -58,6 +62,10 @@ void LowPassFilter2p::set_cutoff_frequency(float sample_freq, float cutoff_freq)
float LowPassFilter2p::apply(float sample)
{
+ if (_cutoff_freq <= 0.0f) {
+ // no filtering
+ return sample;
+ }
// do the filtering
float delay_element_0 = sample - _delay_element_1 * _a1 - _delay_element_2 * _a2;
if (isnan(delay_element_0) || isinf(delay_element_0)) {