Communication method and communication device
10924199 ยท 2021-02-16
Assignee
Inventors
Cpc classification
H04J13/0003
ELECTRICITY
International classification
Abstract
The communication method using an almost periodic function code includes using, for modulation, almost periodic function codes the number of which is in accordance with the number of users or the number of channels, among K almost periodic function codes. Where k is an integer from 1 to K and is an identifier for identifying each of the K almost periodic function codes, a parameter that determines each of the K almost periodic function codes is represented by +(k1)/K. The symbol K is N or 2N, where N is a code length of each almost periodic function code. The symbol is a real number greater than 0 and less than 1/N.
Claims
1. A communication method using an almost periodic function code, the communication method comprising: using, for modulation, almost periodic function codes a number of which is in accordance with a number of users or a number of channels, among K almost periodic function codes, wherein a parameter that determines each of the K almost periodic function codes is represented by +(k1)/K, where k is an integer from 1 to K and is an identifier for identifying each of the K almost periodic function codes, K is N or 2N, where N is a code length of each almost periodic function code, and is a real number greater than 0 and less than 1/N, and is in a range of NN.
2. The communication method according to claim 1, wherein is N.
3. The communication method according to claim 2, wherein is a rational number.
4. The communication method according to claim 1, wherein is a rational number.
5. A communication method using an almost periodic function code, the communication method comprising: using, for modulation, almost periodic function codes a number of which is in accordance with a number of users or a number of channels, among K almost periodic function codes, wherein a parameter that determines each of the K almost periodic function codes is represented by +(k1)/K, where k is an integer from 1 to K and is an identifier for identifying each of the K almost periodic function codes, K is N or 2N, where N is a code length of each almost periodic function code, and is a real number greater than 0 and less than 1/N, and is in a range of NN.
6. The communication method according to claim 5, wherein is N.
7. The communication method according to claim 6, wherein is a rational number.
8. The communication method according to claim 5, wherein is a rational number.
9. A communication method using an almost periodic function code, the communication method comprising: using, for modulation, almost periodic function codes a number of which is in accordance with a number of users or a number of channels, among K almost periodic function codes, wherein a parameter that determines each of the K almost periodic function codes is represented by +(k1)/K, where k is an integer from 1 to K and is an identifier for identifying each of the K almost periodic function codes, K is N or 2N, where N is a code length of each almost periodic function code, and is in a range of NN.
10. The communication method according to claim 9, wherein is N.
11. The communication method according to claim 10, wherein is a rational number.
12. The communication method according to claim 9, wherein is a rational number.
13. A communication device performing communication using an almost periodic function code, the communication device comprising: a modulator configured to use, for modulation, almost periodic function codes a number of which is in accordance with a number of users or a number of channels, among K almost periodic function codes, wherein a parameter that determines each of the K almost periodic function codes is represented by +(k1)/K, where k is an integer from 1 to K and is an identifier for identifying each of the K almost periodic function codes, K is N or 2N, where N is a code length of each almost periodic function code, and is a real number greater than 0 and less than 1/N, and is in a range of NN.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
DESCRIPTION OF EMBODIMENTS
(6) [1. Outline of Communication Device]
(7) Hereinafter, embodiments will be described with reference to the drawings.
(8) [2. Almost Periodic Function Code]
(9) An almost periodic function code w.sub.k[n] is represented by the following expression (1).
[Mathematical 1]
w.sub.k[n]=exp(2in.sub.k)(1)
(10) Here, the symbol k is an identifier for code and is an integer from 1 to K (1kK). The symbol K is the number of users or the number of channels. The symbol k is also used as an identifier for a user or a channel to which the code w.sub.k[n] is assigned.
(11) The symbol n is an identifier for an element included in a code and is an integer from 1 to N (1nN). The symbol N is a code length.
(12) The symbol i is the imaginary unit.
(13) The symbol .sub.k is a parameter (initial value) that determines the code w.sub.k[n], and takes different values for respective codes w.sub.k[n].
(14)
(15) The Weyl code (see Non Patent Literature 1 and the relevant literature) using a Weyl sequence is obtained by using a Weyl sequence x.sub.k[n] represented by expression (2) as n.sub.k in expression (1). The Weyl sequence is quasi-random numbers and is based on Weyl's uniform distribution theorem that the fractional part of an integer multiple of an irrational number is uniformly distributed in an interval [0,1).
[Mathematical 2]
x.sub.k[n]={square root over (p.sub.k)}n(mod 1)(2)
(16) Here, the symbol p.sub.k is a prime number assigned to the user k.
(17) The relevant literature discloses optimization of the parameter .sub.k assigned to the user k, in the Weyl code. In the relevant literature, the new Weyl code optimized is represented by the following expression (3).
(18)
(19) Here, the symbol is an irrational number included in an interval not less than 0 but less than 1 (0<1).
(20) In expression (3), (+(k1)/K) corresponds to .sub.k in expression (1). That is, .sub.k=(+(k1)/K) is satisfied. Expression (3) means that, in a case where the number of users in communication is K, the interval between the parameters (initial values) .sub.k given to the respective users k is set to equal intervals of 1/K. As reported by the relevant literature, the Weyl code of expression (3) allows optimization of cross-correlation value, leading to reduction in the bit error rate. It is noted that is equal to the parameter .sub.k assigned to the user of k=1. In the relevant literature, the symbol K indicates the number of users, but may indicate the number of channels.
(21) Expression (3) is based on the premise that the Weyl sequence which is an irrational number sequence is used, and therefore, in the relevant literature, is defined as an irrational number as described above. If is an irrational number, .sub.k is also an irrational number. If .sub.k is an irrational number, the uniform distribution theorem is satisfied even when the code length N is infinity.
(22) However, in a case of using the Weyl sequence for communication, the code length N is a finite length. Therefore, it is sufficient that n(+(k1)K) in expression (3) is discretely and uniformly distributed when n takes values up to the code length N. Accordingly, in a case of using the Weyl sequence for communication, the uniform distribution theorem need not be satisfied in an exact sense. Since the uniform distribution theorem need not be satisfied, in expression (3) need not be an irrational number, but may be a rational number. Therefore, in expression (3) can be extended to a real number including a rational number. In addition, even if in expression (3) is defined as an irrational number, is treated as a rational number in a process by a computer. Therefore, it is practical to define as a real number.
(23) The new Weyl code extended is represented by expression (1) in which the parameter (initial value) .sub.k is defined as shown by the following expression (4).
(24)
(25) Here, the symbol is a real number not less than 0 but less than 1 (0<1).
(26) Since is a real number, the parameter .sub.k in expression (4) also becomes a real number. If .sub.k is extended to a real number as shown in expression (4), it becomes easy to determine a more preferable value of .sub.k. The present inventors have found a more appropriate parameter .sub.k in consideration of the autocorrelation value of the code w.sub.k[n], while extending .sub.k to a real number. It is noted that the autocorrelation value of the code w.sub.k[n] is an index used when the communication device that has received a modulated signal searches for a start position of the code w.sub.k[n] in the received signal.
(27) In a case where the parameter .sub.k is a real number, the autocorrelation value of the code w.sub.k[n] in expression (1) is represented by the following expression (5). In expression (5), the symbol 1 (01N) is the shift amount of the code.
(28)
(29) By arranging expression (5), the following expression (6) is obtained.
(30)
(31) The autocorrelation value does not depend on the variable n, and therefore expression (6) can be deformed into expression (7).
(32)
(33) The magnitude of the autocorrelation value is represented by the following expression (8) on the basis of expression (7).
(34)
(35) In order to search for the start position of the code in the received signal, it is desirable that the magnitude of the autocorrelation value is as small as possible. Accordingly, here, the value represented by expression (8) is minimized. The first term and the second term in the radical sign in expression (8) cannot be minimized. Therefore, minimization of expression (8) can be achieved by minimization of cos(2N.sub.k) included in the third term in the radical sign in expression (8), for example. That is, cos(2N.sub.k) is made to be always 1. Therefore, cos(2N.sub.k) can be minimized by satisfying the following expression (9), using the variable k (k1) indicating a user or a channel.
[Mathematical 9]
2N.sub.k=+2(k1)(9)
(36) By solving expression (9) for .sub.k, expression (10) is obtained.
(37)
(38) If the parameter .sub.k shown by expression (10) is used as .sub.k in expression (1), the autocorrelation value can be minimized.
(39) Expression (10) corresponds to an expression obtained by setting in expression (4) to N and setting the number K of users or the number K of channels in expression (4) to the same magnitude as the code length N.
(40) In addition, since the second term in expression (10) is (k1)/N, the intervals between the parameters .sub.k are equal intervals of 1/N. Accordingly, when the number K of users or the number K of channels is the same value as the code length N, expression (10) satisfies expression (4). Therefore, while the maximum value of the number K of users or the number K of channels is limited to the same value as the code length N, if communication is performed using the code w.sub.k[n] obtained by using the parameter .sub.k of expression (10) as .sub.k in expression (1), an effect of reducing the bit error rate is obtained.
(41)
(42) It is noted that, since expression (9) is a condition that cos(2N.sub.k) takes a constant value of 1 irrespective of the user k or the channel k, a preferable situation (constant autocorrelation value) is obtained in which the autocorrelation value of the code w.sub.k[n] using .sub.k of expression (10) obtained from expression (9) becomes constant irrespective of the user k or the channel k.
(43) Here, it is preferable that the autocorrelation value is minimized, but even if the autocorrelation value is not minimized, it is possible to search for the start position of the code as long as the autocorrelation value is smaller than 1. Therefore, unless minimization of the autocorrelation value is particularly desired, it is possible to relax the condition for the first term (N) in expression (1) while keeping the second term ((k1)/N) in expression (10) for obtaining the effect of reducing the bit error rate.
(44) In order to make the autocorrelation value of the code w.sub.k[n] constant irrespective of the user k or the channel k (achieve constant autocorrelation value), cos(2N.sub.k) in expression (8) is set to have a constant value irrespective of the user k or the channel k. Therefore, it suffices that, when in expression (9) is generalized by (0<<2), is a constant not including the variable k.
(45) If in expression (9) is generalized by , the following expression (11) is obtained.
[Mathematical 11]
2N.sub.k+2(k1)(11)
(46) By solving expression (11) for .sub.k, expression (12) is obtained.
(47)
(48) The second term ((k1)/N) in expression (12) is the same as the second term in expression (10). In addition, from 0<<2, the range of the first term ((/2N)=) in expression (12) is represented by expression (13).
(49)
(50) Therefore, if (/2N) in expression (12) is replaced with , the parameter .sub.k is represented by the following expression (14).
(51)
(52) Here, is a real number greater than 0 and less than 1/N (0<<1/N).
(53) The code w.sub.k[n] obtained by using the parameter .sub.k of expression (14) as .sub.k in expression (1) can achieve reduction of the bit error rate and achieve a constant autocorrelation value.
(54) Even though the autocorrelation value of the code w.sub.k[n] is not minimized, it is preferable that the autocorrelation value is as small as possible. From the perspective of causing the autocorrelation value to be a sufficiently small value, e.g., about 0.5, cos(2N.sub.k) in expression (8) is set to 0 or less. In this case, the range of in expression (12) is it/23/2. In this case, the range of the first term ((/2N)=) in expression (12) is represented by expression (15).
(55)
(56) Thus, (=/2N) is a real number not less than N and not greater than N (NN). In this case, it is possible to sufficiently reduce the autocorrelation value while achieving reduction of the bit error rate and achieving a constant autocorrelation value.
(57) In actual communication, a transmission bit to be subjected to modulation using the code wk[n] takes a value such as +1 or 1 according to information to be transmitted. In order to prevent the autocorrelation from varying depending on the value of the transmission bit, it is preferable to set cos(2k) in expression (8) to be always 0 so that expression (8) has a constant value irrespective of the value of the transmission bit.
(58) The condition that cos(2k) always becomes 0 is represented by the following expression (16) using the variable k (k1) indicating a user or a channel as in expression (9).
(59)
(60) By solving expression (16) for .sub.k, expression (17) is obtained.
(61)
(62) Expression (17) corresponds to an expression obtained by setting in expression (4) to N and setting the number K of users or the number K of channels in expression (4) to 2N (twice the code length).
(63) Since the second term in expression (17) is (k1)/2N, the intervals between the parameters .sub.k are equal intervals of N. Thus, the number K of users or the number K of channels may be 2N. However, if the number K of users or the number K of channels increases, the effect of reducing the bit error rate decreases. Therefore, from the perspective of reducing the bit error rate, setting the number K of users or the number K of channels to N is more advantageous. Accordingly, by setting 2N of the second term in expression (17) to N, expression (18) is obtained.
(64)
(65) Expression (18) corresponds to an expression obtained by setting in expression (4) to N and setting the number K of users or the number K of channels in expression (4) to the code length N. Thus, the code w.sub.k[n] becomes an orthogonal code.
(66) In addition, in a case where the second term is (k1)/N as in expression (18), cos 2N.sub.k can be made 0 even if the first term (N) in expression (18) is set to N. Therefore, .sub.k may be a value represented by the following expression (19).
(67)
(68) As described above, may be N or N. Here, instead of preventing variation in the autocorrelation, if it is sufficient that variation in the autocorrelation is small, the condition that cos(2k) in expression (8) is set to be always 0 for deriving expressions (16) to (19) can be relaxed to the condition that cos(2k) in expression (8) is set to be close to 0. In this case, can be set as NN, or NN, for example.
(69) [3. Summary Regarding Parameter .sub.k]
(70) The code w.sub.k[n] using the parameter .sub.k determined by +(k1)/K enables reduction in the bit error rate. Here, the symbol is a real number not less than 0 but less than 1 (0<1).
(71) In a case of setting the maximum number K of users or the maximum number K of channels to the same value as the code length N (K=N), the parameter .sub.k becomes +(k1)/N. Also in this case, the effect of reducing the bit error rate is obtained. The maximum number K of users or the maximum number K of channels may be set to 2N.
(72) In order to achieve reduction in the bit error rate and achieve a constant autocorrelation value, in +(k1)/N is set to a real number greater than 0 and less than 1/N (0<<1/N). Preferably, is not less than N (N), and more preferably, is not less than N (N). Preferably, is not greater than N (N), and more preferably, is not greater than N (N). Preferably, is not less than N and not greater than N (NN), and, for example, can be set to N.
(73) In addition, preferably, is not less than N and not greater than N (N N), and, for example, can be set to N.
(74) In addition, preferably, is not less than N and not greater than N (NN), and, for example, can be set to N.
(75) [4. Bit Error Rate]
(76)
(77) In the case of determining the parameter .sub.k in accordance with expression (4), since the number K of users is included in expression (4), the parameter .sub.k is optimized per number K of users in accordance with expression (4). On the other hand, in a case of determining the parameter .sub.k in accordance with expression (10), since the number K of users is not included in expression (10), the parameter .sub.k is determined in a unified manner using the code length N=128 irrespective of the number K of users. In
(78) In both cases of determining the parameter .sub.k in accordance with expression (4) and determining the parameter .sub.k in accordance with expression (10), the bit error rate reduces as compared to the case of Gold code, and thus an excellent result is obtained. From (a) in
(79) The result shown in
(80) It is noted that, also in the case of determining the parameter .sub.k in accordance with expression (4), K may be set to the maximum number of users or the maximum number of channels, instead of the actual number of users or number of channels. In this case, even if the actual number of users or number of channels varies during communication, K does not vary. Therefore, even in the case of determining the parameter .sub.k in accordance with expression (4), a bit error rate similar to that in the case of determining the parameter .sub.k in accordance with expression (10) is obtained.
(81) [5. How to Use a Plurality of Almost Periodic Function Codes]
(82) The modulator 20 performs modulation using a plurality of (K) almost periodic function codes w.sub.k[n]. The symbol K is a number according to the number of users or the number of channels, and by using K codes w.sub.k[n], it is possible to modulate transmission signals for K users or K channels.
(83) In a case of communication under an environment in which the number of users or the number of channels does not vary, K may be a constant. In this case, the modulator 20 uses all of the K almost periodic function codes w.sub.k[n] for modulation. However, the number of users or the number of channels often varies. Although the modulator 20 may change the value of K in expression (4) in accordance with the value of the number of users or the number of channels, K in expression (4) may be defined as the maximum number of users or the maximum number of channels (constant value). In this case, the modulator 20 selects L almost periodic function codes w.sub.k[n] according to the actual number L of users or number L of channels (LK), among the K almost periodic function codes w.sub.k[n] generated in advance, and uses the selected L almost periodic function codes w.sub.k[n] for modulation.
(84) In addition, also in a case of setting the maximum number K of users or the maximum number K of channels to the code length N (K=N), the modulator 20 uses, for modulation, L almost periodic function codes w.sub.k[n] according to the actual number of users L or number of channels L (LK), among the N almost periodic function codes w.sub.k[n]. The communication device 10 changes the code length N in accordance with the number K of users or the number K of channels that varies (N=K), and the modulator 20 can determine the N almost periodic function codes w.sub.k[n] on the basis of the changed code length N. In this case, the modulator 20 performs modulation using all of the N almost periodic function codes w.sub.k[n]. It is noted that the maximum number K of users or the maximum number K of channels may be set to 2N. In addition, the communication device 10 may change the code length N to K/2 in accordance with the number K of users or the number K of channels that varies.
(85) The plurality of almost periodic function codes w.sub.k[n] may be generated by a computer that the communication device 10 has, and may be stored in a storage device that the communication device 10 has. The plurality of almost periodic function codes w.sub.k[n] may be, in advance, generated by a computer separate from the communication device 10 and stored in a storage device that the communication device 10 has. The modulator 20 can select all or some of the plurality of almost periodic function codes w.sub.k[n] stored in the storage device, and use the selected codes for modulation.
(86) The modulator 20 may use the almost periodic function code w.sub.k as a pseudo orthogonal multiplexing modulation code, instead of using as a spread code for spread spectrum communication. The pseudo orthogonal multiplexing modulation is modulation using the almost periodic function code w.sub.k and similar to orthogonal multiplexing modulation. Since the almost periodic function code w.sub.k is used, this modulation is not exactly orthogonal multiplexing modulation but becomes pseudo orthogonal multiplexing modulation.
(87) In the pseudo orthogonal multiplexing modulation, a data symbol matrix (transmission signal) with a size of NK is multiplied with a modulation matrix (pseudo orthogonal multiplexing modulation code matrix) with a size of KN, whereby a modulated signal (pseudo orthogonal multiplexing modulated signal) that is a KK matrix is outputted. The KN modulation matrix is formed by arranging N almost periodic function codes w.sub.k[n] each having a code length N. In a case where, for example, the almost periodic function codes w.sub.k[n] are generated using the parameters .sub.k determined in accordance with expression (10) (K=N), the modulation matrix becomes an NN matrix.
REFERENCE SIGNS LIST
(88) 10 communication device 20 modulator