Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
pprz_doublet.c File Reference
#include "pprz_doublet.h"
#include "std.h"
+ Include dependency graph for pprz_doublet.c:

Go to the source code of this file.

Functions

void doublet_init (struct doublet_t *doublet, float length_s, float extra_waiting_time_s, float current_time_s, uint8_t mod)
 
void doublet_reset (struct doublet_t *doublet, float current_time_s)
 
bool doublet_is_running (struct doublet_t *doublet, float current_time_s)
 
float doublet_update (struct doublet_t *doublet, float current_time_s)
 

Detailed Description

Author
Alessandro Colllicelli Mathematical implementation of doublet for system identification

A doublet is a maneuver used during system identification procedures. The standard doublet input (1) is constituted by two consecutive step input. The two step inputs are equal in step amplitude and time lenght but opposite in sign. The standard 3-2-1-1 doublet input (2) is constituded by four step input, with decresing length in time, equal amplitude and alternating in sign.

           ______
          |      |

(1) _________| | ___________ Standard doublet input shape | | |______|

           __________________              ______
          |                  |            |      |

(2) _________| | | | _________ 3-2-1-1 doublet input shape | | | | |____________| |______|

Definition in file pprz_doublet.c.

Function Documentation

◆ doublet_init()

void doublet_init ( struct doublet_t doublet,
float  length_s,
float  extra_waiting_time_s,
float  current_time_s,
uint8_t  mod 
)

◆ doublet_is_running()

bool doublet_is_running ( struct doublet_t doublet,
float  current_time_s 
)

Definition at line 67 of file pprz_doublet.c.

References doublet, doublet_t::t0, and doublet_t::total_length_s.

Referenced by doublet_update(), and sys_id_doublet_run().

+ Here is the caller graph for this function:

◆ doublet_reset()

void doublet_reset ( struct doublet_t doublet,
float  current_time_s 
)

Definition at line 61 of file pprz_doublet.c.

References doublet_t::current_time_s, doublet_t::current_value, doublet, and doublet_t::t0.

Referenced by start_doublet(), and stop_doublet().

+ Here is the caller graph for this function:

◆ doublet_update()

float doublet_update ( struct doublet_t doublet,
float  current_time_s 
)

Definition at line 72 of file pprz_doublet.c.

References doublet_t::current_value, doublet, doublet_is_running(), doublet_t::mod, doublet_t::t0, doublet_t::t1, doublet_t::t2, doublet_t::t3, and doublet_t::t4.

Referenced by sys_id_doublet_run().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: