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,
OFDM/DRM
http://wiki.spench.net/wiki/OFDM ) and analyse them using GNU Radio
(e.g.
Fast Auto-correlation
http://wiki.spench.net/wiki/Fast_Auto-correlation ,
Cyclostationary analysis http://wiki.spench.net/wiki/gr-baz#delay ,
MPSK
demodulation), HDSDR and Sigmira. There are a few unknown signals in
there
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,
and
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
remotely).
There is also improved support for the FUNcube Dongle, and some other
minor
fixes.

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

that
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
GNU
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
the
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
another
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
Forward
Error Correction (change rate of mother code & insert erasures)

. Swap: swap pairs of samples

. Unpacked-to-packed: byte-to-byte version (take bits from
incoming
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
functionality
of certain blocks (e.g. enable parameters to be changed at runtime that
were
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
can
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
allow
for graphing of its performance (e.g. how well it maintains sync, great
for
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
gr_vector_source_X

. 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
live
experimentation with different resampling rates when trying to find
correct
symbol rate)

. Alter audio passband, stopband and gain at runtime in
blks2impl/am_demod

. Add (experimental) fixes to gr_agc_cc so it doesn’t output
NaNs
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
USRP
after setting default server address in ~/.gnuradio/config.conf)

And more! Also accessible via SVN and github above (patches are inside
‘gr-baz/patch’).

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

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:
http://gnuradio.org/cgit/jblum.git/commit/?h=wip_grc_any_blocks&id=25b29495b71e8d3276a9a2f27044524c833772cb

-josh

Thank you very much for the interesting video!

Is there a program like Winrad/HDSDR for Linux?

chris