![]() |
AMS Advanced Air Mobility Sensors UG
|
Software component that applies a 2nd order Butterworth low-pass filter to raw IMU measurements. Currently, only the specific force signals are filtered. More...
Classes | |
| struct | SFilterConfiguration |
Public Types | |
| enum class | ESensorId : uint8_t { eImu1 , eImu2 , eImu3 } |
| IMU sensor identifier for pre-filter instances. More... | |
Public Member Functions | |
| void | Init () override |
| bool | IsInitialized () override |
| void | Run () |
| Apply the Butterworth low-pass filter to the raw IMU measurement and write the result. | |
| Public Member Functions inherited from CSoftwareComponent< CImuPreFilterSwc, 3U > | |
| CSoftwareComponent (CSoftwareComponent &)=delete | |
| CSoftwareComponent & | operator= (const CSoftwareComponent &orOther)=delete |
Private Member Functions | |
| CImuPreFilterSwc (CImuPreFilterSwc &)=delete | |
| CImuPreFilterSwc (CImuPreFilterSwc &&)=delete | |
| CImuPreFilterSwc & | operator= (const CImuPreFilterSwc &orOther)=delete |
| CImuPreFilterSwc & | operator= (CImuPreFilterSwc &&orOther)=delete |
| CImuPreFilterSwc (SFilterConfiguration oFilterConfig) | |
| ~CImuPreFilterSwc ()=default | |
| bool | readImuDataPort (struct SImuMeasurement &orInput) const |
| void | writeFilteredImuDataPort (const struct SImuMeasurement &orOutput) const |
| void | resetFilters () |
Static Private Member Functions | |
| static CImuPreFilterSwc & | getInstanceImpl (unsigned uInstanceIndex) |
| template<ESensorId eSensorId> | |
| static constexpr SFilterConfiguration | getFilterConfiguration () |
Private Attributes | |
| const ESensorId | keSensorId_ |
| const float | kfCutoffFrequencyHz_ |
| Cutoff frequency of the Butterworth low-pass filter, [Hz]. | |
| uint8_t | uInvalidInputCounter_ { 0U } |
| bool | bIsInitialized_ { false } |
| CButterworthLowPassFilter2 | oFilterSpecificForceX_ {} |
| CButterworthLowPassFilter2 | oFilterSpecificForceY_ {} |
| CButterworthLowPassFilter2 | oFilterSpecificForceZ_ {} |
Static Private Attributes | |
| static constexpr float | skfSamplingFrequencyHz_ { 200.0F } |
| IMU sampling frequency, [Hz]. | |
| static constexpr uint8_t | skuMaxInvalidInputCount_ { 5U } |
| Maximum allowed number of consecutive invalid input datasets before the filter is reset. | |
Friends | |
| class | CSoftwareComponent< CImuPreFilterSwc, 3U > |
Additional Inherited Members | |
| Static Public Member Functions inherited from CSoftwareComponent< CImuPreFilterSwc, 3U > | |
| static CImuPreFilterSwc & | GetInstance (unsigned uInstanceIndex=0U) |
| Static Public Attributes inherited from CSoftwareComponent< CImuPreFilterSwc, 3U > | |
| static constexpr unsigned | skuInstanceCount_ |
| Protected Member Functions inherited from CSoftwareComponent< CImuPreFilterSwc, 3U > | |
| ~CSoftwareComponent ()=default | |
Software component that applies a 2nd order Butterworth low-pass filter to raw IMU measurements. Currently, only the specific force signals are filtered.
|
strong |
|
privatedelete |
|
privatedelete |
|
explicitprivate |
|
privatedefault |
|
staticconstexprprivate |
|
staticprivate |
|
overridevirtual |
Initialize the software component.
Implements CSoftwareComponent< CImuPreFilterSwc, 3U >.
|
overridevirtual |
Get initialization status of the software component.
Implements CSoftwareComponent< CImuPreFilterSwc, 3U >.
|
privatedelete |
|
privatedelete |
|
private |
|
private |
| void CImuPreFilterSwc::Run | ( | ) |
Apply the Butterworth low-pass filter to the raw IMU measurement and write the result.
|
private |
|
friend |
|
private |
|
private |
|
private |
Cutoff frequency of the Butterworth low-pass filter, [Hz].
|
private |
|
private |
|
private |
|
staticconstexprprivate |
IMU sampling frequency, [Hz].
|
staticconstexprprivate |
Maximum allowed number of consecutive invalid input datasets before the filter is reset.
|
private |