(2,1,2)卷积码译码器的JAVA实现

这篇博客介绍了如何使用JAVA编程实现(2,1,2)卷积码的译码过程,详细阐述了关键算法和步骤。" 107240163,9868672,C语言基础:数据类型、变量与运算符,"['C语言基础', '编程入门', '数据类型', '控制结构']
摘要由CSDN通过智能技术生成

本人编写。

package Veteribi;
import java.util.ArrayList;
public class Veterbi {
   
	public static void decoder(StringBuffer received) {
   
		 //  记录四种状态的路径
		StringBuffer route1 = new StringBuffer("0000");  // x00
		StringBuffer route2 = new StringBuffer("0011");  // x10
		StringBuffer route3 = new StringBuffer("1110");  // x01
		StringBuffer route4 = new StringBuffer("1101");  // x11
		
		StringBuffer realway1 = new StringBuffer("00");
		StringBuffer realway2 = new StringBuffer("01");
		StringBuffer realway3 = new StringBuffer("10");
		StringBuffer realway4 = new StringBuffer("11");
		
		

			System.out.println("接收到的数据长度为: " + received.length());
			System.out.println("接收到的数据为 : " + received);
		
		int [] distance = {
   0,0,0,0,0};;  //记录4种状态的最小码距

		int length = received.length();

		distance[0] = 0;
		distance[1] +=  (route1.charAt(0)^received.charAt(0) ) + (route1.charAt(1)^received.charAt(1))
					        + (route1.charAt(2)^received.charAt(2)) +(route1.charAt(3)^received.charAt(3)) ;
		distance[2] +=  (route2.charAt(0)^received.charAt(0) ) + (route2.charAt(1)^received.charAt(1))
		        + (route2.charAt(2)^received.charAt(2)) +(route2.charAt(3)^received.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值