Re: [Freetel-codec2] FreeDV GUI 1.2 on Windows 10

2017-05-05 Thread Brady O'Brien
Stackoverflow says "Exception Code: c05" is basically a segfault

http://stackoverflow.com/questions/17168982/exception-error-c005-in-vc

On Fri, May 5, 2017 at 9:02 PM, Peter Reichelt 
wrote:

> Hi David
>
> I just downloaded 64 bit program from FreeDV.org onto a windows 8.1
> machine and FreeDV 1.2 will not start. FreeDV 1.1(32 bit)  works.
>
> FreeDV 1.2 (32 bit) is OK.
>
> This is the error message displayed
>
>
>
> Problem signature:
>Problem Event Name: APPCRASH
>Application Name: freedv.exe
>Application Version: 0.0.0.0
>Application Timestamp: 
>Fault Module Name: ntdll.dll
>Fault Module Version: 6.3.9600.18438
>Fault Module Timestamp: 57ae642e
>Exception Code: c005
>Exception Offset: 0003b6a9
>OS Version: 6.3.9600.2.0.0.768.101
>Locale ID: 3081
>Additional Information 1: 2101
>Additional Information 2: 2101a04c25076826ce88a8c57a299ae3
>Additional Information 3: e88e
>Additional Information 4: e88eaca8dbf1b630f3a9f1af99de65ba
>
> Read our privacy statement online:
>http://go.microsoft.com/fwlink/?linkid=280262
>
> If the online privacy statement is not available, please read our
> privacy statement offline:
>C:\Windows\system32\en-US\erofflps.txt
>
>
> Regards
>
> Peter V5APR
>
> -- Original Message --
> From: "David Rowe" 
> To: freetel-codec2@lists.sourceforge.net; digitalvo...@googlegroups.com
> Sent: Saturday, 6 May, 2017 At 10:24 AM
> Subject: [Freetel-codec2] FreeDV GUI 1.2 on Windows 10
>
> Hi,
>
> Has anyone tried the FreeDV GUI 1.2 software on Windows 10?  I have one
> report of it "not starting".  Not sure if it's the 32 or 64 bit version.
> I understand there is also some sort of new Windows security feature
> that prevents application program files being installed in the "Program
> Files" folder.
>
> Richard and I run mainly Linux so it would be great to get some feedback
> from Windows users.
>
> Thanks,
>
> David
>
>
> On 04/05/17 09:40, Jeroen Vreeken wrote:
> > Hi all,
> >
> > It has been a while, but I did make some steady progress.
> > (Trying different training strategies can take days at a time)
> > I made a new version of the patch with some changes:
> >
> > - I cut out a lot of silence and noises from the training material
> > (like
> > the breathing). There is no real point in reproducing such noises
> > perfectly. I also added David's samples and some other nice ones I
> > found
> > that where different from all I already had. (Also some children
> > voices)
> > - Instead of three times 256 values (resulting in 24 bits) I used two
> > tables of 1024 values. (20bits). 24 bits of course give a slightly
> > better result, but I think the bits are better used now. On average
> > the
> > error is about 1.7dB lower than 700C.
> > - Wo and Energy each get an extra bit.
> > - The last two bits are used for voicing. One of the things I noticed
> > when listening to audible artifacts was that the combined Wo and
> > voicing
> > was resulting in Wo being interpolated from the hardcoded non-voiced
> > default back to the voiced value. This sometimes results in an audible
> > pitch shift. Having a voice bits seperatly makes this a bit less
> > likely.
> >
> > Sample:
> > http://video.vreeken.net/~dml/patches/all.1300C_10b10b5e7wo2v.wav
> >
> > 73,
> > Jeroen PE1RXQ
> >
> >
> >
> >
> >
> > 
> --
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> >
> >
> >
> > ___
> > Freetel-codec2 mailing list
> > Freetel-codec2@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/freetel-codec2
> >
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
>
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net

Re: [Freetel-codec2] Windows IDE for STM32F4

2017-04-11 Thread Brady O'Brien
I've had some luck setting up Eclipse for STM32F4 development following
tutorials like this:
http://embeddedprogrammer.blogspot.com/2012/09/stm32f4discovery-development-with-gcc.html
. Never tried getting to codec2 codebase to play nice, though.

On Wed, Apr 12, 2017 at 12:41 AM, glen english  wrote:

> Rowley Crossworks
>
> http://www.rowley.co.uk/arm/
>
> first class, and friendly. British.
>
> On 12/04/2017 3:35 PM, David Rowe wrote:
> > Hi there,
> >
> > Can anyone please suggest a Windows IDE for STM32F4 development?  I have
> > a colleague who wants to develop for the SM1000 under Windows.
> >
> > Cheers,
> >
> > David
> >
> >
> > 
> --
> > Check out the vibrant tech community on one of the world's most
> > engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> > ___
> > Freetel-codec2 mailing list
> > Freetel-codec2@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/freetel-codec2
> >
>
>
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] LoRa Modulation

2017-03-12 Thread Brady O'Brien
The AVT-53663 has 20dB of gain, but a P1dB of only 15.1 dBm, which is about
35mW.

On Sun, Mar 12, 2017 at 8:20 PM, Steve  wrote:

> The replacement AVT-53663 is pretty nice though. 5V 20 dB gain at 44 cents.
>
> 
> --
> Announcing the Oxford Dictionaries API! The API offers world-renowned
> dictionary content that is easy and intuitive to access. Sign up for an
> account today to start using our lexical data to power your apps and
> projects. Get started today and enter our developer competition.
> http://sdm.link/oxford
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
--
Announcing the Oxford Dictionaries API! The API offers world-renowned
dictionary content that is easy and intuitive to access. Sign up for an
account today to start using our lexical data to power your apps and
projects. Get started today and enter our developer competition.
http://sdm.link/oxford___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] LoRa Modulation

2017-03-12 Thread Brady O'Brien
LSI is Avago is Broadcom now. That setup is literally just the datasheet
recommended biasing configuration, heh. There are a couple of cheaper
recommended replacements for the MSA-0886 in an obsolescence notice I
found. http://www.farnell.com/datasheets/1635257.pdf

On Sun, Mar 12, 2017 at 7:26 PM, Steve  wrote:

> Just doing a little web browsing and I found this neat little 27 dBm TX
> circuit. Needs some filtering of course, but otherwise pretty simple with a
> MMIC chip. If I read that right, it needs a 2 dBm drive.
>
> It's a MSA-0886 (Agilent, Avagotech) or newer MAR‐8ASM+ Mini-Circuits
>
> There's a company selling kits, but at $15 the markup seems high. Should
> be able to lay that out easy right on the data board.
>
>
> ​
>
> ​
>
> 
> --
> Announcing the Oxford Dictionaries API! The API offers world-renowned
> dictionary content that is easy and intuitive to access. Sign up for an
> account today to start using our lexical data to power your apps and
> projects. Get started today and enter our developer competition.
> http://sdm.link/oxford
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
--
Announcing the Oxford Dictionaries API! The API offers world-renowned
dictionary content that is easy and intuitive to access. Sign up for an
account today to start using our lexical data to power your apps and
projects. Get started today and enter our developer competition.
http://sdm.link/oxford___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] DRM Mode H

2017-02-02 Thread Brady O'Brien
The latest versions of QSSTV, in the Debian testing repo IIRC, have DRM.

On Thu, Feb 2, 2017 at 3:39 PM, Stuart Longland 
wrote:

> On 02/02/17 11:44, David Ranch wrote:
> >
> > You can see working examples of this DRM mode in the SSTV programs for
> > Linux:
> >
> >Qsstv
>
> I thought QSSTV was analogue… it was last time I tried it.
> --
> Stuart Longland (aka Redhatter, VK4MSL)
>
> I haven't lost my mind...
>   ...it's backed up on a tape somewhere.
>
>
> 
> --
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
--
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] source qu

2016-09-14 Thread Brady O'Brien
I sent it directly, as the mailer daemon has *.zip blacklisted

On Wed, Sep 14, 2016 at 1:39 AM, glen english <g...@cortexrf.com.au> wrote:

> super!
>
> yeah missing references to :
>
> mel_cb
> lspmelcq_cb
> lspmelvq_cb
>
> which belong in :
>
> codebookmel.c
> codebooklspmelvq.c
>
>
> maybe just send me all the codebooks and I will overwrite and DIFF
> anything I already have
>
> cheers
>
>
>
>
> On 14/09/2016 4:34 PM, Brady O'Brien wrote:
>
> Yes, I think the some or all of the codebooks are generated at compile
> time. I've got a copy of them sitting in my build directory if you'd rather
> not screw with it right now.
>
> On Wed, Sep 14, 2016 at 1:31 AM, glen english <g...@cortexrf.com.au>
> wrote:
>
>> thanks very much  Brady
>>
>> also void then newline then pack
>> that explains why find in files didnt find it
>>
>> need pack.h perhaps...
>>
>> I'll add that to my list.
>>
>> another question while you are still awake (!)
>> what's the story with the codebook for the mel_cb  lsps  ( amongst a
>> couple of others) ?
>>
>> the cmakefile refers to them like
>>
>> COMMAND generate_codebook mel_cb ${CODEBOOKSMEL} >
>> ${CMAKE_CURRENT_BINARY_DIR}/codebookmel.c
>>
>> is  generated (IE and not in source distro ) ?
>>
>>
>> cheers
>>
>>
>>
>> On 14/09/2016 4:25 PM, Brady O'Brien wrote:
>>
>> Oh, no, I misread that. The return types are correct. They're still in
>> pack.c.
>>
>> 73
>>
>> On Wed, Sep 14, 2016 at 1:24 AM, Brady O'Brien <
>> <brady.obrien...@gmail.com>brady.obrien...@gmail.com> wrote:
>>
>>> Hi Glen,
>>>
>>> They're under pack.c, as far as I can tell, although declared with
>>> different return types. There's something to add to the cleanup todo.
>>>
>>> 73
>>>
>>> On Wed, Sep 14, 2016 at 1:12 AM, glen english < <g...@cortexrf.com.au>
>>> g...@cortexrf.com.au> wrote:
>>>
>>>> OK, 15 minutes into it...
>>>>
>>>> where are: ?
>>>> they are declared in quantise.h
>>>> but I cannot find any defition for them anywhere at all...
>>>> with thanks
>>>>
>>>>
>>>> void pack(unsigned char * bits, unsigned int *nbit, int index, unsigned
>>>> int index_bits);
>>>> void pack_natural_or_gray(unsigned char * bits, unsigned int *nbit, int
>>>> index, unsigned int index_bits, unsigned int gray);
>>>> int  unpack(const unsigned char * bits, unsigned int *nbit, unsigned int
>>>> index_bits);
>>>> int  unpack_natural_or_gray(const unsigned char * bits, unsigned int
>>>> *nbit, unsigned int index_bits, unsigned int gray);
>>>>
>>>>
>>>>
>
> 
> --
>
> ___
> 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


