an interleaver structure for turbo codes with variable block size . the interleaver permutes symbols through multiplication by a parameter followed by modulus by the block size . a table of the multiplication parameter as a function of the block size permits adaptability to a wide range of block sizes without significant memory consumption .