Skip to content

usrp stream program, single channel dsp with CUDA, single channel dsp without CUDA (for comparison)

Notifications You must be signed in to change notification settings

rumbonium/CUDA-DSP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

These programs implement a software defined reciever that isolates one FM station using multiple stages of decimating FIR filters. One FM station is demodulated using the quadrature demodulation technique. There are three programs.

  1. The first program uses the UHD to control the USRP hardware and writes to shared memory.
  2. The second program reads from shared memory, process the signal on the GPU using the C-API for CUDA, and writes the output to standard out.
  3. The third program (SoX) receives the signal through a pipe and reads from standard input. SoX writes the audio to the sound card.

Computer hardware information

We are using Ubuntu 16.04 LTS and a Nvidia GeForce GTX 1080 Ti GPU.

Radio hardware information

We are using a generic scanner antenna (25-1300 MHz) connected to a custom bandpass filter (KR Electronics) passing the 20 MHz wide FM band (88-108 MHz). The BPF output is connected to a USRP B205mini-i, which is connected to the PC via USB3.0. The programs below shift the center of the FM band to zero frequency (zero-IF receiver) and one station is isolated using multirate dignal signal processing implemented on the GPU. An FM station is demodulated and sample rate converted to 40 kSamples/second. The audio signal is piped to Sox for listening.

Software, drivers, libraries

These programs require the following software:

DSP program:

Compile Instructions:

nvcc dsp4.cu -o dsp4

Execute Instructions: (NOTE: Launch this program before usrp_stream4. The output of this program is piped to SoX for audio.)

./dsp4 | play --rate 40k -b 32 -c 1 -e float -t raw -

USRP stream program:

Compile Instructions:

usrp_stream4.cpp -o usrp_stream4 -luhd -lboost_system -lboost_thread -lboost_program_options

Execute Instructions: (NOTE: Launch this program after the dsp4.)

./usrp_stream4.cpp --rate 20000000 --freq 98000000 --spb 16384 --type float

About

usrp stream program, single channel dsp with CUDA, single channel dsp without CUDA (for comparison)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published