Topics

Can a UDRC RPI hat be used for FreeDV? #udrc-ii #freedv #hf #vhf #uhf

Konrad Roeder -- WA4OSH
 

Can a UDRC hat be used for FreeDV?

FreeDV is a Digital Voice mode for HF radio. You can run FreeDV using a free GUI application for Windows, Linux and OSX that allows any SSB radio to be used for low bit rate digital voice. Alternatively you can buy a SM1000 FreeDV adaptor that allows you to run FreeDV on any HF radio without a PC or sound card.

If you are a hardware or software developer, you can integrate FreeDV into your project using the LGPL licensed FreeDV API.

Speech is compressed down to 700-1600 bit/s then modulated onto a 1.25 kHz wide signal comprised of 16 QPSK carriers which is sent to the Mic input of a SSB radio. The signal is received by an SSB radio, then demodulated and decoded by FreeDV. FreeDV 700C is approaching SSB in it's low SNR performance. At high SNRs FreeDV 1600 sounds like FM, with no annoying analog HF radio noise.

FreeDV was built by an international team of Radio Amateurs working together on coding, design, user interface and testing. FreeDV is open source software, released under the GNU Public License version 2.1. The modems and Codec 2 speech codec used in FreeDV are also open source.

Read more at...  FreeDV -- Open Source Digital Voice

Why FreeDV on a Raspberry Pi with a UDRC "hat"?

In a nutshell, you can use it to build HF and VHF/UHF digital radios.

This API will be useful for “embedding” FreeDV into general purpose digital comms applications like fldigi, SDR radios, Android applications, custom embedded devices like the SM1000, or “headless” implementations of FreeDV on platforms like the Raspberry Pi. It needs hardware floating point and at least a 168MHz ARM4 (the SM1000 CPU).

Read more about the API at ...FreeDV API

My thoughts on why UDRC might make a good radio modem card.  If we want to add more OFDM subcarriers and improve the voice quality past the proprietary robot-like AMBE (D-star, DMR, Fusion, APCO-25) and carry real data and voice at some real speeds, with FEC and perhaps trellis encoding, we will need more horsepower than a typical USB codec dongle can offer.

This project has not really been opened up to its full potential. FreeDV puts digital voice radio back into the hand of hams and out of the hands of proprietary vendors that are all interested in creating their own market niches (monopolies).  Eg.  Icom, Motorola, Kenwood, Yaesu, and all the Chinese crap.  After experimenting a little with UDRC, I think that UDRC is a step in the right direction for FreeDV.

--Konrad Roeder, WA4OSH 

Stuart Longland VK4MSL
 

On 15/05/17 14:57, Konrad Roeder -- WA4OSH wrote:
Can a UDRC hat be used for FreeDV?
[…]

It should work. It is actually on my TODO list to get my little
Raspberry Pi going with FreeDV.

At worst, we might need to tell it how to drive PTT, and that should not
be a hard modification.

Why FreeDV on a Raspberry Pi with a UDRC "hat"?

In a nutshell, you can use it to build HF and VHF/UHF digital radios.

This API will be useful for “embedding” FreeDV into general purpose
digital comms applications like fldigi
<http://www.w1hkj.com/Fldigi.html>, SDR radios, Android applications,
custom embedded devices like the SM1000, or “headless”implementations of
FreeDV on platforms like the Raspberry Pi. It needs hardware floating
point and at least a 168MHz ARM4 (the SM1000 CPU).

Read more about the API at ...FreeDV API <http://www.rowetel.com/?p=3469>

My thoughts on why UDRC might make a good radio modem card. If we want
to add more OFDM subcarriers and improve the voice quality past the
proprietary robot-like AMBE (D-star, DMR, Fusion, APCO-25) and carry
real data and voice at some real speeds, with FEC and perhaps trellis
encoding, we will need more horsepower than a typical USB codec dongle
can offer.
Actually, Codec2 does pretty good and compares favourably to AMBE/IMBE.
It also gives MELPe 600 a run for its money.

http://www.rowetel.com/?p=5520

That said, the UDRC is fundamentally not much different to the USB codec
dongle. Where it has a significant edge over the USB dongle is:

- GPIO integration for PTT
- I²S is less CPU intensive than USB
- better RF hardening

You still need to do the FEC/trellis coding/modulation *ON* the CPU.
UDRC won't do that for you. It may be possible to also do some
modulation using the GPU as a poor man's DSP.

The other option is replacing the TI TLV320AIC3204 chip with the '3254,
which has some DSP capability built-in, although how good that is for
modems is anyone's guess.
--
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
...it's backed up on a tape somewhere.

Konrad Roeder -- WA4OSH
 

