|
Vulcan
Aerospace Engineering Utilities Built on Janus
|
Classes | |
| struct | FilterState |
| Dryden forming filter state. More... | |
| struct | FilterCoeffs |
| Discretized Dryden forming filter coefficients. More... | |
Functions | |
| template<typename Scalar> | |
| Scalar | psd_longitudinal (const Scalar &omega, double sigma_u, double L_u) |
| Dryden longitudinal PSD. | |
| template<typename Scalar> | |
| Scalar | psd_lateral (const Scalar &omega, double sigma, double L) |
| Dryden lateral/vertical PSD. | |
| template<typename Scalar> | |
| FilterState< Scalar > | init_state () |
| Initialize filter state to zero. | |
| FilterCoeffs | compute_filter_coeffs (const wind::TurbulenceParams< double > ¶ms, double airspeed, double dt) |
| Compute forming filter coefficients. | |
| template<typename Scalar> | |
| wind::GustVelocity< Scalar > | step (FilterState< Scalar > &state, const FilterCoeffs &coeffs, const Scalar &noise_u, const Scalar &noise_v, const Scalar &noise_w) |
| Step the Dryden forming filter. | |
| FilterCoeffs | mil_spec_coeffs (double altitude, wind::TurbulenceSeverity severity, double airspeed, double dt) |
| Compute all filter coefficients for MIL-spec conditions. | |
|
inline |
Compute forming filter coefficients.
Discretizes the continuous-time Dryden forming filters for given airspeed and time step using the bilinear (Tustin) transform.
Continuous-time transfer functions:
| params | Turbulence parameters (σ and L values) |
| airspeed | True airspeed V [m/s] |
| dt | Time step [s] |
| FilterState< Scalar > vulcan::dryden::init_state | ( | ) |
Initialize filter state to zero.
| Scalar | double or casadi::MX |
|
inline |
Compute all filter coefficients for MIL-spec conditions.
Convenience function that combines mil_spec_params and compute_filter_coeffs.
| altitude | Altitude above ground level [m] |
| severity | Turbulence severity level |
| airspeed | True airspeed [m/s] |
| dt | Time step [s] |
| Scalar vulcan::dryden::psd_lateral | ( | const Scalar & | omega, |
| double | sigma, | ||
| double | L ) |
Dryden lateral/vertical PSD.
Φ_v(Ω) = σ_v² * (L_v/π) * [(1 + 3(L_v·Ω)²) / (1 + (L_v·Ω)²)²]
Same form for vertical component with w subscripts.
| Scalar | double or casadi::MX |
| omega | Spatial frequency Ω [rad/m] |
| sigma | RMS turbulence intensity [m/s] |
| L | Scale length [m] |
| Scalar vulcan::dryden::psd_longitudinal | ( | const Scalar & | omega, |
| double | sigma_u, | ||
| double | L_u ) |
Dryden longitudinal PSD.
Φ_u(Ω) = σ_u² * (2L_u/π) * [1 / (1 + (L_u·Ω)²)]
| Scalar | double or casadi::MX |
| omega | Spatial frequency Ω [rad/m] |
| sigma_u | RMS turbulence intensity [m/s] |
| L_u | Scale length [m] |
| wind::GustVelocity< Scalar > vulcan::dryden::step | ( | FilterState< Scalar > & | state, |
| const FilterCoeffs & | coeffs, | ||
| const Scalar & | noise_u, | ||
| const Scalar & | noise_v, | ||
| const Scalar & | noise_w ) |
Step the Dryden forming filter.
Updates filter state and computes gust velocities given white noise input. The noise inputs should be independent standard normal random variables.
| Scalar | double or casadi::MX |
| state | Current filter state (updated in-place) |
| coeffs | Pre-computed filter coefficients |
| noise_u | White noise input for longitudinal channel |
| noise_v | White noise input for lateral channel |
| noise_w | White noise input for vertical channel |