USRP2 high data throughout and slow PC - possible solution

I recently successfully collected with some WiFi
data using a USRP2 with decimation=5 (which gives you about 20MHz of
bandwidth). This means about 1GB of data in few seconds or so. Because
of the write speed limitation of the had disk, it is basically
impossible to do it using a normal HD.
One straightforward solution is modify usrp2_rx_cfile so that it
stores all your data in one big array and saves it in the HD at the
These few lines describe an alternative solution using a “ramdisk”
partitions of type “tmpfs” which allows you to use use any GNU Radio
function without modification. You basically dump your file in your

sudo mkdir /var/ramdisk
sudo mount -t tmpfs none /var/ramdisk -o size=1100m
cd /var/ramdisk
df -H
sudo -v -s -e eth1 -f 2462.0M -g 25 -d 5 -N 250M
cp ./wifi_d5.bin /home/ctae/Desktop/
sudo rm ./*; df -H; cd /
sudo umount /var/ramdisk
cd ~/Desktop

This method seems to me to allow you to overcome the problem of the HD
writing speed. Make sure however to have enough ram, in my case 2GB
was enough (linux without GUI). Please let me know if a better method


  1. For some reasons I could not use a decimation=4 (with a XCVR2450
    front end) with the greatest and latest USRP2 FPGA firmware, any hint
  2. I understand to read the collected file I can use the
    read_cshort_binary.m function (included in GNU Radio ), is this
    function the appropriate one considering that I used the option “-s”
  3. with the function read_cshort_binary.m, what is the best way to
    understand I collected meaningful wifi data? Measure the signal power
    in the collected signal? How?

Best regards,


I got a similar question. I want a sampling rate greater than 30Msps.
But as far as I know, the USRP2 turns every sample to a 32-bit
data(16-bit I, 16-bit Q). That means I’ll get 30M*4Byte per second,
while the transmission rate of Gigabit Ethernet is 125MB per second, let
alone the HD writing speed.

I want to know how to turn the 32-bit data to a smaller format before
sending to the PC.

But I suggest you writing a program which quantize the data to 8-bit or
less. I got a program change the 32-bit data to 1 bit before it written
to the HD.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs