Abstract:
A method and apparatus is disclosed for providing modulation or compression encoding and decoding. A decoder effectuates a direct enumeration algorithm to accomplish a mapping and includes a ROM (1204) for receiving a signal representing each bit and the number of bits that have been processed and producing a signal representing an element in an array of numbers held in the ROM. An adder (1102) receives the output from the ROM and each bit of the codework. A storage register (1104) stores the output of the adder and the output of the register is connected to the inputs of the adder. Logic AND gates (1106-1108) receive the output of the adder and the signal representing the number of bits processed and output the decoded codeword. An encoder which shares a common part with the decoder effectuates an inverse enumeration algorithm to accomplish an inverse mapping.
Abstract:
A method of and apparatus for providing error correction coding for a block of user data is disclosed in which the user data (101) is initially modulated by a first modulator (102) and then the modulated user data (108) is error correction encoded to produce a first plurality of check bits (106). The first plurality of check bits are then modulated by a second modulator (114) whose output is then fed to a second error correction (120) which produces a second plurality of check bits (118). The modulated user data, the first plurality of check bits and the second plurality of check bits are all fed to a shift register (128) where the error correction encoded user data block is formed. The present invention is useful with magnetic and optical storage devices.
Abstract:
L'invention se rapporte à un procédé et à un appareil de codage et de décodage par modulation ou par compression, dans lesquels un décodeur effectue un algorithme d'énumération directe pour produire une topographie et contient une mémoire morte (ROM) (1204) destinée à recevoir un signal représentant chaque bit et le nombre de bits qui ont été traités et produisant un signal représentant un élément dans un réseau matriciel de nombres contenu dans la mémoire ROM. Un additionneur (1102) reçoit la sortie provenant de la mémoire ROM et chaque bit du mot de code. Un registre de stockage (1104) stocke la sortie de l'additionneur et la sortie du registre est connectée aux entrées de l'additionneur. Des portes ET logique (1106-1108) reçoivent la sortie de l'additionneur et le signal représentant le nombre de bits traités et sortent le mot de code décodé. Un codeur, qui partage une partie commune avec le décodeur, effectue un algorithme d'énumération inverse pour produire une topographie inverse.