Re: [Freetel-codec2] source qu

2016-09-14 Thread Brady O'Brien
Yes, I think the some or all of the codebooks are generated at compile
time. I've got a copy of them sitting in my build directory if you'd rather
not screw with it right now.

On Wed, Sep 14, 2016 at 1:31 AM, glen english <g...@cortexrf.com.au> wrote:

> thanks very much  Brady
>
> also void then newline then pack
> that explains why find in files didnt find it
>
> need pack.h perhaps...
>
> I'll add that to my list.
>
> another question while you are still awake (!)
> what's the story with the codebook for the mel_cb  lsps  ( amongst a
> couple of others) ?
>
> the cmakefile refers to them like
>
> COMMAND generate_codebook mel_cb ${CODEBOOKSMEL} >
> ${CMAKE_CURRENT_BINARY_DIR}/codebookmel.c
>
> is  generated (IE and not in source distro ) ?
>
>
> cheers
>
>
>
> On 14/09/2016 4:25 PM, Brady O'Brien wrote:
>
> Oh, no, I misread that. The return types are correct. They're still in
> pack.c.
>
> 73
>
> On Wed, Sep 14, 2016 at 1:24 AM, Brady O'Brien <brady.obrien...@gmail.com>
> wrote:
>
>> Hi Glen,
>>
>> They're under pack.c, as far as I can tell, although declared with
>> different return types. There's something to add to the cleanup todo.
>>
>> 73
>>
>> On Wed, Sep 14, 2016 at 1:12 AM, glen english < <g...@cortexrf.com.au>
>> g...@cortexrf.com.au> wrote:
>>
>>> OK, 15 minutes into it...
>>>
>>> where are: ?
>>> they are declared in quantise.h
>>> but I cannot find any defition for them anywhere at all...
>>> with thanks
>>>
>>>
>>> void pack(unsigned char * bits, unsigned int *nbit, int index, unsigned
>>> int index_bits);
>>> void pack_natural_or_gray(unsigned char * bits, unsigned int *nbit, int
>>> index, unsigned int index_bits, unsigned int gray);
>>> int  unpack(const unsigned char * bits, unsigned int *nbit, unsigned int
>>> index_bits);
>>> int  unpack_natural_or_gray(const unsigned char * bits, unsigned int
>>> *nbit, unsigned int index_bits, unsigned int gray);
>>>
>>>
>>>
>>>
>>> On 14/09/2016 11:53 AM, David Rowe wrote:
>>> > Hi Glen,
>>> >
>>> > Like a lot of open source, it's evolved organically over many years.
>>> >
>>> > If a re-org was to happen - the big question is who will take
>>> > responsibility for it. If some one really wants to re-organise things,
>>> > and is willing to carefully ensure nothing is broken (x86, Octave,
>>> > embedded targets, Makefiles, unit tests, sort through/archive dead
>>> code)
>>> > ... I'm happy for them to have a go.
>>> >
>>> > You didn't mention which part you wanted?  If it's the files reqd for
>>> > FreeDV 1600 on an embedded platform, take a look in
>>> > codec2-dev/stm/Makefile at the variable CODEC2_SRCS and SM1000_SRCS for
>>> > what we use for the SM1000.
>>> >
>>> > Cheers,
>>> >
>>> > David
>>> >
>>> > On 14/09/16 11:00, glen english wrote:
>>> >> Hi
>>> >> I am now porting into a cortex M7, as we speak
>>> >>
>>> >>wading through all the codec 2 sources, which I have only ever
>>> browsed
>>> >> the encode and decode files
>>> >>
>>> >> I see the src folder has pretty much everything in it.
>>> >> and I just want a bit of it...
>>> >>
>>> >> is there any reason for everything  in one folder?
>>> >> rather than
>>> >> /demos
>>> >> /tests
>>> >> /codec2_core
>>> >> /fmdv
>>> >>
>>> >> etc ?
>>> >> would save me going through each file looking for dependencies.
>>> >> or is there a list somewhere ?
>>> >>
>>> >> or " am I doing it wrong " ?
>>> >>
>>> >> 73
>>> >>
>>> >> glen
>>> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> 
>>> --
>>> >> ___
>>> >> Freetel-codec2 mailing list
>>> >> Freetel-codec2@lists.sourceforge.net
>>> >> https://lists.sou

Re: [Freetel-codec2] source qu

2016-09-14 Thread Brady O'Brien
Oh, no, I misread that. The return types are correct. They're still in
pack.c.

73

On Wed, Sep 14, 2016 at 1:24 AM, Brady O'Brien <brady.obrien...@gmail.com>
wrote:

> Hi Glen,
>
> They're under pack.c, as far as I can tell, although declared with
> different return types. There's something to add to the cleanup todo.
>
> 73
>
> On Wed, Sep 14, 2016 at 1:12 AM, glen english <g...@cortexrf.com.au>
> wrote:
>
>> OK, 15 minutes into it...
>>
>> where are: ?
>> they are declared in quantise.h
>> but I cannot find any defition for them anywhere at all...
>> with thanks
>>
>>
>> void pack(unsigned char * bits, unsigned int *nbit, int index, unsigned
>> int index_bits);
>> void pack_natural_or_gray(unsigned char * bits, unsigned int *nbit, int
>> index, unsigned int index_bits, unsigned int gray);
>> int  unpack(const unsigned char * bits, unsigned int *nbit, unsigned int
>> index_bits);
>> int  unpack_natural_or_gray(const unsigned char * bits, unsigned int
>> *nbit, unsigned int index_bits, unsigned int gray);
>>
>>
>>
>>
>> On 14/09/2016 11:53 AM, David Rowe wrote:
>> > Hi Glen,
>> >
>> > Like a lot of open source, it's evolved organically over many years.
>> >
>> > If a re-org was to happen - the big question is who will take
>> > responsibility for it. If some one really wants to re-organise things,
>> > and is willing to carefully ensure nothing is broken (x86, Octave,
>> > embedded targets, Makefiles, unit tests, sort through/archive dead code)
>> > ... I'm happy for them to have a go.
>> >
>> > You didn't mention which part you wanted?  If it's the files reqd for
>> > FreeDV 1600 on an embedded platform, take a look in
>> > codec2-dev/stm/Makefile at the variable CODEC2_SRCS and SM1000_SRCS for
>> > what we use for the SM1000.
>> >
>> > Cheers,
>> >
>> > David
>> >
>> > On 14/09/16 11:00, glen english wrote:
>> >> Hi
>> >> I am now porting into a cortex M7, as we speak
>> >>
>> >>wading through all the codec 2 sources, which I have only ever
>> browsed
>> >> the encode and decode files
>> >>
>> >> I see the src folder has pretty much everything in it.
>> >> and I just want a bit of it...
>> >>
>> >> is there any reason for everything  in one folder?
>> >> rather than
>> >> /demos
>> >> /tests
>> >> /codec2_core
>> >> /fmdv
>> >>
>> >> etc ?
>> >> would save me going through each file looking for dependencies.
>> >> or is there a list somewhere ?
>> >>
>> >> or " am I doing it wrong " ?
>> >>
>> >> 73
>> >>
>> >> glen
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> 
>> --
>> >> ___
>> >> 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
>>
>
>
--
___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Serial USART implem

2016-09-06 Thread Brady O'Brien
It won't result in an audible click or glitch in the modulator output. The
DACs and ADCs are being driven by the STM32's DMA from 20ms buffers. Once a
buffer is half empty/full, the DMA peripheral triggers an interrupt, which
then copies to/from an 80ms FIFO. Once enough samples are on the incoming
FIFO (~40ms), freedv_tx or freedv_rx are called in main. Even if an
interrupt from the UART hits during the DMA service routine, it won't cause
any problems.

On Tue, Sep 6, 2016 at 11:39 PM,  wrote:

> The main reason I said can't do a software FIFO is because it needs to be
> an interrupt and there is little documentation I have found on the main
> code structure, let alone a flow diagram.
> So I have no idea of code over heads or interrupt priority.
> Simply sticking in another interrupt could result in something as simple
> as an audible "tick" every time a char is received or worst case result in
> a loss of synchronization every time a char is received.
> Sort of reverse engineering all the code I haven't found a resource that
> lets me determine how and where to best implement the serial coms.
>
> On say a PIC24 I can just let it fill the buffer and then test the flags
> to see if chars are present.
> That would be easy to do and the test would be as simple in code as
> checking the switches.
>
> If you think there is so much over head then I will just give it a try in
> software and see what happens.
>
> Thanks.
>
> Eric
>
>
>
> On 2016-09-07 01:01, Bruce Perens wrote:
>
> > So, anything that happens in  the usart interrupt  handler is transparent
> to the codec encoder
>
> Except for timing. But Brady has already explained that it's
> timing-insensitive.
>
> On Tue, Sep 6, 2016 at 3:56 PM, glen english  wrote:
>
>> Eric. you said : "you can not implement a software FIFO on interrupt
>> because this would effect the other processes every time a byte is
>> received."
>>
>> That is not really the case .I'll explain.
>>
>> the interrupt handler will push the used registers, SP etc onto the
>> stack  on entry to the IRQ handler, and restore them when it is done.
>> So, anything that happens in  the usart interrupt  handler is
>> transparent to the codec encoder- it wont ever know there was an
>> interrupt. The compiler will deal with all that for you. Yes I know in
>> asm days, life was different.
>>
>> but I guess you already know the above.. maybe the case of cycles
>>
>> There are plenty of online examples.
>>
>> Essentially on stm32
>>
>> on IRQ entry
>>
>> read USART->SR into a variable
>> if there are errors , read the DR.
>> this will clear errors. it will also get a char if there was one there.
>>
>> if there were no errors , but the RXNE / fifo flag was set, and you have
>> not read the DR already, read the DR and put your new char into your ram
>> buffer, increment the buffer ptr index, wrap as required and increment
>> the nChars variable so your app knows how many chars there are
>>
>> if the TXE flag was set, the usart wants another char, get from your ram
>> buffer and write to the DR, inc  buffer ptr, and -- nChars to tx.
>>
>> done.
>>
>> now, in your application, you need sample the nchars waiting to tx, and
>> n chars ready to get from the buffer variables, and because the irq
>> context also has access to those registers,  you need to  guard
>> application access (ie non irq context) by using critial sections . in
>> the simplist form that is disabling and enablign interrupts around those
>> variables
>>
>> NOW !
>>
>> there are some very handy synchronization opcodes you can use in the ARM
>> instruction set to do this!!!
>> if you want- no need for critical sections and disabling interrupts.
>>
>> g
>>
>>
>>
>>
>> 
>> --
>> ___
>> Freetel-codec2 mailing list
>> Freetel-codec2@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
> --
>
>
> ___
> Freetel-codec2 mailing 
> listFreetel-codec2@lists.sourceforge.nethttps://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


