Patent ID: 6848036

Claim:
A process for interleaving data bits or data symbols comprising: receiving and storing burst length data N P , maximum block size data B T and block width data N from a burst profile; calculating the total number of rows I TOT of width N T that can be created from a burst of data N P bits or symbols in length using the equation I TOT =CEIL ( N P /N T ), and storing the value of I TOT ; calculating the maximum number of rows I T,MAX of width N T which can be made from a block of maximum size B T using the equation I T,MAX =FLOOR( B T /N T ) and storing I T,MAX ; calculating the total number of blocks N S of data that can be made from a burst of data bits or symbols of length N P bits or symbols using the equation N S =CEIL ( I TOT /I T,MAX ), and storing N S ; calculating the minimum depth I T,BASE of all blocks in the sequence using the equation I T,BASE =I TOT /N S and storing I T,BASE and the remainder of the division; comparing said remainder to zero; if said remainders is zero, receiving a burst of N P data bits or symbols to be interleaved and storing it as N S blocks having rows of width N T and having I T, BASE rows; and if said remainder is any non zero integer X, receiving a burst of N P bits or symbols to be interleaved, forming N S −X blocks of said data bits or symbols having I T,BASE rows of width N T bits or symbols and forming X blocks of said data having I T, BASE +1 rows of width N T bits or symbols.