minimodem icon indicating copy to clipboard operation
minimodem copied to clipboard

Using a Goertzel filter instead of using the fft

Open aguaviva opened this issue 3 years ago • 10 comments

There you go!

generating the audio:

echo “HELLO” | ./minimodem --tx --ascii --startbits 0 --stopbits 0.0 -f minimodem_hello.wav 8

decoding the audio:

~/github/minimodem/src$ ./minimodem --rx --ascii --startbits 0 --stopbits 0.0 -f minimodem_hello.wav 8
### CARRIER 8.00 @ 1585.0 Hz ###
“HELLO”

### NOCARRIER ndata=12 confidence=8899.333 ampl=2999.792 bps=8.00 (rate perfect) ###

This 'should' close https://github.com/kamalmostafa/minimodem/issues/50 although this is just a quick implementation and I am sure you will want to refactor things a big

Also, note that that Goertzel function is returning the magnitude squared, I'd need a square root but it is not really necessary.

Thanks for this project though!

aguaviva avatar Jun 30 '21 00:06 aguaviva

What's the difference between the two invocations of minimodem in your example?

parkerlreed avatar Jun 30 '21 03:06 parkerlreed

Ops! Nothing, I pasted twice the same invocation. I edited the comment to fix that and added how I generated the audio

aguaviva avatar Jun 30 '21 08:06 aguaviva

@kamalmostafa I hope you have a chance soon to look at this :)

aguaviva avatar Jul 06 '21 15:07 aguaviva

@aguaviva Yes, your Goertzel implementation is quite interesting! I'll set aside some time to review this and respond soon.

kamalmostafa avatar Jul 06 '21 20:07 kamalmostafa

@aguaviva Yes, your Goertzel implementation is quite interesting! I'll set aside some time to review this and respond soon.

Awesome! I'll be happy to answer any questions you may have :)

aguaviva avatar Jul 07 '21 11:07 aguaviva

Thanks for this! @aguaviva please see my email reply.

Test merge here, on the tmp/aguaviva-goertzel branch: commit da66d4034ffa1d252dc8df9d44c2a60ae1928104

Merge to master pending resolution of rx "ampl=" test-case failures: https://github.com/kamalmostafa/minimodem/runs/3093947230

kamalmostafa avatar Jul 17 '21 19:07 kamalmostafa

Hi @aguaviva -- Did you receive my email 2021-07-17 Subject: "minimodem Goertzel implementataion"? Please reply, or let me know here if you didn't.

kamalmostafa avatar Aug 14 '21 15:08 kamalmostafa

hey, I am going to look at things now. Sorry for the delay.

aguaviva avatar Aug 16 '21 21:08 aguaviva

hey @kamalmostafa, please consider my PR a proof of concept and feel free to refactor it in anyway you see fit.

aguaviva avatar Apr 04 '22 11:04 aguaviva

Any updates on this?

aguaviva avatar Sep 17 '22 17:09 aguaviva