Re: [Freetel-codec2] Serial USART implementation

2016-09-06 Thread Brady O'Brien
A couple hundred cycles of interrupt handler to fill a fifo in the middle
of the signal processing really shouldn't be an issue for you. The FreeDV
input and output are buffered through their own DMA-driven fifo and can
handle a very small delay.

On Tue, Sep 6, 2016 at 5:40 PM,  wrote:

> I am aware of the peripherals and its not what I need to know.
>
> I was asking if any one had implemented the serial port peripheral with
> out interfering with the operation of the codec.
>
> The pinning is irrelevant because I am using my own hardware design and
> have access to what ever pins I want.
>
> Cheers
>
> Eric
>
>
>
> On 2016-09-06 22:35, Bruce Perens wrote:
>
> The STM32F405 peripheral set is richer than you realize:
>
>
>- 2x USB OTG (one with HS support)
>- Audio: dedicated audio PLL and 2 full duplex I²S
>- Up to 15 communication interfaces (including 6x USARTs running at up
>to 10.5 Mbit/s, 3x SPI running at up to 42 Mbit/s,
>3x I²C, 2x CAN, SDIO)
>- Analog: two 12-bit DACs, three 12-bit ADCs reaching 2.4 MSPS or 7.2
>MSPS in interleaved mode
>- Up to 17 timers: 16- and 32-bit running at up to 168 MHz
>- Easily extendable memory range using the flexible static memory
>controller supporting Compact Flash, SRAM, PSRAM, NOR and NAND memories
>- Analog true random number generator
>
> I haven't looked at what pins David has dedicated and whether you can get
> at undedicated pins at all.
>
> On Tue, Sep 6, 2016 at 1:20 PM, Shane Burrell 
> wrote:
>
>> For the STM32 it will be a software FIFO. Easiest way to do that is to
>> interrupt at each byte and fill a buffer.  Hence DMA is as easy and does
>> the buffer fill for you.
>>
>> On Tue, Sep 6, 2016 at 4:17 PM,  wrote:
>>
>>> Yes I was hoping to use a FIFO as that how I do it on the PIC, however
>>> was looking at the datasheet and didnt see any implementation of one, just
>>> DMA.
>>>
>>> I will have to look closer.
>>>
>>> Thanks.
>>>
>>> Eric
>>>
>>>
>>>
>>> On 2016-09-06 19:14, Bruce Perens wrote:
>>>
>>> In sm1000? Since there is no OS you either have to hook into the busy
>>> loop or write interrupt code. If the FIFO is deep enough to queue a
>>> command, the code will not be time critical and you can do it in the loop.
>>> No DMA necessary.
>>>
>>> On Sep 6, 2016 7:51 AM, "Shane Burrell"  wrote:
>>>
 You shouldn't have any problems doing that via DMA UART

 On Tue, Sep 6, 2016 at 9:52 AM,  wrote:

> I'm wondering if any body has managed to implement the serial USART in
> a manner that does not interfere with the encode/decode process.
>
> Will be doing away with the switch menu and assume I can send and
> receive data to the USART in its place as the USART functions 
> independently
> via DMA and hence shouldn't interfere with any thing I hope.
>
> I'm basically implementing the Yaesu CAT interface and want to send 5
> bytes and receives 5 bytes once a second at 9600 baud.
>
> Thoughts?
>
>
>
> Cheers
>
> Eric
>
>
> 
> --
>
> ___
> 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 
>>> listFreetel-codec2@lists.sourceforge.nethttps://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 
> listFreetel-codec2@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
>
>
> 
> --
>
> 

Re: [Freetel-codec2] Codec2 for STM32

2016-07-21 Thread Brady O'Brien
Hi Alan,

It probably wouldn't be possible to run codec2 on the Arduino DUE, as the
Cortex M3 based microcontroller lacks a floating point unit. Codec2 and the
rest of the freedv stack make heavy use of floating point.

Thanks,

Brady O'Brien

On Thu, Jul 21, 2016 at 5:40 AM, Alan Beard <bear...@unixservice.com.au>
wrote:

> Could I ask something that would be useful to amateur radio people
> like myself?
>
> The Arduino DUE board is based on an ST ARM chip.
>
> Check out the MMDVM project.
>
> Yes, I know the radios in use there are standard VHF and UHF radios
> but there will be a few who use an all-mode radio that can do SSB (or AM)
> and with an output of the mode, could switch to that mode.
>
> Alan VK2ZIW
>
> *On Wed, 20 Jul 2016 13:46:15 +0300, Marat Galyamov wrote*
> > Hello!
> >
> I want to use Codec2 for STM32 (I want to try it on Discovery board).
> >
> > I downloaded source texts from website, but I don't understand what
> files need to be included to my project. Help please!
>
> I use CubeMX and HAL libraries from ST, a development environment - IAR.
>
> I ask to excuse me for my English.
>
> Thanks!
> >
> > --
> > Marat Galyamov
>
>
> Alan
>
> Evil flourishes when good men do nothing.
> Consider Jesus.
> ---
>
> Alan Beard   Unix Support Technician from 1984 to today
> 70 Wedmore Rd.   Sun Solaris, AIX, HP/UX, Linux, SCO, MIPS
> Emu Heights N.S.W. 2750  Routers, terminal servers, printers, terminals
> etc..
> +61 2 47353013 (h)   Support Programming, shell scripting, "C",
> assembler
> 0414 353013 (mobile) After uni, electronics tech
>
>
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and
> traffic
> patterns at an interface-level. Reveals which users, apps, and protocols
> are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning
> reports.http://sdm.link/zohodev2dev
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Empty noise trimming causes sound degradation?

2016-07-19 Thread Brady O'Brien
Hello Imran,
Do you have the endianness of the audio going into c2enc/c2dec right? As
written, c2enc and c2dec accept and produce 16 bit signed samples in
whatever the host CPU's endian is; little endian on x86 and most arm chips.
For example, to record and encode some audio on my machine, I'd use the
following commands:

arecord -f S16_LE -r 8k | c2enc 1300 - encoded.c2

note the '-f S16_LE' -- that ensures arecord spits out audio in
little-endian 16 bit signed formed, no wav header.
In the decode direction, I'd use:

c2dec 1300 encoded.c2 - | aplay -f S16_LE -r 8k

To convert from .wav into a format c2enc can consume, I'd use:

sox -t raw -e signed -b 16 -r 8000 speech.wav speech.raw

and from c2dec:

sox -b 16 -e signed -c 1 -r 8000 decoded.raw  decoded.wav

Thanks,

Brady O'Brien

On Tue, Jul 19, 2016 at 7:51 PM, David Rowe <da...@rowetel.com> wrote:

> Hello Imran,
>
> What mode are you using?  There isn't much frame-frame memory in Codec 2
> (e.g. prediction), in modes like 1300 there is none.
>
> Are you sure the bit-alignment remains correct when you remove frames?
>
> - David
>
> On 20/07/16 05:51, Imran wrote:
> > Hi All,
> >
> > I've been experimenting with Codec2 for voice reconstruction.  I've
> > found something odd.
> >
> > I have a ~2 second long wav file, 8 Khz, 16 bit pcm, mono.  I can encode
> > this file into codec2 no problem.
> > The first 1.3 seconds is silence.  The mic is on, but in a quiet room
> > with no noise.  The wav file spectogram shows a flat line, near 0, with
> > just a little white noise, for these 1.3 seconds, followed by a quiet
> > envelope of speech sounds.
> >
> > So, I encode the wav file into codec2, decode it and playback.  Sounds
> > fine.
> > Then, I start deleting frames at the head of the encoding.  So, I delete
> > frame 0, then frame 1 .. frame 15.  That's about 300 ms of sound I've
> > removed that has no human sounds in it -- just mic whitenoise.
> >
> > Then, something weird happens.
> > While there's still a lot of silence in the playback, when playback
> > reaches the speech, the voice is noticeably degraded.
> >
> > I can delete 10 frames, no problem.  When I delete more than 10,
> > degradation starts, and increases as I delete more frames.
> >
> > Anyone have any hints on why?
> >
> > Thanks,
> > Imran
> >
>
>
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and
> traffic
> patterns at an interface-level. Reveals which users, apps, and protocols
> are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning
> reports.http://sdm.link/zohodev2dev
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] coding question

2016-07-16 Thread Brady O'Brien
Hi Alan,

It would be possible to split the modem end of freedv
(fdmdv,cohpsk,fsk,fmfsk) from the codec end. Currently, however, this is
not really supported by the freedv API (freedv_api.c/.h). If anyone is
interested in doing this for any freedv modes, freedv_api.c and
freedv_api.h are good places to look.

Thanks,

Brady O'Brien

On Sat, Jul 16, 2016 at 7:45 PM, Alan Beard <bear...@unixservice.com.au>
wrote:

>
>
>
>
>
>
>
>
> *Hi all, Can the Codec2 code be split into two sections? 1) From and to
> the radio audio. To be put into a dedicated DSP device, see the MMDVM
> project, Arduino DUE. 2) Human side, microphone and speaker, digital to
> audio and back, to be done on a full Linux or Windoze system. A good
> project for you *
>
>
>
>
> *Faisal Saleem. Alan VK2ZIW On Fri, 15 Jul 2016 07:42:11 + (UTC),
> Faisal Saleem wrote*
> >
> > <faisalsalee...@yahoo.com> Hi all,
>
> > I am an engineering student and working on a digital voice project. I am
> impressed by codec2 and sm1000, the freedv adapter. I just got 2 sm1000
> modules and built the firmware sm1000.bin successfully.
> >
> > My questions are:
> > 1) how can i apply codec2 on Recorded voice or Audio file which is
> stored in USB? My query is how  i access  from USB a Audio file.
> >
> > how can i do?
> >
> Thanks in advance for your precious help
> >
> >  Regards,
> >
> > *Faisal Saleem*
> >
> > Email : faisalsalee...@yahoo.com , engrfaisalsalee...@gmail.com
> <engrfaisalsalee...@gmail.com>
> > Cell: 0092-305-7733854
>
>
> Alan
>
> Evil flourishes when good men do nothing.
> Consider Jesus.
> ---
>
> Alan Beard   Unix Support Technician from 1984 to today
> 70 Wedmore Rd.   Sun Solaris, AIX, HP/UX, Linux, SCO, MIPS
> Emu Heights N.S.W. 2750  Routers, terminal servers, printers, terminals
> etc..
> +61 2 47353013 (h)   Support Programming, shell scripting, "C",
> assembler
> 0414 353013 (mobile) After uni, electronics tech
>
>
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and
> traffic
> patterns at an interface-level. Reveals which users, apps, and protocols
> are
> consuming the most bandwidth. Provides multi-vendor support for NetFlow,
> J-Flow, sFlow and other flows. Make informed decisions using capacity
> planning
> reports.http://sdm.link/zohodev2dev
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Digital voice using an Android mobile phone

