Skip to content

Using a Goertzel filter instead of using the fft#51

Open
aguaviva wants to merge 1 commit intokamalmostafa:masterfrom
aguaviva:master
Open

Using a Goertzel filter instead of using the fft#51
aguaviva wants to merge 1 commit intokamalmostafa:masterfrom
aguaviva:master

Conversation

@aguaviva
Copy link
Copy Markdown

@aguaviva aguaviva commented Jun 30, 2021

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 #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!

@parkerlreed
Copy link
Copy Markdown

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

@aguaviva
Copy link
Copy Markdown
Author

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

@aguaviva
Copy link
Copy Markdown
Author

aguaviva commented Jul 6, 2021

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

@kamalmostafa
Copy link
Copy Markdown
Owner

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

@aguaviva
Copy link
Copy Markdown
Author

aguaviva commented Jul 7, 2021

@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 :)

@kamalmostafa
Copy link
Copy Markdown
Owner

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

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

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

@kamalmostafa
Copy link
Copy Markdown
Owner

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.

@aguaviva
Copy link
Copy Markdown
Author

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

@aguaviva
Copy link
Copy Markdown
Author

aguaviva commented Apr 4, 2022

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

@aguaviva
Copy link
Copy Markdown
Author

Any updates on this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

use 2 Goertzel filters instead of the FFT

3 participants