Giter Club home page Giter Club logo

viterbi-algorithm's Introduction

Implementation of Viterbi algorithm

Matlab implementation of Viterbi algorithm with early decision for binary encoding. The code containes several files:

  • trellis.m: returns the trellis structure for the encoding;
  • viterbi_algorithm.m: carries out the choice of the less cost path for the sequence of bits in the window considered, by calling the function get_cost_enter() and then selecting the bits associated with the less cost path with the function backtrack();
  • run.m: randomly generates a signal mapped with the function trellis() and adds some noise. Then call the function viterbi_algorithm() to reconstruct the original signal. This operation is repeted until the Signal-To-Noise rate is below a certain threshold;
  • get_cost_enter.m: computes the cost for a sequence of 2 mapped bits;
  • backtrack.m: reconstructs the original signal from the trellis considered in the trellis() function.

Usage

Choose three window lenghts and the confidence interval size in terms of minimum number of wrong bits in the file run.m: the file plots the trends of the Bit Error Rate over the Signal-To-Noise rate for the three windows chosen.

As displayed in the image, the higher is the delay, the more the BIR of the signal is close to a Viterbi algorithm without windows and consequently, the quickly BIR decreases while SNR increases.

viterbi-algorithm's People

Contributors

irenebenedetto avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.