2016-06-04 Thread Brady O'Brien
If someone did want to write a proper android app, the FreeDV API is pretty
straightforward and should run just fine under the NDK, though I'm not sure
how one would work around the dual audio card requirement.

On Sat, Jun 4, 2016 at 5:10 PM, Adrian Musceac  wrote:

> Thanks David, but I cheated a little. It's not really Android, more like an
> unholy mixture of Android and GNU/Linux.
>
> The way it works is you pop in an SD card, and an Android app starts a
> Debian container which runs Gnuradio, FreeDV and possibly also any
> other Linux amateur radio software. The host Android OS is blissfully
> unaware of what is happening underneath, and this also means you
> don't have to go destructive on your phone.
> The downside is you lose temporarily the ability to make calls, because
> Linux takes over the whole sound system. This is why I'd like to see
> some Android developers stepping up.
>
> As for the PTT, it's currently not operational, because the audio out line
> has a weird pin-out, with one pin being used for the button on the
> headphones, which is not making my Yaesu FT60 happy. I'll probably use
> that button for the radio PTT and to trigger the application itself. A
> different radio like the 857 might require a different cable, and I'm
> terrible at hardware design.
>
> Cheers,
> Adrian
>
>
> On Sunday 05 June 2016 06:34:00 David Rowe wrote:
> > Wow that's really awesome Adrian!  Great job at integrating all of
> those
> > modules with Android.  How well does the PTT work, e.g. can you use
> it
> > for real QSOs?
> >
> > Cheers,
> >
> > David
> >
> > On 04/06/16 18:13, Adrian Musceac wrote:
> > > Hi all,
> > > I was thinking the other day, that it would be nice to pair a cheap
> > > Android smartphone with a standard analog FM handheld radio
> (maybe a
> > > Baofeng) and upgrade your aging FM transceiver to a state of the
> art
> > > digital radio with Bluetooth, GPS, the ability to bridge voice through
> a
> > > VoIP channel using the Wifi or 3G connection and many other
> features.
> > >
> > > So what is stopping us from doing that? Not very much apparently.
> All
> > > the bits and pieces are there already, David and Brady did a huge
> amount
> > > of work on the VHF 2400 modes, so sending a 1300 bit/s stream of
> Codec2
> > > over the air using a standard handheld should be a breeze. But we
> might
> > > need to be able to also talk APRS to send coordinates, so
> switching
> > > between modes should be easy.
> > >
> > > Or, why not connect a bog standard Android phone to a credid
> card sized
> > > SDR frontend like the USRP B205-mini and step into the future of
> pocket
> > > SDR radio from DC to daylight. Gnuradio already has very good
> > > optimizations for ARM v7 using the neon_hardfp_orc Volk kernel,
> and it
> > > can only get better from here.
> > >
> > > So, I hacked together a few scripts to pair a cheap Chinese
> cellphone
> > > with my analog FM handheld and send digital voice using gnuradio
> and
> > > Codec2. Introducing project DroidDV - digital voice through a
> standard
> > > smartphone. Now, if only I could find a couple of enthusiastic
> Android
> > > developers to create all the software and wrap it around in a nice
> > > looking interface to make it marketable.
> > >
> > > Here's a video showing what can be done in a few hours:
> > > https://www.youtube.com/watch?v=JibJhNs13qw
> > >
> > > Cheers,
> > > Adrian
> > >
> > >
> > >
> --
> > >  What NetFlow Analyzer can do for you? Monitors network
> bandwidth and
> > > traffic patterns at an interface-level. Reveals which users, apps,
> and
> > > protocols are consuming the most bandwidth. Provides multi-
> vendor support
> > > for NetFlow, J-Flow, sFlow and other flows. Make informed decisions
> using
> > > capacity planning reports.
> > > https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
> > >
> > >
> > >
> > > ___
> > > Freetel-codec2 mailing list
> > > Freetel-codec2@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/freetel-codec2
> >
> >
> 
> > -- What NetFlow Analyzer can do for you? Monitors network bandwidth
> and
> > traffic patterns at an interface-level. Reveals which users, apps, and
> > protocols are consuming the most bandwidth. Provides multi-vendor
> support
> > for NetFlow, J-Flow, sFlow and other flows. Make informed decisions
> using
> > capacity planning reports.
> > https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
> > ___
> > Freetel-codec2 mailing list
> > Freetel-codec2@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
>
> --
> What NetFlow Analyzer can do for you? Monitors network bandwidth and

Re: [Freetel-codec2] 4FSK with random bits

2016-03-23 Thread Brady O'Brien
Where are you hosting your port at? There was a one-liner bug in the C fsk
modem having to do with the frequency estimation that you may be running in
to.

On Wed, Mar 23, 2016 at 7:13 PM, Steve  wrote:

> > If you want to mess around with it yourself, the frequency estimation
> happens in fsk_demod_freq_est
>
> I converted that algorithm to java and played with it. One thing I noticed
> though, and I'm not much of a DSP person, was that it is doing a size 1024
> FFT with a 1920 samples, so I assume it just ignores the extra samples at
> the end.
>
> I'm wondering if a 2048 FFT would be better (more memory though, and
> wasted at the end). Maybe downsample the 1024 reals back to 512 reals again.
>
> Maybe not enough to worry about??
>
> Thanks all, interesting stuff!
>
>
> --
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] 4FSK with random bits

2016-03-23 Thread Brady O'Brien
The frequency estimator works by taking an FFT of the sample buffer,
averaging it with the FFT of the last few sample buffers, and finding the
four (or two for 2FSK) frequency peaks. It's pretty simple, but allows us
to track a good deal of frequency drift and possible weird spacing from
different modulators. If there isn't enough of one of the symbols, it will
throw the estimator off. If you make a few assumptions about the frequency
spacing and drift, it wouldn't be too difficult to re-work the estimator to
handle a situation with less of each of the four tones. We're not too
worried about it for 2400A, as the UW and frame padding provides enough
variety to not knock the freq. estimator out of whack.

If you want to mess around with it yourself, the frequency estimation
happens in fsk_demod_freq_est

On Wed, Mar 23, 2016 at 5:35 PM, Steve  wrote:

> I've been playing with the 4FSK modulator. Every once in awhile I would
> get some bad decodes when I throw random data bits at it.
>
> For example here's the frequency peaks decoded from a random 96 bit
> pattern:
>
> 1218.75
> 2671.875
> 4546.875
> 5718.75
>
> Input:
>
> 1000100011000100111001111011000101101101011100100010010000111100
>
> Decoded:
>
> 0001000100110010100110011101011001101010100111000101001011000110
>
> The 4FSK frequency peaks didn't do too well, so I plotted the output using
> audacity:
>
>
> ​
> I don't know where it got that 5700 Hz number from, ha. But you can see
> that this random 96-bit sequence didn't really produce a 4FSK spectrum.
>
> If I send it "01" or "10", all "1" or all "0" it can very well be a CW
> signal.
>
> Anyway, I was thinking of a way to make sure that each of the 4
> frequencies were hit about 25% of the time. Maybe I'm just playing too
> hard...
>
>
>
> --
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Question on fsk.c

2016-03-22 Thread Brady O'Brien
Steve,

Yeah, that's Kahan summation (
https://en.wikipedia.org/wiki/Kahan_summation_algorithm ) to try and
minimize the floating point error. I'm not really sure it helps much there,
but I figured it can't hurt. I'm using kahan summation there specifically
because the fine timing estimate is summed over the entire processing
buffer instead of just over a symbol or two.

Thanks,

Brady OBrien

On Tue, Mar 22, 2016 at 3:06 AM, Steve  wrote:

> I had a question, maybe for Brady, on a calculation he does in fsk.c.
>
> In lines 1029 - 1036:
>
> https://sourceforge.net/p/freetel/code/HEAD/tree/codec2-dev/src/fsk.c#l1029
>
> you do a series of calculations.
>
> y.real = t1.real - c.real;
> y.imag = t1.imag - c.imag;
>
> t.real = t2.real + y.real;
> t.imag = t2.imag + y.imag;
>
> c.real = (t.real-t2.real) - y.real;
> c.imag = (t.imag-t2.imag) - y.imag;
>
> Rewriting 'c' (substituting 't') I get:
>
> c.real = ((t2.real + y.real) - t2.real) - y.real;
>
> I guess my question is, are you looking for floating point inaccuracy, and
> then subtracting any on the next loop?
>
> I was thinking, that otherwise 'c' would always be zero. I'm only on my
> first cup of joe though :-)
>
> 73,
> Steve
>
>
>
> --
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351=/4140___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] codec2 modes and sm1000 PTT

2016-03-19 Thread Brady O'Brien
Faisal,

I've not yet done any work to port 2400A or 2400B to the SM1000 or STM32F4.
The FMFSK modem used by 2400B will probably run without issue, as it
doesn't use a whole lot of memory as is, but I'm not sure about FSK. The
big issue I see for you is that 2400A and 2400B operate at a 48Khz sample
rate instead of the 8Khz rate of 1600 or 7.5/8Khz rate of 700B. You'll also
need to move the 2400A/B initialization outside of the #ifdefs in
freedv_api.c for it to build to the SM1000.

Thanks,

Brady O'Brien

On Thu, Mar 17, 2016 at 2:01 PM, David Rowe <da...@rowetel.com> wrote:

> Hi Faisal,
>
> 1/ You need to change the protocol, bit packing, FEC, number of tones
> etc.  There may be CPU load issues.  Suggest you start with the Host PC
> version and test there.  Get the entire system working fine on a PC
> first, then try porting to the SM1000.
>
> 2/ Edit sm1000_main.c where PTT is pressed?  Maybe use a state machine
> to inject a compressed Codec 2 message before taking audio from the
> microphone.
>
> - David
>
> On 17/03/16 22:39, Faisal Saleem wrote:
> >
> > Hi all,
> >   I am an engineering student and working on a digital voice project. I
> am impressed by codec2 and sm1000, the freedv adapter. I just got 2 sm1000
> modules and built the firmware sm1000.bin successfully. I connected the two
> sm1000 boards back to back using RIG interface (a cross RJ45 cable). And
> both sm1000 are talking to each other both in analog and DV modes
> (fantastic). While studying the code, I've seen that the codec 2 mode is
> set to 1300. I just changed the codec2 mode to 1600. At 1600 mode the voice
> quality was not very good compared to 1300 mode and also there was a bit
> error (error LED constantly on). When I just set the mode to 2400, receiver
> doesn't receive any thing while transmitter is transmitting. My questions
> are:
> > 1) Is it enough to change the codec mode in freedvapi.c to change the
> codec mode or do I need to change some other parameters like Nc, NB etc to
> run it on 2400 mode without any BER.
> > 2) I want to access the PTT i.e. whenever I press PTT, I want to
> transmit a custom message first before transmitting the actual voice. How I
> can do this?
> >
> > Thanks in advance for your precious help.
> >
> > Regards,
> > Faisal
> >
> >
> --
> > Transform Data into Opportunity.
> > Accelerate data analysis in your applications with
> > Intel Data Analytics Acceleration Library.
> > Click to learn more.
> > http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
> > ___
> > Freetel-codec2 mailing list
> > Freetel-codec2@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/freetel-codec2
> >
>
>
> --
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] new FreeDV 2400A VHF Modem

