Code Monkey home page Code Monkey logo

cuda-dsp's Introduction

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

cuda-dsp's People

Contributors

rumbonium avatar sigmillion avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.