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