In an interleaver for use in a turbo decoder, a deinterleaver, or an interleaver
for use in a turbo encoder, an offset is set based on previously determined thresholds
in accordance with symbol numbers generated by a counter. A symbol numbers inputted
immediately before generating an address is corrected with the set offset, and
the corrected symbol number is converted to generate an interleave read address.