Claims
- 1. A method for interleaving a forward-link paging or traffic channel of a communication system, comprising the steps of:(a) receiving an un-interleaved symbol stream for the forward-link channel; (b) implementing a closed-form expression relating each un-interleaved symbol position to a corresponding interleaved symbol position to generate an interleaved symbol position for each symbol in the un-interleaved symbol stream, wherein the closed-form expression corresponds to two or more different sets of mathematical operations being applied to bits in a binary value representing each un-interleaved symbol position to generate bits in a binary value representing a corresponding interleaved symbol position; and (c) generating an interleaved symbol stream from the un-interleaved symbol stream using the interleaved symbol positions.
- 2. The method of claim 1, wherein:the closed-form expression is given by: NOUT=6×(25c0+24c1+23c2+22c3+21c4+c5)+22c8+2c7+c6 wherein: NOUT is the interleaved symbol position; and the un-interleaved symbol position is represented by the 9-tuple (c8, c7, c6, c5, c4, c3, c2, c1, c0).
- 3. The method of claim 2, wherein the closed-form expression is implemented in software.
- 4. The method of claim 2, wherein the closed-form expression is implemented in hardware.
- 5. The method of claim 4, wherein the closed-form expression is implemented in a single integrated circuit.
- 6. The method of claim 5, wherein the hardware implementation comprises:(1) a modulo-384 or higher counter adapted to generate the 9-tuple (c8, c7, c6, c5, c4, c3, c2, c1, c0) from the un-interleaved symbol position; (2) a bit reversal unit adapted to generate the 6-tuple ( e5, e4, e3, e2, e1, e0) from the 6-tuple (c5, c4, c3, c2, c1, c0) by reversing the order of the bits; (3) a multiply-by-6 block adapted to multiply the value corresponding to the 6-tuple (e5, e4, e3, e2, e1, e0) by 6; and (4) an adder to add the value corresponding to the 3-tuple (c8, c7, c6) and the value generated by the multiply-by-6 block to generate the interleaved symbol position.
- 7. The method of claim 5, wherein the closed-form expression is implemented using a circuit of logic devices corresponding to the following relationships: d0=c6 d1=c5 ⊕ c7CR1=c5 · c7d2=c4 ⊕ c5 ⊕ c8 ⊕ CR1CR2=CR1 + c4·c5 + c4· c8+ c5 · c8d3=c3 ⊕ c4 ⊕ CR2CR3=CR2 · c3+CR2 · c4+ c3 · c4d4=c2 ⊕ c3 ⊕ CR3CR4=CR3 · c2+CR3 · c3+ c2 · c3d5=c1 ⊕ c2 ⊕ CR4CR5=CR4 · c1+CR4 · c2+ c1 · c2d6=c0 ⊕ c1 ⊕ CR5CR6=CR5 · c0+CR5 · c1+ c0 · c1d7=c0 ⊕ CR6 d8=c0 · CR6 where “⊕” represents the logical “XOR” function, “·” represents the logical “AND” function, and “+” represents the logical “OR” function.
- 8. An interleaver for interleaving a forward-link paging or traffic channel of a communication system, comprising:(a) means for receiving an un-interleaved symbol stream for the forward-link channel; (b) means for implementing a closed-form expression relating each un-interleaved symbol position to a corresponding interleaved symbol position to generate an interleaved symbol position for each symbol in the un-interleaved symbol stream, wherein the closed-form expression corresponds to two or more different sets of mathematical operations being applied to bits in a binary value representing each un-interleaved symbol position to generate bits in a binary value representing a corresponding interleaved symbol position; and (c) means for generating an interleaved symbol stream from the un-interleaved symbol stream using the interleaved symbol positions.
- 9. The interleaver of claim 8, wherein:the closed-form expression is given by: NOUT=6×(25c0+24c1+23c2+22c3+21c4+c5)+22c8+2c7+c6 wherein: NOUT is the interleaved symbol position; and the un-interleaved symbol position is represented by the 9-tuple (c8, c7, c6, c5, c4, c3, c2, c1, c0).
- 10. The interleaver of claim 9, wherein the closed-form expression is implemented in software.
- 11. The interleaver of claim 9, wherein the closed-form expression is implemented in hardware.
- 12. The interleaver of claim 11, wherein the closed-form expression is implemented in a single integrated circuit.
- 13. The interleaver of claim 12, wherein the hardware implementation comprises:(1) a modulo-384 or higher counter adapted to generate the 9-tuple (c8, c7, c6, c5, c4, c3, c2, c1, c0) from the un-interleaved symbol position; (2) a bit reversal unit adapted to generate the 6-tuple (e5, e4, e3, e2, e1, e0) from the 6-tuple (c5, c4, c3, c2, c1, c0) by reversing the order of the bits; (3) a multiply-by-6block adapted to multiply the value corresponding to the 6-tuple (e5, e4, e3, e2, e1, e0) by 6; and (4) an adder to add the value corresponding to the 3-tuple (c8, c7, c6) and the value generated by the multiply-by-6 block to generate the interleaved symbol position.
- 14. The interleaver of claim 12, wherein the closed-form expression is implemented using a circuit of logic devices corresponding to the following relationships: d0=c6 d1=c5 ⊕ c7CR1=c5 · c7d2=c4 ⊕ c5 ⊕ c8 ⊕ CR1CR2=CR1 + c4·c5 + c4· c8+ c5 · c8d3=c3 ⊕ c4 ⊕ CR2CR3=CR2 · c3+CR2 · c4+ c3 · c4d4=c2 ⊕ c3 ⊕ CR3CR4=CR3 · c2+CR3 · c3+ c2 · c3d5=c1 ⊕ c2 ⊕ CR4CR5=CR4 · c1+CR4 · c2+ c1 · c2d6=c0 ⊕ c1 ⊕ CR5CR6=CR5 · c0+CR5 · c1+ c0 · c1d7=c0 ⊕ CR6 d8=c0 · CR6 where “⊕” represents the logical “XOR” function, “·” represents the logical “AND” function, and “+” represents the logical “OR” function.
- 15. An integrated circuit having an interleaver for interleaving a forward-link paging or traffic channel of a communication system, wherein the interleaver comprises:(A) a symbol buffer; and (B) an address generation unit adapted to generate symbol addresses for reading un-interleaved symbols from or writing interleaved symbols to the symbol buffer, wherein the address generation unit implements a closed-form expression relating each un-interleaved symbol position to a corresponding interleaved symbol position to generate an interleaved symbol position for each symbol in the un-interleaved symbol stream, wherein the closed-form expression corresponds to two or more different sets of mathematical operations being applied to bits in a binary value representing each un-interleaved symbol position to generate bits in a binary value representing a corresponding interleaved symbol position.
- 16. The integrated circuit of claim 15, wherein:the closed-form expression is given by: NOUT=6×(25c0+24c1+23c2+22c3+21c4+c5)+22c8+2c7+c6 wherein: NOUT is the interleaved symbol position; and the un-interleaved symbol position is represented by the 9-tuple (c8, c7, c6, c5, c4, c3, c2, c1, c0).
- 17. The integrated circuit of claim 16, wherein the address generation unit comprises:(1) a modulo-384 or higher counter adapted to generate the 9-tuple (c8, c7, c6, c5, c4, c3, c2, c1, c0) from the un-interleaved symbol position; (2) a bit reversal unit adapted to generate the 6-tuple (e5, e4, e3, e2, e1, e0) from the 6-tuple (c5, c4, c3, c2, c1, c0) by reversing the order of the bits; (3) a multiply-by-6 block adapted to multiply the value corresponding to the 6-tuple (e5, e4, e3, e2, e1, e0) by 6; and (4) an adder to add the value corresponding to the 3-tuple (c8, c7, C6) and the value generated by the multiply-by-6 block to generate the interleaved symbol position.
- 18. The integrated circuit of claim 16, wherein the closed-form expression is implemented using a circuit of logic devices corresponding to the following relationships: d0=c6 d1=c5 ⊕ c7CR1=c5 · c7d2=c4 ⊕ c5 ⊕ c8 ⊕ CR1CR2=CR1 + c4·c5 + c4· c8+ c5 · c8d3=c3 ⊕ c4 ⊕ CR2CR3=CR2 · c3+CR2 · c4+ c3 · c4d4=c2 ⊕ c3 ⊕ CR3CR4=CR3 · c2+CR3 · c3+ c2 · c3d5=c1 ⊕ c2 ⊕ CR4CR5=CR4 · c1+CR4 · c2+ c1 · c2d6=c0 ⊕ c1 ⊕ CR5CR6=CR5 · c0+CR5 · c1+ c0 · c1d7=c0 ⊕ CR6 d8=c0 · CR6 where “⊕” represents the logical “XOR” function, “·” represents the logical “AND” function, and “+” represents the logical “OR” function.
- 19. The method of claim 1, wherein the closed-form expression is implementable without relying on any lookup tables.
- 20. The interleaver of claim 8, wherein the closed-form expression is implementable without relying on any lookup tables.
- 21. The integrated circuit of claim 15, wherein the closed-form expression is implementable without relying on any lookup tables.
CROSS-REFERENCES TO RELATED APPLICATIONS
This application is one of the following five U.S. patent applications filed on the same date: Ser. Nos. 09/039,151, 09/092,397, 09/039,157, 09/039,158, and 09/039,154 the teachings of all of which are incorporated herein by reference.
US Referenced Citations (10)
Non-Patent Literature Citations (1)
Entry |
“Realization of Optimum Interleavers”, by John Ramsey, IEEE Transactions on Information Theory, vol.IT-16, No. 3, May 1970, pp. 337-345. |