2016-03-19 Thread Brady O'Brien
Hey Adrian,

The gnuradio-companion pipelines I used for the test are attached. These
grc pipelines are only meant to get 16-bit 48k samples in and out of the
HackRF and rtlsdr for testing. The meat of the FSK is done with the C fsk
modem, used in freedv_rx, freedv_tx, fsk_mod, and fsk_demod. We are also
running our FSK modem directly from SDR samples instead of through FM
radios. We will be running 2400B over legacy FM radios, but don't yet have
the same degree of test coverage.

Thanks,

Brady O'Brien

On Wed, Mar 16, 2016 at 3:34 PM, Adrian Musceac <kanto...@gmail.com> wrote:

> Hi David,
>
> Is it possible to get our hands on the Gnuradio code? I've been trying
> to optimize modems running at 1200 bits/second and the best I could do
> was 100% copy at 8 dB above analog FM for DBPSK and 12 dB above for
> GMSK. Your modem seems to be 16-20 dB better than that! If I could see
> the Gnuradio graph maybe I could figure out what I'm doing wrong.
>
> Thanks,
> Adrian
>
> On 3/16/16, Steve <coupaydevi...@gmail.com> wrote:
> > Ha, I wish it was through a radio!
> >
> > I'm trying to think what I have laying around here that might make a good
> > transmitter for it.
> >
> > On Wed, Mar 16, 2016 at 4:02 AM, glen english <g...@cortexrf.com.au>
> wrote:
> >
> >> ah. good stuff. nice progress.
> >>
> >>
> >> On 16/03/2016 7:50 PM, Steve wrote:
> >>
> >> Just using the script:
> >>
> >> freedv_tx 2400A ve9qrp_10s.raw modem.raw
> >>
> >> Which produces a RAW audio file sampled at 48 kHz and importing that
> into
> >> audacity.
> >>
> >> On Wed, Mar 16, 2016 at 3:46 AM, glen english <g...@cortexrf.com.au>
> >> wrote:
> >>
> >>> Hi Steve
> >>>
> >>> Nice
> >>>
> >>> is that through a PA- if so, linear or linear in say 3dB compression?
> >>>
> >>>
> >>> On 16/03/2016 7:42 PM, Steve wrote:
> >>>
> >>> Thought I'd upload a spectrum snapshot. You can't really see the
> >>> carriers
> >>> until you drop the number of samples to about 256, but this shows how
> >>> wide
> >>> it is.
> >>>
> >>> I noticed that the freedv_tx was outputting +/- 1.0 signals and a
> couple
> >>> of clips going on. Maybe need to knock it down to +/- .5 like the old
> >>> FDM
> >>> modes.
> >>>
> >>> FYI
> >>>
> >>> Steve
> >>>
> >>>
> >>>
> >>>
> --
> >>> Transform Data into Opportunity.
> >>> Accelerate data analysis in your applications with
> >>> Intel Data Analytics Acceleration Library.
> >>> Click to learn
> >>> more.http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
> >>>
> >>>
> >>>
> >>> ___
> >>> Freetel-codec2 mailing
> >>> listFreetel-codec2@lists.sourceforge.nethttps://
> lists.sourceforge.net/lists/listinfo/freetel-codec2
> >>>
> >>>
> >>>
> >>>
> >>>
> --
> >>> Transform Data into Opportunity.
> >>> Accelerate data analysis in your applications with
> >>> Intel Data Analytics Acceleration Library.
> >>> Click to learn more.
> >>> http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
> >>> ___
> >>> Freetel-codec2 mailing list
> >>> Freetel-codec2@lists.sourceforge.net
> >>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
> >>>
> >>>
> >>
> >>
> >>
> --
> >> Transform Data into Opportunity.
> >> Accelerate data analysis in your applications with
> >> Intel Data Analytics Acceleration Library.
> >> Click to learn
> >> more.http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140
> >>
> >>
> >>
> >> ___
> >> Freetel-codec2 mailing
> >> listFreetel-codec2@lists.sourceforge.nethttps://
> lists.sourceforge.net/lists/listinfo/freetel-codec2
> >>
> >>
> >>
> >>
> >>
> 

Re: [Freetel-codec2] new FreeDV 2400A VHF Modem

2016-03-19 Thread Brady O'Brien
I think in the case of coherent vs non-coherent for 4FSK, the plot of
EbN0(dB) vs BER for ideal coherent and non-coherent says it all. If we find
that we really need that extra dB, It'd be easier to switch to non-coherent
8FSK than write and test coherent 4FSK (and at 8FSK, coherent and
non-coherent are even closer).

​
--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231=/4140___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Legacy modems

2016-03-08 Thread Brady O'Brien
Hi Adrian,

Just for completeness, the modem we are planning on using for
FreeDV-over-analog-FM, is more like ASK+Manchester Encoding over FM. We're
calling it FMFSK or MEFSK because it ends up looking like a dirty FSK over
the air. The mod works by Manchester encoding the bits and firing them over
the radio. The demod is a bit more complex. It can be examined in
octave/fmfsk.m and src/fmfsk.c . Like the other FreeDV modems, neither of
those have been wrapped up as modules for Gnuradio, but it shouldn't be too
difficult.

Thanks,

Brady O'Brien

On Tue, Mar 8, 2016 at 4:12 PM, Adrian Musceac <kanto...@gmail.com> wrote:

> Hi David,
>
> To answer your questions, I am measuring SNR at the same bitrate for
> all modems (1200 bit/sec) using the AWGN channel model that is
> available in Gnuradio. I'm afraid my math is a bit iffy, so the
> figures should be taken with a grain of salt.
>
> However, for practical purposes, I settled on the following
> modem/bitrate combinations:
> DBPSK 1200 - best low signal modem
> GMSK 2000 - average modem
> DQPSK 4000 - about the same performance as GMSK 2000
>
> I intend to code logic to switch between them as needed, depending on
> the quality of the channel and the amount of data to be transfered.
>
> Performance is below analog FM by about 8 dB in the best case
> scenario. However the data capability and the fact that we can use a
> cheap handheld wins here. I believe these digital waveform might also
> pass undisturbed through a repeater as well.
>
> I will make a video and upload it to Youtube, to demonstrate my setup.
> Real mobile performance data would be nice, but I have yet to finish a
> suitable case for my board+LCD+battery contraption. Also the software
> is still in the infancy.
>
> Cheers,
> Adrian (YO8RZZ)
>
> On 3/8/16, David Rowe <da...@rowetel.com> wrote:
> > Hi Adrian,
> >
> > Great work - you should write it up (or YouTube).  What noise (channel)
> > bandwidth are your SNRs measured in?  Are all the modems tested below
> > measured using the same bit rate?
> >
> > That's why Eb/No is useful - it's normalized to a bandwidth of 1Hz and
> > bit rate of 1 bit/s.  It's like the "SNR of one bit".
> >
> > How does analog FM sound at the same SNR?
> >
> > I also found AFSK over FM to be particularly bad:
> >
> >http://www.rowetel.com/blog/?p=3799
> >
> > Getting modems to work over FM analog modems is an interesting area.
> > Brady is getting good results from manchester encoder symbols.  I guess
> > that's putting BPSK over analog FM, it's a pulse train of +ve and -ve.
> > In our simulations it's only 2dB off 2FSK which is surprising (or
> > suspicious!).
> >
> > Looks a lot like the GMSK modem Kristoff uses, but the manchester
> > encoding moves the energy away from DC, so a "data mode" radio is not
> rqd.
> >
> > Cheers,
> >
> > David
> >
> > On 09/03/16 06:07, Adrian Musceac wrote:
> >> Hi all,
> >>
> >> Motivated by David's work with VHF modems, I have started to
> >> investigate various Tx-Rx chains that might work with legacy narrow FM
> >> radios. My goal is to develop a completely portable system composed of
> >> a development board running open-source software paired with an FM
> >> transceiver. The Linux board could be any ARM board capable of running
> >> a supported Linux distribution and providing a decent interface to a
> >> 7-9 inch LCD screen with touch controller. My setup is fully described
> >> in a Youtube video I mentioned before.
> >>
> >> At the moment I have all the hardware components available and have
> >> run the first tests on the air. The software was first based on
> >> Kristoff's Codec2-GMSK modem and a Qt user interface designed by me.
> >> Although it had worked fine, it required a radio with a data port,
> >> which meant portable ops were restricted to a very narrow list of
> >> handheld radios.
> >>
> >> Since then, I thought of using the huge power of the Gnuradio
> >> ecosystem to design my own modems that could go through the audio
> >> passband of a handheld. I have learned many things during this
> >> process, especially that I can very quickly prototype and test a modem
> >> without going too deep in the maths, which has never been my strong
> >> point.
> >>
> >> My findings are somewhat surprising: I can use any of the modems over
> >> a narrow FM channel, but there are a few which perform well enough for
> >> my purposes.
> >> Considering a RF chain composed o

Re: [Freetel-codec2] 4FSK modem performance

2016-03-06 Thread Brady O'Brien
Glen,

I think the extra perf we're expecting comes from the tone spacing and RRC
filtering in DMR. For ideal non-coherent 4FSK, the tones should be spaced
Rs apart. The tone spacing of DMR is 1296 Hz, as you've said above. David
wrote it up here: http://www.rowetel.com/blog/?p=4650 .

Thanks,

Brady O'Brien

On Sun, Mar 6, 2016 at 10:29 PM, glen english <g...@cortexrf.com.au> wrote:

