Livt packages
Livt.Signal
Version 0.1.1
Q1.15 sample streams, filters, windows, rate conversion, FFTs, oscillators, and mixers for Livt.
Published files (80)
src/transform/IComplexSampleStream.lvt
namespace Livt.Signal.Transform
/**
* Transfers framed complex samples with a payload type selected at compile time.
* Use logic[16] for one signed Q1.15 sample per transfer and logic[LANES, 16]
* for LANES consecutive samples. Real and imaginary values always have the same
* shape. A token transfers when valid and ready are both true; the producer
* holds the complete token stable while stalled. Reset cancels buffered tokens
* and incomplete frames; clock-domain crossing requires an explicit adapter.
*/
interface IComplexSampleStream<T>
{
// Real and imaginary payloads with identical scalar or vector shape.
real: in T
imag: in T
// Producer-to-consumer token validity and non-empty-frame boundaries.
valid: in bool
first: in bool
last: in bool
// Consumer capacity for a transfer at the next active edge.
ready: out bool
}