摘要 |
PURPOSE: A system and method for embodying an interleaver and a deinterleaver in accordance with ADSL DMT(Discrete Multi Tone) standards is provided to simply and rapidly embody a convolution interleaver/deinterleaver algorithm with an N*D-byte memory even though code word size(N) and code word depth(D) are variable. CONSTITUTION: Code word size(N) and code word depth(D) are determined, a read address and a write address are initialized, the first data inputted are temporarily stored, and the other variables are initialized(s10). When N is even, virtual dummy data are calculated to make N into an odd number(s12). If N is odd, N*D is allocated to ND(s13) and a jump address is determined(s14). If D sets of N code words are inputted, the first address to use the Tth N code words is determined, where T is 1 for the first N code words are T=1, T is 2 for the second N code words, and T is D for the last N code words(s16,s17). A RAM memory address is allocated and data are actually read and written(s18,s19). The next data bytes are inputted and temporarily stored(s20,s21). If I is N(s22), T+1 is allocated to T(s23). Then, if T is smaller than D(s24), the algorithm is returned to 's16'. If T is larger than D, the algorithm is returned to 's15'.
|