> Hi David
>
> I too am a fan of 4FSK. Just the right amount of complexity/ tradeoffs.
>
> How are you doing 10dB better than DMR (which also uses 4FSK) when the
> symbol rate is 1/4 that of DMR  (implying 6dB would be more like it) ?
> different rolloff ?
>
> Peak deviation of DMR is ± 1.944kHz. "half" deviation is ± 648 Hz.
>
> or D = 3h/2T
>
> regards
>
> On 7/03/2016 10:08 AM, David Rowe wrote:
> > Hi Adrian,
> >
> > Modem performance and trade offs like RF bandwidth is something I have
> > been studying, e.g. this one compares various modulation schemes for
> > digital voice:
> >
> >http://www.rowetel.com/blog/?p=4663
> >
> > and many other posts.  There seems to be a lot of "low hanging fruit" in
> > the area of modems - opportunities to significantly improve our
> > communications systems with a small amount of effort.
> >
> > Yes for FSK you need Rs Hz (symbol rate) between the tones to get the
> > best BER performance at a given SNR.  Many services, such a C4FM, DMR,
> > use a smaller spacing and cop the performance hit, presumably to save
> > bandwidth.
> >
> > Yes mPSK can be very bandwidth efficient, especially with high order
> > constellations.  However it's hard to get the theoretical performance of
> > PSK in practical implementations.  For example to avoid phase estimation
> > using DQPSK means double the bit error rate of coherent PSK.
> >
> > I've found it's very easy to get "ideal" (bang on theoretical)
> > performance from FSK modems.  They go through crappy PAs.  The receivers
> > don't need a linear signal path or AGC. For the VHF FreeDV modem and
> > SM2000 I've settled on non-coherent 4FSK at 1200 symbols (2400 bits) per
> > second.  It's 5kHz bandwidth, and performance is just 2dB off coherent
> > PSK.  The combination outperforms analog FM and DMR by > 10dB.
> >
> > You can actually put unfiltered BPSK through a non linear amplifier, for
> > example use an XOR gate for the "mixer" to reverse the phase of the
> > carrier.  This can be friendly to other users of spectrum if you broadly
> > filter say 10Rs wide to reduce way out of band emissions.
> >
> > I've found this PDF from Atlanta Signal Processing to be a great
> overview:
> >
> > http://www.atlantarf.com/FSK_Modulation.php
> >
> > Cheers,
> >
> > David
> >
> > On 07/03/16 07:37, Adrian Musceac wrote:
> >> Hi David,
> >>
> >> Since you mentioned working on a 4FSK modem, I have started to model
> >> one using Gnuradio and test it over a noisy channel.
> >> My question is: since to maintain a reasonable bandwidth of the signal
> >> you have to do heavy pulse shaping and not use orthogonal freqencies,
> >> how do you manage a reasonable BER?
> >> By my simulations, 4FSK requires orthogonal tones in order to still
> >> get a reasonable decode error with a noisy channel. That creates a
> >> signal with a huge bandwidth, especially compared with DQPSK which for
> >> less bandwidth handles noise a lot better. Of course QPSK requires
> >> high linearity of the amplifier, which is why my next step is to
> >> investigate PI/4 DQPSK which is used as modulation scheme by the Tetra
> >> standard.
> >>
> >> >From my experiments so far, given a fixed bandwidth and a noise
> >> spectrum with the same power, the ranking from best to worst in BER
> >> is: DBPSK > DQPSK > 2FSK, GMSK, 4FSK
> >>
> >> Can you confirm this using you mathematical knowledge?
> >>
> >> Cheers,
> >> Adrian
> >>
> >>
> --
> >> ___
> >> 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
> > http

Re: [Freetel-codec2] Codec2 Container Format // spare bits and VBR

2016-02-18 Thread Brady O'Brien
The reason for the holes in the c2enc/c2dec produced files is a result of
the codec frames not being perfect byte multiples and the files not being
meant for use as a distribution container. c2dec/c2enc are meant to be used
to test out new codec2 modes and (codec frame size aware) modems. For
example, frames of codec2 1300 are 40ms long and 52 bits, or 6.5 bytes
long. The modems these frames are sent over are aware of the exact length
of codec frames, so the byte sizing is not an issue. I think the best
course of action for codec2 in audio distribution would be to write a new
pair of encode/decode utilities, and an actual container format, separate
from c2enc and c2dec.

-Brady OBrien

On Thu, Feb 18, 2016 at 2:52 AM, Tomas Härdin  wrote:

> On 2016-02-18 07:51, s...@gmx.de wrote:
> > Am 17.02.2016 um 12:59 schrieb Tomas Härdin:
> >> Extradata is whatever metadata you need to interpret the raw codec data.
> >> [...] You put such data in the header of your
> >> file [...]
> > Ok then that's just what my header did, but i will still have to
> > reconsider it, as i'll explain below..
> >
> >> Having to parse a whole file just to be able to seek in it is no fun,
> >> which is why seeking in .mp3 and .ogg is such a pain. Having an index
> >> would be highly preferable. I have a feeling we can cross the VBR bridge
> >> when we get to it, so to say. I'm not sure I've heard David mention it
> >> even once, so let's not worry too much about it
> > Well an index would be difficult for contiguous streams, also my
> > suggestion needn't read the whole file but could skip chunks of about 5s
> > (20ms codec2) to 10s (40ms codec2), i think such a seeking would be
> > bearable.
> >
> >> One potentially good, simple choice occurs to me: .wav. You can put
> >> compressed audio in it, there's space reserved for extradata, and it has
> >> widespread support and it's hard to mess up writing them. You can even
> >> stream them. You just need to come up with a suitable TWOCC ('c2'
> perhaps)
> > Hm i've looked into .wav, it seems it could be used for cbr-codec2-files
> > indeed, but i couldn't find out how to store contiguous streams as it
> > always seems to need the size of the compressed and uncompressed data
> > before.
> >
> >
> > Probably the whole discussion about a container format is too early, as
> > i just analyzed the output of c2enc and it seemes not to be in best
> > shape for putting it into a container yet, there are many spare bits and
> > repetitions, so even with huffman coding there could be saved a lot of
> > space, eg 700B seems to have 5 of 32 bits that are just zero every
> > frame, 700 has even 6 of 32 bits, such alignment seems ridiculous for an
> > ultra low bitrate audio codec, so is there already a tool for removing
> > the spare bits, or why are they left inside?
> >
> > I also did a small test with binary VBR (replacing breaks by RLE), seems
> > that could really increase the compression ratio with small loss, so i'd
> > really suggest including metadata for VBR into codec2, then this whole
> > discussion about extradata for bitrate would be obsolete anyway.
> >
> > /Simon
>
> Yes, there's still plenty of correlation in the bitstream which suggests
> compression improvements are still possible. Just load
> adventuresherlockholmes_01_doyle.c2 in GIMP as a 700x1024 8-bit raw
> image and patterns are obvious. You could chalk such things up to codec2
> being made for running live with considerable packet loss, so a bit of
> redundancy is actually a good thing
>
> Use cases like compressing audio books might call for a separate mode.
> You could also get some gains by preprocessing the data, like squelching
> quiet areas completely. Any codec would produce highly repetitive output
> in such areas. Then you could use a general-purpose compressor like gzip
> or bzip2 to take care of the repetitions. That way you could perhaps get
> away with using a general-purpose codec like Opus
>
> /Tomas
>
>
> --
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!

Re: [Freetel-codec2] alloc/malloc in fsk

2016-02-15 Thread Brady O'Brien
In the current codebase, I've got all of those wrapped in an ifdef block to
switch between malloc/free and alloca.

On Mon, Feb 15, 2016 at 4:21 PM, Bruce Perens  wrote:

> Malloc is in no way "old school", and is the only way that we should be
> allocating variable-length arrays or any large array at all. You should
> consider that our platform is often an embedded one and the stack may be as
> small as 4k bytes.
>
> On Mon, Feb 15, 2016, 17:15 Tomas Härdin  wrote:
>
>> On Sat, 2016-02-13 at 19:45 -0600, Steve wrote:
>> > I was thinking you were creating a monster there with the memory
>> > alloc code.
>> >
>> > I replaced all that with:
>> >
>> > complex float f1_int[sizeof (complex float)*(nsym + 1) * P];
>> > complex float f2_int[sizeof (complex float)*(nsym + 1) * P];
>> > complex float f3_int[sizeof (complex float)*(nsym + 1) * P];
>> > complex float f4_int[sizeof (complex float)*(nsym + 1) * P];
>> > complex float f1_intbuf[sizeof (complex float) * Ts];
>> > complex float f2_intbuf[sizeof (complex float) * Ts];
>> > complex float f3_intbuf[sizeof (complex float) * Ts];
>> > complex float f4_intbuf[sizeof (complex float) * Ts];
>> >
>> > Poof!
>>
>> Not sure if it's a priority, but VLAs don't work on Visual Studio's C
>> compiler. Since there are Windows builds on freedv.org I'm assuming
>> this is important (unless you're using gcc via MSYS or something like
>> c99-to-c89)
>>
>> /Tomas
>>
>>
>> --
>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>> Monitor end-to-end web transactions and take corrective actions now
>> Troubleshoot faster and improve end-user experience. Signup Now!
>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
>> ___
>> Freetel-codec2 mailing list
>> Freetel-codec2@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>
>
>
> --
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
>
--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151=/4140___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] DMR portable - firmware replacement possible

