Git Product home page Git Product logo

odr-dab-cir's Introduction

CIR scripts

This is a set of script to do correlation measurement measurements of a DAB signal. These scripts can be used to do channel impulse response measurements using a RTLSDR receiver.

Right now there are three scripts:

  • correlate_with_ref.py: Finds the NULL symbol of an IQ file, and runs correlations against the known phase reference to find the components.

  • simulate_channel.py: Reads an I/Q file generated by ODR-DabMod and adds some additional components, somehow equivalent to signal reflexions. Each reflexion has a delay and an amplitude factor.

  • cir_measure.py: Runs a small webserver that does the correlation all the time and updates a webpage

Example image: Example correlation

The image shows the received CIR of a real DAB signal captured with the RTLSDR.

Webserver

To run the webserver on all network interfaces, receiving on 202.928MHz:

./cir_measure.py --host 0.0.0.0 --port 8080 --freq 202928000

More options are available (gain, number of samples), see the help with

./cir_measure.py -h

Offline processing

To read in a recording using a RTL-SDR receiver, use:

rtl_sdr -f 188928000 -s 2048000 -g 20 -S - | \
dd of=DAB_9A_10_u8_G20.iq bs=2 count=1966080

replace 1966080 (ten Mode 1 transmission frames) by a larger value if you want.

Then feed the data to the script

./correlate_with_ref.py u8 DAB_9A_10_u8_G20.iq

Requirements

librtlsdr and its tools.

Python with NumPy and matplotlib.

The iq files must be complex float or interleaved unsigned 8-bit.

Licence

MIT. See LICENCE for details.

TODO

Improve the sync code, to make sure we align the pictures each time. Align on the strongest peak instead of the NULL symbol.

Generate long-term visualisations, to see if there is a change over several days.

Oversample 2x or 4x to get finer time resolution.

Make sure rtl_tcp quits properly on ctrl-c.

odr-dab-cir's People

Contributors

mpbraendli avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  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.