You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<h1id="theory-of-operation">Theory of Operation</h1>
97
99
<!-- markdownlint-disable MD013 -->
98
100
<!-- markdownlint-disable MD036 -->
99
-
<p>The core of the SDS-Framework is a circular buffer handling that is the interface between the Recorder/Playback functions and the file I/O communication as shown in the picture below. The user application may read one data streams and write another data stream.</p>
100
-
<p><imgalt="Theory of operation" src="../images/Theory_of_Operation.png"/></p>
101
-
<p>ToDo:</p>
101
+
<p>The SDS Framework enables to record and playback one or more data streams to an application that is under development as shown in the diagram below. With the SDSIO Interface the data streams are connected to SDS data files. The file storage can be either embedded within the system and access by a file system or external on a host computer and accessed by a communication interface such as Ethernet or USB.</p>
102
+
<p>The DSP or ML algorithms that are tested operate on blocks and are executed periodically. This documentation uses these terms:</p>
102
103
<ul>
103
-
<li>When does sdsRecInit require an event handler?</li>
104
+
<li><strong>Block size</strong>: is the number of bytes processed by a DSP or ML compute node.</li>
105
+
<li><strong>Interval</strong>: is the periodic time interval that the compute node executes.</li>
104
106
</ul>
107
+
<p><imgalt="SDSIO Interface for Player and Recorder" src="../images/SDS-InOut.png"/></p>
108
+
<p>The core of the SDS-Framework is a circular buffer handling (<code>sds.c/h</code>) that is controlled by the Recorder/Player interface functions (<code>sdsRec.c/h</code>/<code>sdsPlay.c/h</code>). This circular buffer is the queue for the file I/O communication (<code>sdsio.c/h</code>). Using the Recorder/Player functions, the data stream under development may read and write data streams as shown in the diagram above.</p>
109
+
<p><imgalt="Implementation Files of SDS" src="../images/Theory_of_Operation.png"/></p>
110
+
<h2id="usage">Usage</h2>
111
+
<p>The following diagram shows the usage of the SDS Recorder and Player functions. Management is a separate thread that controls the overall execution. Algorithm is a thread that executes Signal Conditioning (SC) and ML Model.</p>
<p>Each data stream is stored in a separate SDS data file. In the diagram below <code>SCinput.0.sds</code> is the input to Signal Conditioning, <code>SCoutput.0.sds</code> is the output of Signal Conditioning, and <code>MLoutput.0.sds</code> is the output of the ML Model. Each execution of the algorithm is represented in a data block with a <code>timestamp</code>. The <code>timestamp</code> allows to correlate the blocks of different streams. In the above example, all blocks of one algorithm execution have the same timestamp value.</p>
0 commit comments