|
dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
|
one impulse test: what an analog loop keeps is its timing alone More...
#include <dx_test_device.h>
Classes | |
| struct | [struct].phase |
Public Attributes | |
| int32_t | deviation {} |
| dB the loop stands off its target where the level's range cannot take it up: 0 right, below too quiet | |
| double | energy {} |
| this period's summed input power | |
| uint32_t | latency {} |
| the last period's round trip, 0 while none was found - a loop never has 0 | |
| double | level {ceiling} |
| the impulse's peak, full scale 1 | |
| mask | mask |
| uint64_t | peak {} |
| this period's loudest input magnitude | |
| uint32_t | period |
| samples from impulse to impulse: longer than the round trip, which it measures modulo | |
| struct | phase |
| uint32_t | position {} |
| its phase in the period | |
| uint64_t | sample {} |
| the running sample count out and in alike: an impulse leaves at every multiple of period | |
Static Public Attributes | |
| static constexpr double | ceiling {.9} |
| the loop's peak wanted, the level's range - ceiling the clip limit in as well - full scale 1 | |
| static constexpr double | floor {.001} |
| static constexpr double | full {2147483648.} |
| full scale of io_t | |
| static constexpr double | margin {100.} |
| the power the loudest sample stands above the period's mean to count: 20dB | |
| static constexpr double | target {.25} |
one impulse test: what an analog loop keeps is its timing alone
A band limited impulse every period on the lowest masked out channel, the loudest sample of each period on the lowest masked in channel against the rest's noise gives the round trip, a step beyond a sample a slip. The level calibrates itself: each period takes the loop's peak to target, and where the level's range cannot, deviation names the dB the loop stands off it - 0 right, below too quiet, above too loud - the physical gain to change by that much. Optionally a sine in parallel on the next masked pair, its level calibrated the same way on its own: its phase against the reference over each period, a step beyond half a sample's turn a slip - it sees a lost or doubled sample the impulse's tolerance lets pass; a sine off its target has no phase to trust and counts as a slip.
|
static |
the loop's peak wanted, the level's range - ceiling the clip limit in as well - full scale 1
| int32_t dx::test::device< super_device_t, _engine_t >::impulse::deviation {} |
dB the loop stands off its target where the level's range cannot take it up: 0 right, below too quiet
| double dx::test::device< super_device_t, _engine_t >::impulse::energy {} |
this period's summed input power
|
static |
|
staticconstexpr |
full scale of io_t
| uint32_t dx::test::device< super_device_t, _engine_t >::impulse::latency {} |
the last period's round trip, 0 while none was found - a loop never has 0
| double dx::test::device< super_device_t, _engine_t >::impulse::level {ceiling} |
the impulse's peak, full scale 1
|
staticconstexpr |
the power the loudest sample stands above the period's mean to count: 20dB
| mask dx::test::device< super_device_t, _engine_t >::impulse::mask |
| uint64_t dx::test::device< super_device_t, _engine_t >::impulse::peak {} |
this period's loudest input magnitude
| uint32_t dx::test::device< super_device_t, _engine_t >::impulse::period |
samples from impulse to impulse: longer than the round trip, which it measures modulo
| struct dx::test::device::impulse::[struct].phase dx::test::device< super_device_t, _engine_t >::impulse::phase |
| uint32_t dx::test::device< super_device_t, _engine_t >::impulse::position {} |
its phase in the period
| uint64_t dx::test::device< super_device_t, _engine_t >::impulse::sample {} |
the running sample count out and in alike: an impulse leaves at every multiple of period
|
staticconstexpr |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |