RS3 Data Streamer
RS3 Overview
The RS3 Data Streamer is a specialized DSP that streams data directly from an RZ2 processor to the PC running Synapse through a USB3 cable. This bypasses the fiber optic connection, improving real-time performance and allowing you to acquire continuous data over several days or weeks.
Each RS3 card can stream up to 256 32-bit channels at rates up to ~25 kHz or 128 32-bit channels at ~50 kHz. Streamed data is stored as individual channels and can be stored in different numeric formats (16-bit integer, 32-bit float). Stored data can be easily reincorporated into the TTank data tank format for post processing, or processed on its own. Multiple RS3 cards can be installed in a single RZ2. An internal USB hub is provided to minimize external USB cable connections to the RZ2.
Hardware Requirements
The RS3 is installed internally on the RZ2 processor. The USB port is accessible on the back panel and must be connected to the same computer that is connected to the RZ2 with the provided locking cable
RS3 USB Port |
You can connect multiple RS3 cards to the same computer through separate USB cables. Alternatively, TDT provides a USB hub that is mounted inside the RZ2 to connect all of the RS3 cards to a single USB cable.
Synapse Setup
Software control is implemented in TDT's Synapse software. To add an RS3 in Synapse, go to Menu -> Edit Rig. With the RZ2 processor powered on and connected to the PC, click the 'Detect' button. If the Rig Editor sees a DSPR card, it will automatically add an RS3 object underneath it, like this:
By default the RS3 object is unchecked, which means it won't automatically be added to the Processing Tree when you create a new experiment. If you intend to use the RS3 for most of your experiments, check the box next to RS3 now.
When you exit the Rig Editor, the RS3 will appear in the Processing Tree. Attach it directly to the PZ5 or PZA amplifier to stream the raw data.
RS3 connected to PZ5 |
Since there is one link in the Processing Tree per RS4 object, if you have the PZ5 or PZA configured with multiple subamplifiers and a single fiber optic to the RS4, you must first merge the subamplifier signals into one large multi-channel signal and connect that to the RS3.
RS3 connected to multiple subamplifiers |
RS3 Options
The RS3 object configures data storage from the RS3 to the PC. The object provides settings for the number of channels, storage format, and decimation factor.
RS3 Options |
By default, the RS3 uses the RZ2 device sampling rate. You can set a rate manually by clearing the Sample Rate Max check box to enable the slider. You can also select the data format and any scaling. If streaming from an analog PZ5 or PZA amplifier, the Float-32 format is recommended due to the large input range and high fidelity. If using a ZD digital headstage or PZ2 amplifier, Integer-16 format with Scaling set to 1e6 is preferred.
Phantom Store generates header information in the data tank. This is useful if you are reading the RS3 data with TDT applications through the tank server. However, this consumes extra hard disk space on your Synapse computer, so if you are going to read the files directly from the RS4 for your own custom analysis then leave this unchecked.
Important
If you aren't using TDT applications to read the data saved on the RS3, you don't need to select Phantom Store.
Segment Files Every lets you split up the data files automatically at the specified interval. The new file will begin exactly one sample after the previous file. This is useful for long recordings where the user wants access to the raw data for parallel processing before the recording is over.
Run-time Monitor adds a runtime interface that warns you of data errors and USB connection issues, and shows data storage rates.
By default the data is stored in the same block folder as the rest of the recording. Use the Store Location option to point the RS3 data files to a different path.
Recording Sessions
When Synapse enters Preview or Record mode, the RZ2 begins streaming data to the RS3 card, and the RS3 begins transferring it to the PC. The Synapse software opens new files and starts saving the raw data to disk. For long recording sessions, the Segment Files Every option has several time options to periodically close the currently recorded files and open new data files. This partitions the recording into multiple smaller data files that may be easier to analyze if you are doing long multi- day recordings.
RS3 Storage Format
Data stored with the RS3:
-
Contains an *.sev file for each channel recorded in the stream.
-
Stores all of the channel data files in a single Data Tank folder.
-
Contains a log text file with starting sample, ending sample, and any gaps in the data stream.
These SEV files are typically directly stored within the same local block folder as the rest of the Synapse data, but can be in a different location specified by the Store Location option. The SEV files can be read by any TDT application (if Phantom Store was enabled during the recording), or read directly with the MATLAB and Python SDKs.
Naming Convention
The file names include the tank, block, store name (typically RSn1), and channel number. For example, if you are recording channel 1 for the event RSn1 on Block-3 from DemoTank2 the RS3 will store in the following location and format:
D:\Tanks\DemoTank2\Block-3\DemoTank2-Block-3_RSn1_ch1.sev
Segmented Files
When use the segmented files option, the exact length of each file will be a multiple of a fixed block size, based on the sampling rate. It will be as close as possible to the selected setting value (e.g. 1 hr, 4 hr, etc.), but will not be exact. It will be within ~0.1 seconds or so of the exact desired duration, and there will be no overlap in the data at the beginnings and ends of the files.
The files will be named as follows:
{TANK}_{BLOCK}_{STORE}_ch1.sev
{TANK}_{BLOCK}_{STORE}_ch1-1h.sev
{TANK}_{BLOCK}_{STORE}_ch1-2h.sev
...
{TANK}_{BLOCK}_{STORE}_ch2.sev
{TANK}_{BLOCK}_{STORE}_ch2-1h.sev
{TANK}_{BLOCK}_{STORE}_ch2-2h.sev
...
If using Phantom Store to use TDT TTank applications to read the data, only the first file chunk will be accessible because it matches the expected naming scheme.
If you are reading the data with the MATLAB or Python SDKs then these segmented files are handled for you, with no concern to the user.