Patent ID: 6839870

Claim:
A method for interleaving symbols of an error-correcting code having I symbols in a set, the method comprising: setting a placeholder to an initial location in a memory of size I ⁡ ( I - 1 ) * J 2 + 1 , wherein J is a delay value; for every I symbols received: repetitively counting from a step of 0 to a step of I−1, performing the following: a) setting a write pointer equal to said placeholder; b) if step is 0 , setting said placeholder equal to a read pointer; c) if step is not 0 , advancing said placeholder step*J memory locations, wrapping around if said placeholder value would be past an end of said memory; d) setting said read pointer equal to said placeholder; e) reading out from a location in said memory indicated by said read pointer; and f) writing a next of said I symbols to a location in said memory indicated by said write pointer, unless step is 0 , in which case it is bypassed.