2016-02-01 Thread Brady O'Brien
It's probably possible to get something running on it, but it looks like
the MD380 uses the same sort of analog FM+DSP mod/demod architecture that
most of these digital VHF/UHF radios do. We're targeting a more direct SDR
approach with the SM2000 and VHF FreeDV, as the analog FM+DSP leaves a lot
of performance on the ground (see http://www.rowetel.com/blog/?p=4650).



On Mon, Feb 1, 2016 at 1:57 PM, Simon Wood  wrote:

> Hi all,
> It looks like Travis Goodspeed is being mighty neighborly... and has
> reversed the update process _and_ firmware of the MD380 DMR-talkie enough
> to allow complete control and re-programming of the radio.
>
> http://phasenoise.livejournal.com/1142.html
>
> This might be a _really_ good target for a VHF/UHF Codec2 project.
> Simon.
>
> 
> Feb 01
> Simon Wood
> @mungewell
>
> @travisgoodspeed Awesome work on the MD380! You mentioned possibility of
> other protocols, is there enough juice to implement (open) CODEC2?
> 
> Feb 01
> Travis Goodspeed
> @travisgoodspeed
>
> @mungewell Probably yes. Codec2 has already been ported to the STM32F405
> and the AMBE emulator code is isolated to its own thread.
>
>
>
> --
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140
> ___
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Beginnings of virtual EEPROM support

2015-09-26 Thread Brady O'Brien
It may be worth adding __attribute__((packed)) to the in-flash structs to
ensure GCC doesn't add any padding.

On Sat, Sep 26, 2015 at 3:35 PM, David Rowe  wrote:

> The data sheet has 10k cycles as the endurance, with some flash
> parameters measured after 100k cycles.  10 years retention at 105C, 30
> at 55C.
>
> - David
>
> On 26/09/15 21:55, glen english wrote:
> > Good work Stuart
> >
> > "
> >
> > I'm not sure what the actual cycle limit is on these flash devices,"
> >
> > READ THE DATASHEET
> >
> > It does vary  between STM32 devices. Don't rely on any more than 1000,
> given extremes of temp.
> >
> > glen.
> >
> >
> > On 26/09/2015 10:00 PM, Stuart Longland wrote:
> >> Hi all,
> >>
> >> Well, I'm getting it to store something in EEPROM, but not successfully
> >> retrieving it yet.  This is my own creation rather than ST's.
> >>
> >> I've told the linker to set aside the region of flash between 0x08004000
> >> and 0x0801.  This gives us 3 16kB sectors of flash to play with,
> >> should be heaps.
> >>
> >> I've attempted some wear levelling and checksumming in this too.  It is,
> >> in short, a very crude file system, capable of 256 "ROM files",
> >> identified by a numeric ID, and of arbitrary length.
> >>
> >> It is somewhat inspired by UBI.
> >>
> >> After flashing, this is what the content looks like:
> >>> RC=0 stuartl@vk4msl-mb ~/projects/sm1000/codec2/stm32 $ rm
> sm1000-tmp.bin;sudo dfu-util -d 0483:df11 -c 1 -i 0 -a 0 -s
> 0x08004000:49152 -U sm1000-tmp.bin
> >>> rm: remove write-protected regular file ‘sm1000-tmp.bin’? y
> >>> dfu-util 0.7
> >>>
> >>> Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
> >>> Copyright 2010-2012 Tormod Volden and Stefan Schmidt
> >>> This program is Free Software and has ABSOLUTELY NO WARRANTY
> >>> Please report bugs to dfu-u...@lists.gnumonks.org
> >>>
> >>> Filter on vendor = 0x0483 product = 0xdf11
> >>> Opening DFU capable USB device... ID 0483:df11
> >>> Run-time device DFU version 011a
> >>> Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=0, name="@Internal
> Flash  /0x0800/04*016Kg,01*064Kg,07*128Kg"
> >>> Claiming USB DFU Interface...
> >>> Setting Alternate Setting #0 ...
> >>> Determining device status: state = dfuERROR, status = 10
> >>> dfuERROR, clearing status
> >>> Determining device status: state = dfuIDLE, status = 0
> >>> dfuIDLE, continuing
> >>> DFU mode device DFU version 011a
> >>> Device returned transfer size 2048
> >>> DfuSe interface name: "Internal Flash  "
> >>> bytes_per_hash=2048
> >>> Starting upload: [###] finished!
> >>> RC=0 stuartl@vk4msl-mb ~/projects/sm1000/codec2/stm32 $ hexdump -x
> sm1000-tmp.bin
> >>> 000
> >>> *
> >>> 000c000
> >> If I enter the menu, then exit (I'll have to set a flag somewhere that
> >> indicates a save is pending), I get this:
> >>
> >>> RC=0 stuartl@vk4msl-mb ~/projects/sm1000/codec2/stm32 $ rm
> sm1000-tmp.bin;sudo dfu-util -d 0483:df11 -c 1 -i 0 -a 0 -s
> 0x08004000:49152 -U sm1000-tmp.bin
> >>> rm: remove write-protected regular file ‘sm1000-tmp.bin’? y
> >>> dfu-util 0.7
> >>>
> >>> Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
> >>> Copyright 2010-2012 Tormod Volden and Stefan Schmidt
> >>> This program is Free Software and has ABSOLUTELY NO WARRANTY
> >>> Please report bugs to dfu-u...@lists.gnumonks.org
> >>>
> >>> Filter on vendor = 0x0483 product = 0xdf11
> >>> Opening DFU capable USB device... ID 0483:df11
> >>> Run-time device DFU version 011a
> >>> Found DFU: [0483:df11] devnum=0, cfg=1, intf=0, alt=0, name="@Internal
> Flash  /0x0800/04*016Kg,01*064Kg,07*128Kg"
> >>> Claiming USB DFU Interface...
> >>> Setting Alternate Setting #0 ...
> >>> Determining device status: state = dfuERROR, status = 10
> >>> dfuERROR, clearing status
> >>> Determining device status: state = dfuIDLE, status = 0
> >>> dfuIDLE, continuing
> >>> DFU mode device DFU version 011a
> >>> Device returned transfer size 2048
> >>> DfuSe interface name: "Internal Flash  "
> >>> bytes_per_hash=2048
> >>> Starting upload: [###] finished!
> >>> RC=0 stuartl@vk4msl-mb ~/projects/sm1000/codec2/stm32 $ hexdump -x
> sm1000-tmp.bin
> >>> 00086a00001
> >>> 010
> >>> *
> >>> 000c000
> >> The blocks are 256 bytes in size.  The first block of each sector is the
> >> index block, and it marks what state each block in the sector is in.  It
> >> also counts down the number of remaining erase counts.
> >>
> >> I'm not sure what the actual cycle limit is on these flash devices, I've
> >> guessed 10 program/erase cycles.  0x000186a0 == 10.  So that bit
> >> works. ;-)
> >>
> >> The remaining blocks have a header with the following content:
> >> - 32-bit CRC (this is done by the hardware CRC module)
> >> - 8-bit ROM ID
> >> - 

Re: [Freetel-codec2] SM1000 Menu-driven firmware

2015-09-23 Thread Brady O'Brien
STM32 Makefile patches are applied and up in codec2-dev.

On Wed, Sep 23, 2015 at 9:30 AM, Brady O'Brien <brady.obrien...@gmail.com>
wrote:

> Stuart,
>
> The patch to fix the SM1000 firmware build issue after freedv api change
> has been applied to codec2-dev in the SVN repo. Great work! I'll take a
> look at the Makefile patches here later today and probably apply them as
> well.
>
> Thanks,
>
> Brady O'Brien KC9TPA
>
> On Wed, Sep 23, 2015 at 8:52 AM, Walter Holmes <walt...@k5wh.net> wrote:
>
>> Many thanks Stuart,
>>
>>  I have confirmed that this is working fine and decoding at 1600 as
>> expected.
>>
>> We REALLY appreciate your great persistence to getting through all of this
>> to provide some great enhancements.
>>
>> All the best,
>>
>> Walter/K5WH
>>
>> -Original Message-
>> From: Stuart Longland [mailto:stua...@longlandclan.id.au]
>> Sent: Wednesday, September 23, 2015 5:28 AM
>> To: digitalvoice@googlegroups com <digitalvo...@googlegroups.com>;
>> freetel-codec2@lists.sourceforge.net
>> Subject: [Freetel-codec2] SM1000 Menu-driven firmware
>>
>> Hi all,
>>
>> I've just managed to fix up FreeDV 1600 support in my patchset, turns out
>> some files in the firmware really need to be built -O3, not -O0 as is
>> default, Oops!
>>
>> So, without further ado, I've rebased off Subversion HEAD of the codec2
>> repository, and I now have a *working* firmware image.  Adventurous people
>> can try it out here:
>>
>> http://stuartl.longlandclan.id.au/freedv/sm1000/2015-09-23/
>>
>> Those looking for a git repository, I've thrown the lot up here:
>>
>> http://git.longlandclan.yi.org/?p=for-upstream/freedv/codec2.git
>>
>> The individual patch sets are separate branches.
>> --
>> Stuart Longland (aka Redhatter, VK4MSL)
>>
>> I haven't lost my mind...
>>   ...it's backed up on a tape somewhere.
>>
>>
>> 
>> --
>> Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
>> Get real-time metrics from all of your servers, apps and tools in one
>> place.
>> SourceForge users - Click here to start your Free Trial of Datadog now!
>> http://pubads.g.doubleclick.net/gampad/clk?id=241902991=/4140
>> ___
>> Freetel-codec2 mailing list
>> Freetel-codec2@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>
>>
>>
>> --
>> Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
>> Get real-time metrics from all of your servers, apps and tools
>> in one place.
>> SourceForge users - Click here to start your Free Trial of Datadog now!
>> http://pubads.g.doubleclick.net/gampad/clk?id=241902991=/4140
>> ___
>> Freetel-codec2 mailing list
>> Freetel-codec2@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>
>
>
--
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991=/4140___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


Re: [Freetel-codec2] Silly question regarding SM-1000 sample rate

2015-09-19 Thread Brady O'Brien
I don't think a linear interpolator would work here. There's quite a bit of
attenuation in the 0-Fs/4 band (~8dB by Fs/8) and only around -28dB on the
aliases. -28dB might be enough for the aliases, but I don't think it's flat
enough in the Fs/4 band to be useful.

https://ccrma.stanford.edu/~jos/pasp/Linear_Interpolation_Frequency_Response.html

On Sat, Sep 19, 2015 at 4:03 PM, Stuart Longland  wrote:

> On 20/09/15 03:43, Tomas Härdin wrote:
> > Couldn't you do further low-pass filtering in software, then decimate to
> > 8 kHz? (caveat: I haven't checked if the code actually does this)
>
> That's exactly what it does.  It samples at 16kHz from the ADC, filters
> it to produce an 8kHz stream.
>
> Actually a thought just occurred, could we just do nearest-neighbour
> upsampling to get back to 16kHz?
>
> I'll admit I havent looked at what algorithm is used to do the
> resampling, however this is not a device that will be used by
> audiophiles (it doesn't do 192kHz 32-bit FLAC for starters) so linear
> interpolation or nearest-neighbour would probably work for getting it
> back to 16kHz.
> --
> Stuart Longland (aka Redhatter, VK4MSL)
>
> I haven't lost my mind...
>   ...it's backed up on a tape somewhere.
>
>
> --
> ___
> 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


Re: [Freetel-codec2] Tone generator, sound effects for the SM1000.

2015-09-18 Thread Brady O'Brien
Stuart,
There's no way to check the DAC fifo use right now. stm32f4_dac.c uses a
pair of fifos from fifo.c and codec2_fifo.h internally, but wraps them in
dac1_write and dac2_write. It would, however, be trivial to add a
dacN_fifo_free or dacN_free to stm32f4_dac.c and stm32f4_dac.h.

On Fri, Sep 18, 2015 at 7:13 PM, Stuart Longland <stua...@longlandclan.id.au
> wrote:

> On 19/09/15 10:08, Brady O'Brien wrote:
> > Also, If you've got an STM32F4 Discovery (and probably other
> > stm32*discovery boards with stlink), you should be able to use the
> > onboard stlink debugger with the SM1000. SWD is broken out on header CN1
> > of the SM1000D.
>
> Yeah, I don't at this point, otherwise I'd be using that to develop
> since it probably has headers for JTAG too.  I have a little Olimex JTAG
> dongle I use for debugging on Cortex M3 boards, which makes life a lot
> easier.
>
> > On Fri, Sep 18, 2015 at 7:04 PM, Brady O'Brien
> > <brady.obrien...@gmail.com <mailto:brady.obrien...@gmail.com>> wrote:
> >
> >
> > I'm pretty sure dac_write is nonblocking. If memory serves me
> > correctly, it returns -1 if there's not enough free space in the
> > fifo, 0 otherwise.
>
> Ahh bingo!  Right, I'll check for that and see what happens.  Is there a
> way to see how much space there is in the FIFO?
>
> Otherwise I've got to try and guess, then "re-wind" N samples to try and
> play them again later, or stash them somewhere to be retried.
> --
> Stuart Longland (aka Redhatter, VK4MSL)
>
> I haven't lost my mind...
>   ...it's backed up on a tape somewhere.
>
>
> --
> ___
> 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


Re: [Freetel-codec2] Tone generator, sound effects for the SM1000.

2015-09-18 Thread Brady O'Brien
Stuart,

Are you developing under codec2-dev from the SVN repository? I could add a
dacN_fifo_free to stm32f4_dac.c and push it up for you, if you're not
already moving on it.


On Fri, Sep 18, 2015 at 7:23 PM, Brady O'Brien <brady.obrien...@gmail.com>
wrote:

> Stuart,
> There's no way to check the DAC fifo use right now. stm32f4_dac.c uses a
> pair of fifos from fifo.c and codec2_fifo.h internally, but wraps them in
> dac1_write and dac2_write. It would, however, be trivial to add a
> dacN_fifo_free or dacN_free to stm32f4_dac.c and stm32f4_dac.h.
>
> On Fri, Sep 18, 2015 at 7:13 PM, Stuart Longland <
> stua...@longlandclan.id.au> wrote:
>
>> On 19/09/15 10:08, Brady O'Brien wrote:
>> > Also, If you've got an STM32F4 Discovery (and probably other
>> > stm32*discovery boards with stlink), you should be able to use the
>> > onboard stlink debugger with the SM1000. SWD is broken out on header CN1
>> > of the SM1000D.
>>
>> Yeah, I don't at this point, otherwise I'd be using that to develop
>> since it probably has headers for JTAG too.  I have a little Olimex JTAG
>> dongle I use for debugging on Cortex M3 boards, which makes life a lot
>> easier.
>>
>> > On Fri, Sep 18, 2015 at 7:04 PM, Brady O'Brien
>> > <brady.obrien...@gmail.com <mailto:brady.obrien...@gmail.com>> wrote:
>> >
>> >
>> > I'm pretty sure dac_write is nonblocking. If memory serves me
>> > correctly, it returns -1 if there's not enough free space in the
>> > fifo, 0 otherwise.
>>
>> Ahh bingo!  Right, I'll check for that and see what happens.  Is there a
>> way to see how much space there is in the FIFO?
>>
>> Otherwise I've got to try and guess, then "re-wind" N samples to try and
>> play them again later, or stash them somewhere to be retried.
>> --
>> Stuart Longland (aka Redhatter, VK4MSL)
>>
>> I haven't lost my mind...
>>   ...it's backed up on a tape somewhere.
>>
>>
>> --
>> ___
>> 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


Re: [Freetel-codec2] Tone generator, sound effects for the SM1000.

2015-09-18 Thread Brady O'Brien
Stuart,

These patches look good, I'll go ahead and apply them to codec2-dev and
commit to SVN. I'll leave the other four patches to David, since they're a
little more substantial.


On Fri, Sep 18, 2015 at 7:35 PM, Stuart Longland <stua...@longlandclan.id.au
> wrote:

> On 19/09/15 10:29, Brady O'Brien wrote:
> >
> > Are you developing under codec2-dev from the SVN repository? I could add
> > a dacN_fifo_free to stm32f4_dac.c and push it up for you, if you're not
> > already moving on it.
>
> I'm not directly working from SVN, but rather a `git svn clone`
> check-out of it so that I can commit my changes.  In any case, you were
> right, it was trivial to add.
> --
> Stuart Longland (aka Redhatter, VK4MSL)
>
> I haven't lost my mind...
>   ...it's backed up on a tape somewhere.
>
>
> --
>
> ___
> 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


Re: [Freetel-codec2] Tone generator, sound effects for the SM1000.

2015-09-18 Thread Brady O'Brien
The fifo and dac patches have been applied to codec2-dev and committed to
the SVN repo.

Thanks for contributing, Stuart!

On Fri, Sep 18, 2015 at 7:44 PM, Brady O'Brien <brady.obrien...@gmail.com>
wrote:

> Stuart,
>
> These patches look good, I'll go ahead and apply them to codec2-dev and
> commit to SVN. I'll leave the other four patches to David, since they're a
> little more substantial.
>
>
> On Fri, Sep 18, 2015 at 7:35 PM, Stuart Longland <
> stua...@longlandclan.id.au> wrote:
>
>> On 19/09/15 10:29, Brady O'Brien wrote:
>> >
>> > Are you developing under codec2-dev from the SVN repository? I could add
>> > a dacN_fifo_free to stm32f4_dac.c and push it up for you, if you're not
>> > already moving on it.
>>
>> I'm not directly working from SVN, but rather a `git svn clone`
>> check-out of it so that I can commit my changes.  In any case, you were
>> right, it was trivial to add.
>> --
>> Stuart Longland (aka Redhatter, VK4MSL)
>>
>> I haven't lost my mind...
>>   ...it's backed up on a tape somewhere.
>>
>>
>> --
>>
>> ___
>> 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


Re: [Freetel-codec2] SM1000 to radio cables

2015-06-10 Thread Brady O'Brien
One thing to keep in mind about the rear data port on the back of some
radios is that they expect 1v p-p or so, much higher than the 50mv out of
the SM1000 rev. D mic port. I ran into this when trying to hook an SM1000
up to my FT-100 through the 6-pin mini-din data port on the back.

On Wed, Jun 10, 2015 at 6:53 AM, Mark Jessop lenniethelemm...@gmail.com
wrote:

 I think a 6-pin Mini-DIN cable should be a must. Lots of radios have this
 connector.

 - Mark

 On Wed, Jun 10, 2015 at 6:33 PM, Michael Lodico k...@matrix-computers.com
  wrote:

 Hi David,

 What I would like to see is for the Yeasu FT-857D and the FT-890.

 73 de K1EG
 Mike





 --
 ___
 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


Re: [Freetel-codec2] VHF Frontend for SDR !!!!!

2015-04-23 Thread Brady O'Brien
Glen, Shane, Bruce, and everyone else on the list:

Thanks for looking over the frontend and giving me these suggestions!

Based on what everyone's suggested, I have quite a few changes to make:
- Replace PIN diode rf switches and biasing with 'canned' RF switches
(SKY13351-378LF
?)
- Remove 2n5109 amplifier
--- I probably don't need the extra gain right now and can figure it out
later if I do
- Replace 10v vtx/vrx with 5v vtx/vrx
--- MMIC Amplifiers don't need 10v; the only thing keeping it there was the
2n5109
- Change the mixer BPF
--- Switch to topology that supports looser components
--- or use filter module

I'll probably keep the MMIC amplifiers I'm using now as the are not too
expensive and unconditionally stable, although, it might not hurt to use
something with a lower NF on the receive side.

A couple more notes about the frontend and IF side:
- I plan to use a 10.7 Mhz IF, as narrow monolithic filters are available
for that frequency and it's possible to reach from the STM32 through
undersampling
- This board will be fabricated by OSH Park on their 4 layer stackup. All
of the RF carrying tracks are (in the current layout) 50 ohm microstrips


Thanks,

Brady O'Brien KC9TPA

On Thu, Apr 16, 2015 at 3:42 PM, glen english g...@cortexrf.com.au wrote:

 Bradly

 You must define what are the enemies of the receiver.

 A zero frequency SDR receiver has no IF images.

 but it has alias responses, so the reality is that the baseband filters
 (I and Q) should be 90dB down outside the passband and at the aliases.

 My experience is that this is where effort needs to be spent.

 As long as the front end does not overload (hit the P1dB) then you are
 pretty much OK in that part unless you land a unfortunate / unlucky
 intermod.

 My experience is for this receiver you just need to keep strong FM and
 TV stations from overloading the receiver. if another ham overloads the
 receiver, well so be it.

 The other thing you need to be concerned about are mixer spurs,
 harmonics of the mixer LO, harmonics of the products etc.
 Hence the good IQ LPFs.

 or if you have a low IF receiver, just watch the converter aliases.



 if you do need a front end bandpass

 try this one  Bradly

 probably an overkill for a mobile/portable.

 http://www.temwell.com.tw/PDF/TT67709B-146M-Performance.pdf

 or

 suggest triple tuned circuit, top coupled C,  using T25-2s and fixed
 caps with cap divider at each end.
 adjust by squeezing the toroid inductors. you should be able to operate
 it at a loaded Q of 15 with reasonable loss.



 regards

 On 14/04/2015 12:37 PM, Brady O'Brien wrote:
  Hi everybody,
 
  I've been helping out with the development of VHF and up FreeDV and the
 minimalist VHF SDR. I've gotten to the point, on the analog side of things,
 that it seems appropriate to get a board made. What I've designed is a VHF
 frontend for further experimentation. It's based heavily on the VHF section
 of the DSP-10



 --
 BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
 Develop your own process in accordance with the BPMN 2 standard
 Learn Process modeling best practices with Bonita BPM through live
 exercises
 http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual-
 event?utm_
 source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF
 ___
 Freetel-codec2 mailing list
 Freetel-codec2@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/freetel-codec2

--
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2


[Freetel-codec2] VHF Frontend for VHF experimentation

2015-04-13 Thread Brady O'Brien
Hi everybody,

I've been helping out with the development of VHF and up FreeDV and
the minimalist VHF SDR. I've gotten to the point, on the analog side
of things, that it seems appropriate to get a board made. What I've
designed is a VHF frontend for further experimentation. It's based
heavily on the VHF section of the DSP-10 transceiver, a DSP based
radio described in the links below. Before I buy parts and send the
board off for fabrication, I'd like someone with a little more radio
design experience look over the schematic and maybe PCB layout. I'm
using Kicad to design this. As this board is just a stepping stone,
I'm going to keep it out of the Freetel SVN repo, at least for now.


Schematic for the front end:
https://github.com/baobrien/vhf-radio/blob/master/exp-1/exp-1.pdf
Github repo: https://github.com/baobrien/vhf-radio

DSP-10 Part 1: 
http://www.arrl.org/files/file/Technology/tis/info/pdf/9909033.pdf
DSP-10 Part 2: 
http://www.arrl.org/files/file/Technology/tis/info/pdf/9910034.pdf
DSP-10 Part 3: 
http://www.arrl.org/files/file/Technology/tis/info/pdf/9911042.pdf

Thanks,

Brady O'Brien KC9TPA
--
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15utm_medium=emailutm_campaign=VA_SF___
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2