⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ham84.c

📁 语音LPC压缩算法源代码(C语音)
💻 C
字号:
/********************************************************************	HAM84 Version 45G*********************************************************************  Hamming 8,4 Decoder - can correct 1 out of seven bits*   and can detect up to two errors.** INPUT:*  INPUT  - Seven bit data word ,4 bits parameter and*           4 bits parity information* OUTPUTS:*  OUTPUT - 4 corrected parameter bits*  ERRCNT - Sums errors detected by Hamming code** This subroutine is entered with an eight bit word in INPUT.*  The 8th bit is parity and is stripped off.  The remaining 7 bits *  address the hamming 8,4 table and the output	OUTPUT from the table*  gives the 4 bits of corrected data.  If bit 4 is set, no error was*  detected.  ERRCNT is the number of errors counted.*/int dactab[128] = {	16,0,0,3,0,5,14,7,0,9,14,11,	14,13,30,14,0,9,2,7,4,7,7,23,9,	25,10,9,12,9,14,7,0,5,2,11,5,21,	6,5,8,11,11,27,12,5,14,11,2,1,18,	2,12,5,2,7,12,9,2,11,28,12,12,15,	0,3,3,19,4,13,6,3,8,13,10,3,13,29,	14,13,4,1,10,3,20,4,4,7,10,9,26,	10,4,13,10,15,8,1,6,3,6,5,22,6,24,	8,8,11,8,13,6,15,1,17,2,1,4,1,6,	15,8,1,10,15,12,15,15,31};void ham84( input, output, errcnt )int input, *output, *errcnt;{int i, j, parity;/*  Determine parity of input word 	*/parity = input & 255;parity = parity ^ parity/16;parity = parity ^ parity/4;parity = parity ^ parity/2;parity = parity & 1;i = dactab[ input&127];*output = i&15;j = i&16;if(j!=0) {/*          No errors detected in seven bits	*/	if(parity!=0) *errcnt++;}else	{/*          One or two errors detected	*/	*errcnt++;	if(parity==0) {/*             Two errors detected	*/		*errcnt++;		*output = -1;	}}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -