Skip to content
New issue

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

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

Already on GitHub? # 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?

# for free to join this conversation on GitHub. Already have an account? # 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