HF with SDR video, GR patches, gr-baz & new BorIP/ExtIO_USRP

Hi folks,

I’d like to share the following four releases with the community:

  1.   This video: http://youtu.be/ZuRcaxpbYCw

which serves as an introduction to receiving HF with SDR (in this case a
USRP+WBX+transverter http://spench.net/drupal/resources/usrp-hf ). I
explore some interesting/unusual signals (e.g. OTH RADAR, STANAG,
http://wiki.spench.net/wiki/OFDM ) and analyse them using GNU Radio
Fast Auto-correlation
http://wiki.spench.net/wiki/Fast_Auto-correlation ,
Cyclostationary analysis http://wiki.spench.net/wiki/gr-baz#delay ,
demodulation), HDSDR and Sigmira. There are a few unknown signals in
too, so if you have any idea what they might be please comment on the
YouTube page!

  1.   A new release of ExtIO_USRP+FUNcube Dongle plugin

http://wiki.spench.net/wiki/USRP_Interfaces for Winrad/HDSDR/WRplus,
BorIP server http://wiki.spench.net/wiki/BorIP (version 1.1.1).
This uses UHD 003.003.001 so most/all models of USRP should be supported
(not that you’d really need to use this with the LAN-accessible models -
it’s more for the USB ones, so you can receive samples from them
There is also improved support for the FUNcube Dongle, and some other

  1.   Public release of gr-baz <http://wiki.spench.net/wiki/gr-baz> 

contains several new blocks (many of which I’ve used for blind signal
analysis and un-FEC https://www.youtube.com/watch?v=Vn-dpUegUDQ 'ing):

. BorIP: fully functional & seamlessly-integrating client for
Radio (use all your existing flowgraphs with a remotely connected USRP).

. AutoFEC: automatically try every combination of Forward Error
Correction parameters when demodulating a complex symbol stream until
right one is chosen (i.e. a ‘lock’ is acquired).

. Eye: GRC GUI eye diagram

. Fast Auto-correlation Sink: GRC GUI graph

. Variable Delay: change delay at runtime

. Power: raise signal to a power and optionally divide by
power of 10

. Print Char: output bytes (as hex) to console, or optionally a
file, with squelch control and output limiting

. Puncture/De-puncture: allows for perforated convolutional
Error Correction (change rate of mother code & insert erasures)

. Swap: swap pairs of samples

. Unpacked-to-packed: byte-to-byte version (take bits from
byte stream and repack certain # of bits into output byte stream)

Plus more! Grab it with SVN http://svn.spench.net/main/gr-baz/ or
fork it
on github https://github.com/balint256/gr-baz .

  1.   Patches to GNU Radio

http://wiki.spench.net/wiki/GNU_Radio_Patches that improve
of certain blocks (e.g. enable parameters to be changed at runtime that
otherwise fixed at design time):

. GRC support for http://wiki.spench.net/wiki/GRC_Any_Blocks
‘Any’ Blocks: use any GR block without having to create a custom GRC XML
block definition for it (just type in raw Python into the Any block)

. Constellation sink: runtime adjustment of symbol rate (so you
experiment with changing symbol rate until symbols become sufficiently
separated on plot)

. Add Error Out output to gr_clock_recovery_mm_cc (graph it as a
real-time measure of how it’s performing)

. Add path metric from Viterbi as output to
gr_decode_ccsds_27_fb as
a measure of BER

. Debug outputs of internal state of gr_mpsk_receiver_cc to
for graphing of its performance (e.g. how well it maintains sync, great
evaluating quality of reception with signals of varying SNR)

. Add BorIP packet decoding support to gr_udp_source (this is
necessary for the gr-baz BorIP client to work!)

. Enable reference vector to be changed at runtime for

. Enable gr_wavfile to open WAV files with the ‘auxi’ RIFF chunk
(e.g. those created by HDSDR)

. Make the gr_rational_resampler reconfigurable at runtime (i.e.
change interp/decim values while the flowgraph is running, great for
experimentation with different resampling rates when trying to find
symbol rate)

. Alter audio passband, stopband and gain at runtime in

. Add (experimental) fixes to gr_agc_cc so it doesn’t output
when the input signal varies over an enormous range

. Addition of seamless BorIP integration to gr-usrp so it is
automatically imported (all flowgraphs will ‘just work’ with a remote
after setting default server address in ~/.gnuradio/config.conf)

And more! Also accessible via SVN and github above (patches are inside

Certain bits still need some work, but I thought I’d finally better put
out there as perhaps others might like to contribute and take it

I hope there’s at least one item above that you will find useful! Let me
know how you go.

Kind regards,

Balint @spenchdotnet http://twitter.com/spenchdotnet

. GRC support for http://wiki.spench.net/wiki/GRC_Any_Blocks
‘Any’ Blocks: use any GR block without having to create a custom GRC XML
block definition for it (just type in raw Python into the Any block)

The any blocks seem pretty strait forward and even useful. Do you have
them up on a git branch somewhere?

I think the GRC diffs can be a little more generic and simpler. Try this
commit, it worked ok for me with the any block:


Thank you very much for the interesting video!

Is there a program like Winrad/HDSDR for Linux?