I'm going to try to compile the FreeDV code using Compass Linux, which runs on the Raspberry Pi and UDRC-II hat very well.  It has the drivers for the UDRC-II board.

The PTT line is handled by the UDRC-II rig interface.  I will first try it out on 20 Meter HF - 14.236 MHz by driving my Yaesu FT-857 with it.  I have a 7-inch touch screen display on my Raspberry Pi.  It should very nicely display the FreeDV front panel.  I plan on first using a USB dongle for the mic and speaker.  For the PTT, I will use a spare bit on the UDRC-II card.

Later, I probably use a fancier USB mic.  And the PTT will also be handled through USB.  There's definitely some detail that needs to be worked out.

--Konrad, WA4OSH



On Sun, May 14, 2017 at 10:07 PM, Stuart Longland VK4MSL <stuartl@...> wrote:
On 15/05/17 14:57, Konrad Roeder -- WA4OSH wrote:
> Can a UDRC hat be used for FreeDV?
[…]

It should work.  It is actually on my TODO list to get my little
Raspberry Pi going with FreeDV.

At worst, we might need to tell it how to drive PTT, and that should not
be a hard modification.

> Why FreeDV on a Raspberry Pi with a UDRC "hat"?
>
> In a nutshell, you can use it to build HF and VHF/UHF digital radios.
>
> This API will be useful for “embedding” FreeDV into general purpose
> digital comms applications like fldigi
> <http://www.w1hkj.com/Fldigi.html>, SDR radios, Android applications,
> custom embedded devices like the SM1000, or “headless”implementations of
> FreeDV on platforms like the Raspberry Pi. It needs hardware floating
> point and at least a 168MHz ARM4 (the SM1000 CPU).
>
> Read more about the API at ...FreeDV API <http://www.rowetel.com/?p=3469>
>
> My thoughts on why UDRC might make a good radio modem card.  If we want
> to add more OFDM subcarriers and improve the voice quality past the
> proprietary robot-like AMBE (D-star, DMR, Fusion, APCO-25) and carry
> real data and voice at some real speeds, with FEC and perhaps trellis
> encoding, we will need more horsepower than a typical USB codec dongle
> can offer.

Actually, Codec2 does pretty good and compares favourably to AMBE/IMBE.
It also gives MELPe 600 a run for its money.

http://www.rowetel.com/?p=5520

That said, the UDRC is fundamentally not much different to the USB codec
dongle.  Where it has a significant edge over the USB dongle is:

- GPIO integration for PTT
- I²S is less CPU intensive than USB
- better RF hardening

You still need to do the FEC/trellis coding/modulation *ON* the CPU.
UDRC won't do that for you.  It may be possible to also do some
modulation using the GPU as a poor man's DSP.

The other option is replacing the TI TLV320AIC3204 chip with the '3254,
which has some DSP capability built-in, although how good that is for
modems is anyone's guess.
--
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
  ...it's backed up on a tape somewhere.







--
Best,
Konrad

Konrad Roeder
425-444-0595 Cell
425-256-2144 Home

 

I currently have the the Raspbian Jessie port of FreeDV loaded on a RPi 3 and UDRC-II.  I have not tested it yet to see if the processor can keep up.  The UDRC shows up using ALSA in the configuration menu.  However, native Raspberry Pi GPIO is not available from the configuration menu.  Adding GPIO PTT should be straight forward.



On Sun, May 14, 2017 at 10:07 PM, Stuart Longland VK4MSL <stuartl@...> wrote:
On 15/05/17 14:57, Konrad Roeder -- WA4OSH wrote:
> Can a UDRC hat be used for FreeDV?
[…]

It should work.  It is actually on my TODO list to get my little
Raspberry Pi going with FreeDV.

At worst, we might need to tell it how to drive PTT, and that should not
be a hard modification.
--


John D. Hays
K7VE

PO Box 1223, Edmonds, WA 98020-1223
   

Stuart Longland VK4MSL
 

On 15/05/17 15:47, John D Hays - K7VE wrote:
I currently have the the Raspbian Jessie port of FreeDV loaded on a RPi
3 and UDRC-II. I have not tested it yet to see if the processor can
keep up. The UDRC shows up using ALSA in the configuration menu.
However, native Raspberry Pi GPIO is not available from the
configuration menu. Adding GPIO PTT should be straight forward.
Indeed. That, or I wonder if we can do something with hamlib, since
FreeDV integrates with that. Anyone know if hamlib supports UDRC PTT?

It is actually on my TODO list to get armhf builds of FreeDV going. I
have managed to coax Debian Jessie armhf into QEMU on an AMD64 host,
this should produce near-enough binaries for Raspbian.
--
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
...it's backed up on a tape somewhere.