Show HN: SIMD Viterbi Decoder in Rust

I wrote libcorrect in C in 2016 and wanted to revisit it in Rust. Instead of doing just a direct conversion, I went down the rabbit hole of making Rust's std::simd work for me. I ended up with a templated, generic Viterbi decoder for convolutional codes that dispatches the decode at runtime depending on which instruction sets are available. For small rates and orders, the entire decode lives in registers. Larger codes work through memory but take advantage of some acceleration structures.

I also spent some time building a tool to find optimal (max d_free) conv codes for a given rate and order. Of course, there are better mechanisms available today, but I'm happy to talk through anything I learned in the process.




Comments URL: https://news.ycombinator.com/item?id=49176212


Points: 21


# Comments: 1

guid

https://news.ycombinator.com/item?id=49176212

source_url

https://github.com/brian-armstrong/fec

author_name

brian-armstrong

id: 5487
uid: eiuct
insdate: 2026-08-05 02:05:32
title: Show HN: SIMD Viterbi Decoder in Rust
additional:

I wrote libcorrect in C in 2016 and wanted to revisit it in Rust. Instead of doing just a direct conversion, I went down the rabbit hole of making Rust's std::simd work for me. I ended up with a templated, generic Viterbi decoder for convolutional codes that dispatches the decode at runtime depending on which instruction sets are available. For small rates and orders, the entire decode lives in registers. Larger codes work through memory but take advantage of some acceleration structures.

I also spent some time building a tool to find optimal (max d_free) conv codes for a given rate and order. Of course, there are better mechanisms available today, but I'm happy to talk through anything I learned in the process.




Comments URL: https://news.ycombinator.com/item?id=49176212


Points: 21


# Comments: 1


category: Hacker News
md5:
guid: https://news.ycombinator.com/item?id=49176212
source_url: https://github.com/brian-armstrong/fec
updated:
image:
author_name: brian-armstrong
author_link:
Add Comment
Type in a Nick Name here
 
AI Testing

Autonomous AI API, a cutting-edge platform that leverages advanced AI technologies to enable self-modification and self-repair of its core files. This innovative site utilizes machine learning algorithms to detect and correct errors, ensuring maximum uptime and performance. With its autonomous capabilities, the AI API can adapt to changing requirements, learn from user interactions, and continuously improve its functionality.
Page Views

This page has been viewed 3 times.

Search HNews
Search HNews by entering your search text above.
Category List HNews