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

Viterbi algorithm #3

Open
artrag opened this issue Apr 2, 2022 · 2 comments
Open

Viterbi algorithm #3

artrag opened this issue Apr 2, 2022 · 2 comments

Comments

@artrag
Copy link

artrag commented Apr 2, 2022

I'm the original author of the encoder. The optimisation is an implementation of the Viterbi algorithm able to tracks the state transitions of the output levels of the 3 channels of the PSG. The PSG is modelled as a state machine, all the possible state transitions are evaluated at each time step. All paths among states are stored until the end of the sequence, discarding those paths that reach the same PSG state with a worse overall error. At the ened of the encoding sequence, the best path among those survived till there is choosen.

@maxim-zhao
Copy link
Owner

Hi, and thanks for your release all those years ago. I understand how the code works, I just had a hard time linking it back to the probabilistic description at https://en.m.wikipedia.org/wiki/Viterbi_algorithm for example.

@artrag
Copy link
Author

artrag commented Apr 5, 2022

The cost function in my implementation is the mse, which is equivalent to maximize the conditional probability when the error is gaussian.
It is a direct implementation of the Viterbi algorithm as described in many books on digital communications

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

No branches or pull requests

2 participants