mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-31 13:10:19 -04:00 
			
		
		
		
	Add software for Golay(24,12) lookup table.
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@6414 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
This commit is contained in:
		
							parent
							
								
									eecf44782c
								
							
						
					
					
						commit
						dc0ed894f6
					
				
							
								
								
									
										28
									
								
								lib/golay24_table.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								lib/golay24_table.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | ||||
| void golay24_table_(int cw[]) | ||||
| { | ||||
|   // Compute arnd return the table of 4096 codewords for the Golay (24,12) code.
 | ||||
| 
 | ||||
|   // Array y contains the twelve rows (columns) of the parity-check matrix
 | ||||
|   int y[12] = { 0x7ff, 0xee2, 0xdc5, 0xb8b, 0xf16, 0xe2d, | ||||
| 		0xc5b, 0x8b7, 0x96e, 0xadc, 0xdb8, 0xb71 }; | ||||
| 
 | ||||
|   int c[2];          /* Codeword composed of 12-bit info and 12-bit parity */ | ||||
| 
 | ||||
| 
 | ||||
|   int i,j,k; | ||||
|   int aux; | ||||
|   int weight(int vector);  | ||||
| 
 | ||||
|   for(k=0; k<4096; k++) { | ||||
|     c[0] = k; | ||||
|     c[1] = 0; | ||||
|     for (i=0; i<12; i++) { | ||||
|       aux = 0; | ||||
|       for (j=0; j<12; j++) { | ||||
| 	aux = aux ^ ((c[0] & y[i]) >> j & 1); | ||||
|       } | ||||
|       c[1] = (c[1] << 1) ^ aux; | ||||
|     } | ||||
|     cw[k]=4096*c[0] + c[1]; | ||||
|   } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user