pub struct KalmanFilter1D {
pub x: f32,
pub p: f32,
pub q: f32,
pub r: f32,
}Expand description
1D scalar Kalman filter for sensor fusion and signal smoothing.
State: x̂ (estimate), P (estimate covariance) Model: x_k = x_{k-1} + process_noise y_k = x_k + measurement_noise
Fields§
§x: f32Estimated state.
p: f32Estimate error covariance.
q: f32Process noise covariance Q.
r: f32Measurement noise covariance R.
Implementations§
Source§impl KalmanFilter1D
impl KalmanFilter1D
Sourcepub fn new(initial_estimate: f32, q: f32, r: f32) -> Self
pub fn new(initial_estimate: f32, q: f32, r: f32) -> Self
Create a new filter.
initial_estimate— initial state estimateq— process noise variance (larger = more responsive)r— measurement noise variance (larger = more smoothing)
Sourcepub fn predict(&mut self, _dt: f32)
pub fn predict(&mut self, _dt: f32)
Predict step (constant-velocity model here: x = x, P = P + Q).
Trait Implementations§
Source§impl Clone for KalmanFilter1D
impl Clone for KalmanFilter1D
Source§fn clone(&self) -> KalmanFilter1D
fn clone(&self) -> KalmanFilter1D
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for KalmanFilter1D
impl RefUnwindSafe for KalmanFilter1D
impl Send for KalmanFilter1D
impl Sync for KalmanFilter1D
impl Unpin for KalmanFilter1D
impl UnsafeUnpin for KalmanFilter1D
impl UnwindSafe for KalmanFilter1D
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.