<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Viterbi on Lloyd Rochester's Geek Blog</title><link>https://lloydroc.github.io/tags/viterbi/</link><description>Recent content in Viterbi on Lloyd Rochester's Geek Blog</description><generator>Hugo</generator><language>en</language><copyright>Copyright © 2025, Lloyd Rochester.</copyright><lastBuildDate>Sat, 06 Oct 2018 08:30:48 +0000</lastBuildDate><atom:link href="https://lloydroc.github.io/tags/viterbi/index.xml" rel="self" type="application/rss+xml"/><item><title>Viterbi Error Correction</title><link>https://lloydroc.github.io/post/telecom/viterbi-error-correction/</link><pubDate>Sat, 06 Oct 2018 08:30:48 +0000</pubDate><guid>https://lloydroc.github.io/post/telecom/viterbi-error-correction/</guid><description>&lt;h1 id="hahahugoshortcode83s0hbhb">Viterbi Error Correction&lt;/h1>
&lt;p>I&amp;rsquo;ve built a little PSK31 convolutional &lt;a href="https://lloydroc.github.io/psk31/cnvenc/">encoder&lt;/a> and &lt;a href="https://lloydroc.github.io/psk31/cnvdec/">decoder&lt;/a> and originally wanted to make a graph showing the error correction capabilities as a function of encoder output length and number of bit errors into the decoder. Making a long story short; I couldn&amp;rsquo;t devise a good method of creating this graph and stuck to hand making error cases to see the performance of the decoder. Note, the quantization for both the encoder and decoder are hard metrics using the Hamming Distance which doesn&amp;rsquo;t perform as good as soft metrics. First, let&amp;rsquo;s define the convolution encoder input and output.&lt;/p></description></item><item><title>PSK31</title><link>https://lloydroc.github.io/post/telecom/psk31/</link><pubDate>Sun, 16 Sep 2018 14:40:48 +0000</pubDate><guid>https://lloydroc.github.io/post/telecom/psk31/</guid><description>&lt;h1 id="hahahugoshortcode82s0hbhb">PSK31&lt;/h1>
&lt;p>A little side project - that actually turned in to a larger project is an implementation of the &lt;a href="http://www.arrl.org/psk31-spec">PSK31 Specification&lt;/a>. I&amp;rsquo;m hoping to create an Open Source Project likely called &lt;code>OpenPSK31&lt;/code> or something similar. This specification could use some improvements with all the advancements we have in computational power and software over years since the specification was created in 1998. I&amp;rsquo;ve created a place on this site for &lt;a href="https://lloydroc.github.io/psk31">PSK31&lt;/a> to document the project I&amp;rsquo;ve done. Not all the content is there yet, but I&amp;rsquo;ll be blogging about the updates as they come in. A fully working PSK31 system has a lot of moving parts and I hope to power through and get something that can both send and receive PSK31. The focus will be on the QPSK31 part of the specification so the convolutional encoding and decoding is used to correct bit errors.&lt;/p></description></item></channel></rss>