[TangerineSDR] Simulating the Tangerine using Red Pitaya

Engelke, Bill bill.engelke at ua.edu
Tue Jul 23 13:14:25 EDT 2019


I finally have a simulation which I believe is faithful to the design target for the speed of the Tangerine.

The Red Pitaya (in HPDSDR emulation mode) is able to output 2 (I/Q) channels, each at 48 ksps (for a total output of 96 ksps).  To simulate 192 ksps, in Digital RF we specify 192,000 as sample rate, duplicate the data 8 times, and save each buffer twice. Data output is 96,000 x (2 data saves) X (2 antennas) X (8 bands) X (8 bytes per sample) = 24,576,000 bytes/sec.   The msec/file is set to 4000; so every 4 seconds, the system outputs a file of size 98,311,608 bytes. Since the payload is 98,304,000 bytes, we see that Digital RF adds very little overhead.  The compression is set to zero, so missing data is not removed (if it occurs); the system will save NaN  (not a number) in the missed values.

Speed test results:

Every buffer save introduces enough delay to make the program miss a few buffers (even when saving to ramdisk).  The percentage of missed data is quite small; for example, in today's benchmark, we have the following:

buffer# sent

buffer# saved

buffers sent

buffers missed

percent lost

success rate

missed data (microseconds)

5425

5409

5425

16

0.29%

99.71%

12000

10766

10757

5341

9

0.17%

99.83%

6750

16107

16098

5341

9

0.17%

99.83%

6750

21469

21440

5362

29

0.54%

99.46%

21750

26803

26801

5334

2

0.04%

99.96%

1500

32151

32135

5348

16

0.30%

99.70%

12000

37499

37484

5348

15

0.28%

99.72%

11250


Total   -->

37499

96

0.26%

99.74%

72000




It is interesting to note that, during this test, I started the drf mirror utility, which copies the data from ramdisk to spinning disk (I found that setting the process priority of drf to -5 [higher than pihpsdr] was necessary to get the data save to work.  It was able to keep up with the amount of data being moved, so I conclude that this is a workable solution; the science users will have to weigh in on whether this amount of data loss is acceptable. I'm not sure how to speed this system up any further with this hardware.  Attached is source code for the part of pihpsdr which I modified to save the Dgitial RF data; if anybody spots any bug, I am interested to know,.


W. D. Engelke (Bill), Asst. Research Engr. AB4EJ
Center for Advanced Public Safety
Cyber Hall
The University of Alabama
Tuscaloosa, AL 35487
Desk: (205) 348-7244
Mobile: (205) 764-3099

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.tapr.org/pipermail/tangerinesdr_lists.tapr.org/attachments/20190723/d7f58a07/attachment-0001.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: pihpsdr_buffer_benchmark.c
URL: <http://lists.tapr.org/pipermail/tangerinesdr_lists.tapr.org/attachments/20190723/d7f58a07/attachment-0001.c>


More information about the TangerineSDR mailing list