INTERLEAVER FOR MULTIUSER TRANSMISSION
Certain embodiments herein relate to an interleaver based on usable tones of a resource allocation. The interleaver is selected according to the number of usable tones and may be selected for each resource allocation to accommodate the variance in usable tones. The selected codebit interleaver or symbol interleaver may be a block interleaver in which bits are sequentially read in row by row and read out column by column, such that any unfilled entries in the block interleaver are skipped.
1 . A method to transmit data over a wireless network, comprising:
determining tones for data transmission from a resource allocation;
selecting an interleaver based on the tones, wherein the interleaver comprises a block interleaver having unfilled entries; and
generating interleaved data according to the interleaver using at least one of the tones.
2 . The method of claim 1 , comprising writing bits row by row into the block interleaver.
3 . The method of claim 1 , comprising interleaving data according to the interleaver to generate the interleaved data.
4 . The method of claim 1 , comprising reading bits column by column out of the block interleaver.
5 . The method of claim 4 , wherein reading bits column by column out of the block interleaver comprises skipping the unfilled entries.
6 . The method of claim 1 , wherein the tones vary based one of more of a link direction, an allocated bandwidth, and an allocation position.
7 . The method of claim 1 , wherein a bit index i of the interleaver comprises:
i
=
{
i
o
,
for
c
≤
C
M
i
o
-
c
+
c
M
for
c
>
C
M
Where: i o =is an output bit index, C M =(N d Q mod N c ), N d is a number of tones, Q is a number of codebits, N c is a number of columns in the block interleaver, c=(k mod N c ), and k=0, 1, . . . N d Q−1.
8 . The method of claim 1 , wherein the interleaver comprises a symbol interleaver.
9 . The method of claim 1 , wherein selecting the interleaver according to the tones comprises generating the interleaver based on the tones.
10 . The method of claim 1 , wherein determining tones for data transmission comprises:
determining overhead tones from the resource allocation; and
excluding the overhead tones for data transmission.
11 . A tangible non-transitory machine-readable medium storing computer-executable instructions to transmit data over a wireless network that, when executed by a processor, configure the processor to perform operations comprising:
determining tones for data transmission from a resource allocation;
selecting an interleaver based on the tones, wherein the interleaver comprises a block interleaver having unfilled entries; and
generating interleaved data according to the interleaver using at least one of the tones.
12 . The tangible non-transitory machine-readable medium of claim 11 , the processor further configured to perform operations comprising: writing bits row by row into the block interleaver.
13 . The tangible non-transitory machine-readable medium of claim 11 , the processor further configured to perform operations comprising: interleaving data according to the interleaver to generate the interleaved data.
14 . The tangible non-transitory machine-readable medium of claim 11 , the processor further configured to perform operations comprising: reading bits column by column out of the block interleaver.
15 . The tangible non-transitory machine-readable medium of claim 14 , wherein reading bits column by column out of the block interleaver comprises skipping the unfilled entries.
16 . The tangible non-transitory machine-readable medium of claim 11 , wherein the tones vary based one of more of a link direction, an allocated bandwidth, and an allocation position.
17 . The tangible non-transitory computer-readable medium of claim, wherein a bit index i of the interleaver comprises:
i
=
{
i
o
,
for
c
≤
C
M
i
o
-
c
+
c
M
for
c
>
C
M
Where: i o =is an output bit index, C M =(N d Q mod N c ), N d is a number of tones, Q is a number of codebits, N c is a number of columns in the block interleaver, c=(k mod N c ), and k=0, 1, . . . N d Q−1.
18 . A device including one or more processors having circuitry including logic to:
determine tones for data transmission from a resource allocation;
select an interleaver based on the tones, wherein the interleaver comprises a block interleaver having unfilled entries; and
generate interleaved data according to the interleaver using at least one of the tones.
19 . The device of claim 18 , the one or more processors having circuitry including logic to: writing bits row by row into the block interleaver.
20 . The device of claim 18 , the one or more processors having circuitry including logic to: read bits column by column out of the block interleaver.
21 . The device of claim 20 , wherein reading bits column by column out of the block interleaver comprises skipping the unfilled entries.
22 . The device of claim 18 , wherein the tones vary based one of more of a link direction, an allocated bandwidth, and an allocation position.
23 . The device of claim 18 , wherein a bit index i of the interleaver comprises:
i
=
{
i
o
,
for
c
≤
C
M
i
o
-
c
+
c
M
for
c
>
C
M
Where: i o =is an output bit index, C M =(N d Q mod N c ), N d is a number of tones, Q is a number of codebits, N c is a number of columns in the block interleaver, c=(k mod N c ), and k=0, 1, . . . N d Q−1.
24 . A method to transmit data over a wireless network, comprising:
determining tones for data transmission from the resource allocation;
selecting an interleaver based on the tones, wherein the interleaver comprises a block interleaver having unfilled entries; and
de-interleaving the interleaved data using the interleaver.