Hi Danilo,

I think Eric's proposal was just to swap out the codec, and perhaps using the existing modem on the radio?

The current FreeDV modes we have ported to the stm32 (1600 and 700D) are aimed at HF channels, and the GD77 probably doesn't have the RF hardware to support them (e.g. a SSB style radio deck). FreeDV includes the modem, protocol, FEC, and Codec 2 - which may be overkill for this project.

I can't recall the exact CPU/memory breakdown between Codec 2 and the other parts of the FreeDV stack, but I imagine Codec 2 alone would require substantially less resources.

While a GD77 port would be cool, I lean towards full ground up open source radio designs like M17 although I'd like to use better modems :-)  At some point I'm going to try my open vhf/uhf PI+RTLSDR based radio project with voice - it's already running the FreeDV stack and has plenty of CPU.

Cheers,
David

On 3/2/21 4:37 am, Danilo Beuche wrote:

Hi,

I'd like to share my thoughts on this, as I also have some GD77 and love the OpenGD77 FW (main reason for getting these). I have some experience with porting FreeDV to the STM32 arm processor as I was one of the developers who integrated Codec2 into the UHSDR Firmware a couple of years ago.

The hardware in the OpenGD77 GD77 is surely not powerful enough for 700D, it may be possible to get it to work with 1600D. FreeDV also eats a big slice of your RAM (~64k at least) of which the GD77's MK22FN512VLL12R has only 128k. 120 Mhz is also less than the 168Mhz of the SM1000 or the MCHF with an STM32F4xx processor. As both processor belong to the CORTEX-M4 family, they should have similar performance per MHZ.

In measurements for 1600D on the MCHF with the UHSDR software, this takes roughly 70% load in the signal processing path from 48khz IQ to audio for 1600D. Doing the math 168/120 * 70% load = 98% load. 2% cycles left. SSB decoding takes about 10%, the remaining 60% went to FreeDV. Not a problem in SM1600 as it does less signal processing and doesn't have to run a graphical UI in addition (which the MCHF does).

700D runs ok on the STM32F7 processor with 216 Mhz and processor caches (CORTEX-M7 design), speeding up code execution quite significantly. The STM32H7 with 480 Mhz is not concerned about decoding 700D at all, there is plenty of cpu power left. But those are unfortunately not in those handhelds.

But for a different FreeDV mode better suited for VHF/UHF usage or a different signal processing chain it might be an entirely different story. Thats is where I have to hand over to David and the other experts. And just for the record: I would love to have a "completely" open source GD77 with digital voice.

Danilo



Can't say anything about the DM1801

On 02/02/2021 18:21, Daniel Mundall wrote:
Hi Eric,
Funny that you mention OpenGD77 as last month I discovered these radios (Baofeng DM-1801 in my case) and picked up two of them off of aliexpress with codec2 being the primary reason for my purchase.
There are 4 reasons why I think they would be great fit for codec2:

  * They're cheap ($65-75) & available which means you could get a
    larger adoption.
  * They run on an ARM platform either STM32 or similar processor.
  * And there's already an open source firmware without inventing that.
  * The audio encoding isn't a separate chip (at least on the DM1801)
    it's software encoding.

Interestingly enough original portion of the memory containing the software audio codec is retained in OpenGD77 to avoid patent issues.

Another cool possibility that I haven't felt out yet but in theory because of the two slot TDMA setup I think either a repeater mode or full duplex audio should be possible.

Anyway, I just got the radios so soon as I have a chance I'm going to get OpenGD77 loaded up and play around with it.

One thing that David or the others might be better suited to answer is how much hardware functions of the STM32 have been used in the codec2 port. Because there could be hardware limitations with what is even available as far a hardware functions on the MCU.

Regards,

Daniel Mundall VA7DRM


On Tue, Feb 2, 2021 at 5:59 AM Eric Jacksch <e...@jacksch.com <mailto:e...@jacksch.com>> wrote:

    I don't know enough about CODECS to know the right answer (thus must
    post here), but right now the OpenGD77 source basically includes an
    bit of assembly language to call some binary code lifted out of the
    vendor's original firmware. My interest is to drop in a different
    CODEC, but I don't know enough about them to understand exactly what
    needs to be done.

    On Tue, 2 Feb 2021 at 02:48, Mooneer Salem <moon...@gmail.com
    <mailto:moon...@gmail.com>> wrote:
    >
    > I'm thinking M17 (based on Codec2) might be better to
    incorporate since it's already building in routing type features
    that DMR, D-STAR, etc. already have. I'm not really familiar with
    OpenGD77 but it seems like a neat project. Unfortunately I don't
    have a compatible HT (I use a MD-380 for DMR) but perhaps it'll
    gain more support in the future.
    >
    > -Mooneer K6AQ
    >
    > On Mon, Feb 1, 2021 at 3:21 PM Eric Jacksch <e...@jacksch.com
    <mailto:e...@jacksch.com>> wrote:
    >>
    >> Greetings,
    >>
    >> Has anyone looked at dropping Codec2 into OpenGD77?
    >>
    >> In case anyone is not aware, OpenGD77 is a (mostly) open source
    >> firmware replacement for several low cost handheld two-way radios,
    >> including the GD-77 (aka TYT MD-760).
    >>
    >> To work around intellectual property issues, the firmware
    currently
    >> links in the DMR CODEC from the original vendor's binary.
    >>
    >> While it would break compatibility with other DMR radios, I'm
    >> interested in seeing a fork of OpenGD77 that is fully open
    source and
    >> Codec 2 seems like an obvious candidate. A truly open-source
    amateur
    >> VHF/UHF digital mode.
    >>
    >> The IDE (MCUExpresso) and complete toolchain for OpenGD77 is
    free and
    >> relatively straightforward on Windows, and the firmware is
    written in
    >> C. What's needed is the Codec 2 expertise.
    >>
    >> Anyone interested?
    >>
    >> Cheers,
    >> Eric
    >>
    >>
    >> _______________________________________________
    >> Freetel-codec2 mailing list
    >> Freetel-codec2@lists.sourceforge.net
    <mailto:Freetel-codec2@lists.sourceforge.net>
    >> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
    >
    > _______________________________________________
    > Freetel-codec2 mailing list
    > Freetel-codec2@lists.sourceforge.net
    <mailto:Freetel-codec2@lists.sourceforge.net>
    > https://lists.sourceforge.net/lists/listinfo/freetel-codec2



-- Eric Jacksch, CPP, CISM, CISSP
    e...@jacksch.com <mailto:e...@jacksch.com>
    Twitter: @EricJacksch
    https://SecurityShelf.com


    _______________________________________________
    Freetel-codec2 mailing list
    Freetel-codec2@lists.sourceforge.net
    <mailto:Freetel-codec2@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/freetel-codec2



_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to