Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using a Goertzel filter instead of using the fft #51

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

aguaviva
Copy link

@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

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

@aguaviva
Copy link
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
Author

aguaviva commented Jul 6, 2021

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

@kamalmostafa
Copy link
Owner

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

@aguaviva
Copy link
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
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
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
Author

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

@aguaviva
Copy link
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
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