Forum
Please or Register to create posts and topics.

File Source

File Source block:

Import and playback any RTSA-Suite PRO ".rtsa", ".tag", ".dat" (I/Q, Spectra, Video, Tracking etc.), ".wv" and ".iq.tar" files from disk. In addition it can be used as a Powerful IQ export feature to other file formats:

File Source Block | Import, Cut and Export data

Right hand side output:

  • Stream

 

This block is quite similar to the File Reader block but reads the complete file to RAM. This makes it interesting for fast playbacks or whenever high data transfers are needed. It can also read third party I/Q files as there are Waveform (.wv), R&S IQ.TAR (.iq.tar) and Tektronix Text (.txt).

 

In addition the File Source block supports the following features:

  • Read any data format supported by the RTSA-Suite PRO incl. ".wv", ".iq.tar" (Rohde & Schwarz) and ".txt" (Tektronix)
  • Change playback speed
  • Preview the datafile and conditions (spectrum, video-picture, antenna position etc.)
  • Area playback (mark an area within the preview for playback)
  • Varios playback options (once, loop, steady, contiguous)
  • Cut and save/export a marked area under a new file
  • Export the file or portions of it under a new data format (CSV, XML, JSON, RTSA, TAG, DAT, ASC and MAT)
  • Change/add power offset, time offset, location (GPS) etc.

 

The powerful export feature supports CSV, XML, JSON, RTSA, TAG, DAT, ASC and MAT (Matlab) formats:

Powerfull Export Feature

File Soure Block Settings

 

The Screenshot shows an imported file ready for playback or export/conversion:

File Source Block Screenhsot

 

Typical Mission:

File Source Typical Mission

Attached is a sample file for the data import of the Tektronix Textfile format.

The format is quite simple so you can also use it for a custom IQ data import.

InputZoom
XDelta 0.0000001
InputCenter 0
InputRange 2
FreqValidMin -5000000
FreqValidMax 5000000
Y
100 200
16384 -16384
1000 2000
-500 1000
100 200
16384 -16384
1000 2000
-500 1000
100 200
16384 -16384
1000 2000
-500 1000

Uploaded files:

As a side note please make sure to add enough "buffer" via the Time Offset feature (30ms should work fine) and to activate the Emulate Realtime checkbox (added since build 10368) if you use the File Source to send IQ data to the Tx:

Stream IQ data to the Tx

Sofon has reacted to this post.
Sofon

New Feature: Raw IQ Import

The File Source block can now also be used to import Raw IQ files, that is files containing just complex samples without any meta data or header information.

Supported Sample Format:

A complex sample consists of two samples of the basic datatype representing the real and the imaginary part. Assuming we want to represent a sequence of complex numbers, the following should be written to the file:

[ Real(x_0), Imag(x_0), Real(x_1), Imag(x_1), Real(x_2), Imag(x_2), ... ]

The following basic datatypes are supported.

  • float / float32
  • double / float64
  • int8
  • int16
  • int32

Block configuration:

To load a raw IQ file into the file source, make sure to select "Raw IQ" as the file type in the file source file browser. You can then select any .iq file:

When reading .iq files, the File Source will first check for any accompanying .xml files with the following contents:

<?xml version="1.0" encoding="UTF-8"?>
<RTSA_RAW_IQ_File>
<Samples>0</Samples>
<Clock unit="Hz">1048576</Clock>
<CenterFrequency unit="Hz">2414500000.000000</CenterFrequency>
<SampleStartTime unit="Epoch time">1650966052.007605</SampleStartTime>
<Format>complex</Format>
<DataType>float32</DataType>
<DataFilename>chirp.iq</DataFilename>
</RTSA_RAW_IQ_File>

That is, RTSA will attempt to open a $filename.iq.xml alongside your $filename.iq file to figure out which sample rate and center frequency should apply, as well as the sample format that should be used.

Recognizing that it will not always be convenient to create such a file, the Format Override options allow you to override these values from the GUI and ignore any .xml document:

Make sure to press Reload after changing the overrides.

Are there any limitations for the number of samples of the Raw IQ file? Is it possible to load files with a length of 16384 samples and less (eg 1024 samples)? Is it possible to load small Raw IQ file to the SPECTRAN V6 onboard memory for use in "Pattern Generator" mode?

There are no limitations other than your PC's RAM.

You cannot load IQ files into the V6's "memory" as such a feature is not supported.

Use the live USB stream instead.

How can I open the "Export Data" window as shown above?
I tried to double click onto the marked area, but no window opened.
Right or left mouse click also does not help.
How to open Export Window?

 

Uploaded files:
  • File-Source-Export-Window.jpg

Use the EXPORT icon in the window title bar.

I am using the File Source block and having some issues. What I am trying to achieve is send a complex waveform from MATLAB into RTSA. I do not need it to be streamed so I am creating a 'wv' file in MATLAB, save it and load it using the File Source block (see attached diagram). My questions are:

  1. Why am I getting some USB underflows? I have plenty of RAM and CPU resources available. How can solve this?
  2. The waveform sampling rate is 46 MS, but the IQ modulator sampling rate is automatically adapted to a fractional number. Why is this happening?
  3. What is the difference between 'loop' and 'contiguous' modes?
  4. If I do not use the IQ normalizer, the amplitude of the waveform is distorted (seems like the waveform is power-boosted). Why is this happening?

Thank you!

Uploaded files:
  • screencap.png

Re 1: You need to enable the "Emulate Realtime" option in the File Source block when you want to send data to the Spectran V6 Tx.

Re 2: When "Adapt Samplerate" is enabled, the IQ Modulator will adjust its sample rate to the settings of the connected Spectran V6 block. As you're using 1/4 span the resulting samplerate is 1/4 of the selected RTBW. While the RTBW values are listed in full MHz, the actual values differ a little (92.16 MHz instead of 92 MHz), which results in 23.04 MHz samplerate for your modulator (not sure where the minor deviation in your screenshot is coming from)

Re 3: The difference between "Loop" and "Contiguous" is with the timestamps: The first will reset the timestamps when the end of the loaded data is reached, the second will not so for all subsequent blocks the data will appear as one single continuous stream. For your use case that is probably irrelevant though.

Re 4: Sorry, I'm not sure I understand. The IQ normalizer has a "Target Power" setting which defaults to -15 dBm, which likely causes the delta between your data (blue) and what is received in the IQ Modulator (yellow). Without any details about the input data there is not much more that we can say.