Mobile telephone, apparatus, method, and program for calculating an interleave parameter
View Patent ↗A base sequence S(j) is not directly calculated but is indirectly calculated by the use of a numerical sequence M(n)=[v×n] mod p. A value of M(n) can be calculated by a recurrence formula without requiring modulo calculation. The value obtained is stored in a memory. M(n) satisfies S(j)=M(S(j−1)). By determining an initial value of S(j) and interleaving the value of M(n) stored in the memory, the base sequence S(j) can be calculated without modulo calculation.
1. A mobile telephone comprising, in order to obtain a base sequence for intra-row permutation in a turbo code interleaver:
calculating means for calculating M(n) represented by:
M ( n ) =[v×n] mod p,
where n is a natural number, p is a prime number, and v is an associated primitive root, by the use of:
M ( n ) =M ( n −1)+ v (if M ( n −1)+ v<p ), or
M ( n ) =M ( n −1) +v−p (if M ( n −1) +v≧p );
first storing means for storing values obtained by said calculating means into a first memory location;
reading means for reading the values stored in said first memory location by said first storing means;
interleaving means for interleaving the values read by said reading means; and
second storing means for storing a numerical sequence obtained by interleaving by said interleaving means into a second memory location.
2. A mobile telephone according to claim 1 , wherein:
said interleaving means interleaves the values stored in said memory locations according to a numerical sequence defined by:
a n+1 =M ( a n ).
3. A mobile telephone according to claim 2 , further comprising:
means for determining values of a base sequence S(n) given by:
S ( n )=[ v×S ( n −1)]mod p,
by relating the base sequence S(n) and the numerical sequence obtained by said interleaving means to each other.
4. A mobile telephone according to claim 3 , wherein a base sequence Sm(n) given by:
Sm ( n )= S ( n )−1
is calculated by giving S(0)−1 as an initial value of the base sequence S(n).
5. A mobile telephone according to claim 4 , wherein an appropriate base sequence is selected from the base sequences S(n) and Sm(n) in dependence upon a number of columns of said interleaver.
6. An interleave parameter calculating apparatus comprising, in order to obtain a base sequence for intra-row permutation in a turbo code interleaver:
calculating means for calculating M(n) represented by:
M ( n ) [v×n] mod p,
where n is a natural number, p is a prime number, and v is an associated primitive root, by the use of:
M ( n ) =M ( n −1) +v (if M ( n −1) +v<p ),or
M ( n ) =M ( n −1) +v−p (if M ( n −1) +v≧p );
first storing means for storing values obtained by said calculating means into a first memory location;
reading means for reading the values stored in said first memory location by said first storing means;
interleaving means for interleaving the values read by said reading means; and
second storing means for storing a numerical sequence obtained by interleaving by said interleaving means into a second memory location.
7. An interleave parameter calculating apparatus according to claim 6 , wherein:
said interleaving means interleaves the values stored in said memory locations according to a numerical sequence defined by:
a n+1 =M ( a n ).
8. An interleave parameter calculating apparatus according to claim 7 , further comprising:
means for determining values of a base sequence S(n) given by:
S ( n ) =[v×S ( n −1)]mod p,
by relating the base sequence S(n) and the numerical sequence obtained by said interleaving means to each other.
9. An interleave parameter calculating apparatus according to claim 8 , wherein a base sequence Sm(n) given by:
Sm ( n ) =S ( n )−1
is calculated by giving S(0)−1 as an initial value of the base sequence S(n).
10. An interleave parameter calculating apparatus according to claim 9 , wherein an appropriate base sequence is selected from the base sequences S(n) and Sm(n) in dependence upon a number of columns of said interleaver.
11. An interleave parameter calculating method, comprising, in order to obtain a base sequence for intra-row permutation in a turbo code interleaver:
a calculating step of calculating M(n) represented by:
M ( n ) =[v×n ]mod p,
where n is a natural number, p is a prime number, and v is an associated primitive root, by the use of:
M ( n ) =M ( n −1) +v (if M ( n −1) +v<p ), or
M ( n ) =M ( n −1) +v−p (if M ( n −1)+ v≧p );
a first storing step of storing values obtained by said calculating step into a first memory location;
a reading step of reading the values stored in said first memory location by said first storing step;
an interleaving step of interleaving the values read by said reading step; and
a second storing step of storing a numerical sequence obtained by interleaving by said interleaving step into a second memory location.
12. An interleave parameter calculating method according to claim 11 , wherein:
said interleaving step interleaves the values stored in said memory locations according to a numerical sequence defined by:
a n+1 =M ( a n ).
13. An interleave parameter calculating method according to claim 12 , further comprising:
a step of determining values of a base sequence S(n) given by:
S ( n )=[ v×S ( n −1)]mod p,
by relating the base sequence S(n) and the numerical sequence obtained by said interleaving step to each other.
14. An interleave parameter calculating method according to claim 13 , wherein a base sequence Sm(n) given by:
Sm ( n ) =S ( n )−1
is calculated by giving S(0)−1 as an initial value of the base sequence S(n).
15. An interleave parameter calculating method according to claim 14 , wherein an appropriate base sequence is selected from the base sequences S(n) and Sm(n) in dependence upon a number of columns of said interleaver.
16. A computerized process defined by a sequence of machine-readable instructions tangibly embodied in a machine-readable medium, said process comprising an interleave parameter calculating program for making a computer execute, in order to obtain a base sequence for intra-row permutation in a turbo code interleaver:
a calculating operation of calculating M(n) represented by:
M ( n ) =[v×n ]mod p,
where n is a natural number, p is a prime number, and v is an associated primitive root, by the use of:
M ( n ) =M ( n −1) +v (if M ( n −1)+ v<p ), or
M ( n ) =M ( n −1) +v−p (if M ( n −1) +v≧p );
a first storing operation of storing values obtained by said calculating operation into a first memory location;
a reading operation of reading the values stored in said first memory location by said first storing operation;
an interleaving operation of interleaving the values read by said reading operation; and
a second storing operation of storing a numerical sequence obtained by interleaving by said interleaving operation into a second memory location.
17. An interleave parameter calculating program according to claim 16 , wherein:
said interleaving operation interleaves the values stored in said memory locations according to a numerical sequence defined by:
a n+1 =M ( a n ).
18. An interleave parameter calculating program according to claim 17 , said program making said computer further execute:
an operation of determining values of a base sequence S(n) given by:
S ( n ) =[v×S ( n −1)]mod p,
by relating the base sequence S(n) and the numerical sequence obtained by said interleaving operation to each other.
19. An interleave parameter calculating program according to claim 18 , wherein a base sequence Sm(n) given by:
Sm ( n ) =S ( n )−1
is calculated by giving S(0)−1 as an initial value of the base sequence S(n).
20. An interleave parameter calculating program according to claim 19 , wherein an appropriate base sequence is selected from the base sequences S(n) and Sm(n) in dependence upon a number of columns of said interleaver.