1. Field of the Invention
The present invention relates to an M-sequence generator, a providing method thereof, and a random error generating device in which the M-sequence generator is used, particularly to a random error generating device that has a specified error rate and supplies a random error signal whose error distribution approximates an error distribution caused by a noise generated in optical communication and electric communication, an M-sequence generator that can be applied to the random error generating device, and a method for providing the M-sequence generator.
2. Description of the Related Art
Generally, in a test apparatus that performs various tests to various communication instruments incorporated in a digital communication network in which an electric signal cable is used or an optical communication network in which an optical fiber cable is used, a test signal matched with actual usage of the communication instrument of a test target is fed into the communication instrument to evaluate a reply operation of the communication instrument.
In one of kinds of evaluation tests of the communication instrument, a test signal intentionally including an error matched with the actual usage is adopted as a test signal fed to the communication instrument of a measurement target.
It is evaluated that the communication instrument is normally operated to what extent of an incidence rate (error rate) E of an error included in the test signal.
For example, Patent Document 1 proposes a random error generating device in which the error is randomly included in the test signal.
Although a detailed configuration of the random error generating device is not clearly described in Patent Document 1, it can be assumed that the random error generating device has the configuration of
As illustrated in
When an external clock circuit 4 applies a clock (CLK) to each register 2, a PN (Pseudo Noise) signal that is of a digital series signal having a period of (2m-1) is supplied from an output terminal 5.
Pieces of bit data stored in m registers 2 are supplied in parallel in each time the clock (CLK) is fed.
The pieces of bit data supplied in parallel from the M-sequence generator 1 are applied to one (X terminal) of input terminals of a comparator 6.
A parallel m-bit reference value that an operator inputs with a reference value setting circuit 7 is fed into the other input terminal (Y terminal) of the comparator 6.
The comparator 6 takes in the parallel m pieces of bit data applied to one (X terminal) of the input terminals as one numerical value A while taking in the parallel m-bit reference value B applied to the other input terminal (Y terminal) also as one numerical value.
When the numerical value A taken in from one (X terminal) of the input terminals is equal to or lower than the reference value B taken in from the other input terminal (Y terminal), the comparator 6 supplies a random error signal a that becomes an error bit.
The reference value B is set according to an error incidence rate (error rate) E of the random error signal a supplied from the random error generating device.
For example, the reference value B is set to “4”, when the error rate E is 0.004 (0.4%) and the numerical value A at the X terminal ranges from 1 to 1000.
At this point, the random error signal a having the error rate E of 0.004 is obtained because a probability that the numerical value A is equal to or less than 4 become 4/1000.
However, even in the random error generating device of
For example, in the M-sequence generator 1 of
A period indicating a repetition of the same data stream also changes in the supplied sequence (data stream).
There are plural sequences in which the maximum length periodic sequences (2m-1) are obtained.
That is, as is well known, the M (maximum length periodic) sequence is expressed by the following periodic sequence in which all the elements except a zero element “0” in a two-element Galois extension Field (2m) is obtained by the powers of primitive elements α.
α0, α1, α2, α3,
As used herein, the primitive element α means a special element in which all the elements except the zero element “0” of a Galois field GF(pm) is produced by the power of α.
A Galois field that is obtained by extending a Galois prime field GF(p) is referred to as a Galois extension field GF(pm). Where p is a prime number and m is a positive integer which is 2 or more. The Galois prime field GF(p) is referred to as a basic field of the Galois extension field GF(pm).
A polynomial in which an element of the Galois basic field GF(p) is used as a coefficient is referred to as a “polynomial on the Galois basic field GF(p)”.
When the Galois basic field GF(p) is GF(2), because of the element [0,1], the polynomial has is expressed by the following m-order polynomial in which the elements (b0, b1, b2, b3, . . . , and bm) of the Galois basic field GF(2) are used as the coefficient:
q(x)=bmxm+bm-1xm-1+, . . . , +b1x+b0
Accordingly, there are (2m+1) polynomials.
The root of the m-order polynomial q(x) on the Galois basic field GF(2) is x satisfying q(x)=0.
When the polynomial q(x) does not have the root that is the element of the Galois basic field GF(p), it is said that the polynomial q(x) is irreducible on the Galois basic field GF(p).
It is also said that the polynomial q(x) is an irreducible polynomial on the Galois basic field GF(p).
For example, when the Galois basic field GF(p) is GF(2), a polynomial q(x)=x3+x+1 is the irreducible polynomial on the Galois basic field GF(p).
This can easily be confirmed by substituting “0” and “1” that are of the elements of the Galois basic field GF(2) for the polynomial q(x).
For example, when x=0 and x=1 are substituted for the polynomial q(x)=x3+x+1,
q(0)=03+0+1≠0, and
q(1)=13+1÷1=1≠0
are obtained. Therefore, the root of the polynomial q(x) is neither “0” nor “1”.
Accordingly, the polynomial q(x) is the irreducible polynomial on the Galois field GF(2).
The polynomial having the maximum length periodic sequence (2m-1) in the irreducible polynomials is defined as a primitive polynomial p(x).
It can easily be proved that the polynomial is the irreducible polynomial p(x) when the number of terms of the polynomial is an odd number.
As illustrated in
The element that is of the root of the primitive polynomial p(x) becomes the primitive element α.
However, in the conventional M-sequence generator 1, frequently the primitive polynomial p(x) having the minimum number of terms (trinomial or pentanomial) is adopted in order to simplify a circuit configuration.
In the M-sequence generator 1 of
p(x)=x10+x3+1
Usually the primitive polynomial described in specialized books and literatures is frequently a trinomial or a pentanomial.
However, a probability distribution of a pseudo-random number produced by the M-sequence generator 1 differs largely from a generation probability distribution of the naturally generated noise, and there are following points (a), (b), and (c) that should be improved as a characteristic of the M-sequence generator.
(a) In the M-sequence generator 1 formed by the shift registers, a probability that contents of the shift register become only original contents shifted right or left by one bit with respect to the input of one clock (CLK). Therefore, when the error bit is generated, there is a high possibility that the same error bit is continued over the plural clocks.
Particularly the problem is easily generated when the primitive polynomial p(x) having a small number of terms is selected as the generating polynomial.
For example,
The primitive polynomial p(x) in each order m of
The primitive polynomial p(x) in which the minimum number of terms is an odd number is the trinomial as illustrated in
For example, for the order (stage number) m=8, the primitive polynomial p(x) having the minimum number of terms is the following pentanomial.
p(x)=x8+x7+x2+x+1
At least the primitive polynomial p(x) having the minimum number of terms is selected.
When the number of terms of the adopted primitive polynomial p(x) decreases, the number of pieces of bit data decreases in the M-sequence generator 1 of
As a result, there is a probability that the same value of “1” or “0” is continued in the bit data string of the maximum length periodic sequence (2m-1) sequentially supplied from the M-sequence generator 1 in synchronization with the clock (CLK).
Accordingly, the further randomized error distribution that is of the target is not obtained in the M-sequence generator 1.
(b) In the M (maximum length periodic)-sequence generator 1, the probability distribution of the pseudo-random number produced by the M (maximum length periodic)-sequence generator 1 cannot be brought close to the generation probability distribution of the naturally generated noise only by increasing the order (stage number) m, that is, lengthening the period.
It is necessary that the period of the maximum length periodic sequence be lengthened in order to improve the probability distribution characteristic.
However, when the period is more than a certain value, a contribution ratio of the lengthened period is reduced to the improvement of the generation probability distribution characteristic.
For example, the period of (2127-1), that is, the periodic sequence of about 1.7×1038 is obtained in the M-sequence generator 1 in which the 127-stage (m=127) shift register is used.
In fact, the period of about 1.7×1038 is equal to an infinite length.
However, in the actual test measurement, there is a need for the excellent probability distribution characteristic in a relatively short test time.
It is clear that only lengthening the period of the periodic sequence cannot deal with the need.
In the M-sequence generator 1 and random error generating device, advantageously the circuit scale can be minimized, and the high-speed operation can be performed. At the same time, there still is a room for improvement in the probability distribution characteristic and probability process characteristic of the supplied random error signal.
(c) In the M-sequence generator 1 of
However, in such cases, the Galois field multiplication cannot be realized only by one clock (CLK) supplied from the clock circuit 4.
That is, as illustrated in
10 clocks (CLK) for the order m (=10) of the registers 2 are required in
Accordingly, the high-speed performance is degraded in the random error generating device comprising the M-sequence generator 1 of
In view of the foregoing, an object of the invention is to provide a random error generating device that supplies a random error signal, which is more random than that approximating the error distribution caused by noise generated in the optical communication or electric communication, without excessively largely setting the circuit scale used, an M-sequence generator that can be applied to the random error generating device, and an M-sequence generator providing method.
In order to achieve the object, according to a first aspect of the invention, there is provided an M-sequence generator (11) including a plurality of series-connected registers (12) and a plurality of EXCLUSIVE-OR gates (17) which feed back pieces of bit data stored in the registers (12) to the registers (12) in each time a clock (CLK) is fed into said plurality of registers (12), the pieces of bit data being supplied in parallel from said each register (12),
wherein a period of a cyclic group {(α1k), (α2k), (α3k), . . . } falls within a maximum length period (2m-1), the cyclic group {(α1k), (α2k), (α3k), . . . } being produced as an element (αk) that is of a generating element (αk), the element (αk) being obtained by raising a root α of a polynomial to a specified power value k of 2 or more (k≧2), the polynomial having the large number of terms in a plurality of polynomials of a Galois field GF(2m) in which the number m (m is a positive integer which is 2 or more) of plurality of registers (12) is set to an order m, and
the M-sequence generator (11) comprises a Galois field multiplying unit (13) comprising said plurality of EXCLUSIVE-OR gates (17), pieces of bit data supplied in parallel from the registers (12) is fed into one end of the Galois field multiplying unit (13) in each time the clock (CLK) is fed while the generating element (αk) is fed into the other end, the Galois field multiplying unit (13) performing Galois field multiplication between said each piece of bit data and the generating element (αk), the EXCLUSIVE-OR gate (17) supplying the Galois field multiplication result as feedback bit data to each register (12) in parallel.
In the M-sequence generator (11) comprising m (m is a positive integer which is 2 or more) registers (12) having the configuration of the first aspect of the invention, the primitive polynomial having the large number of terms is adopted in the plural primitive polynomials p(x) in the two-element Galois extension field GF (2m) having the order m in which the maximum length period (2m-1) can be realized.
As described above, the primitive polynomial p(x) having the small number of the terms is adopted in the primitive polynomial p(x) adopted in the conventional M-sequence generator (1).
On the other hand, the primitive polynomial p(x) having the large number of the terms is adopted in the invention.
In comparison with the conventional technique and the invention, on the condition that the maximum length period (2m-1) is equal, the number of pieces of bit data fed back to each register (12) in the M-sequence generator (11) from the registers (12) including the own register through the EXCLUSIVE-OR gate (17) increases as the number of terms increases in the primitive polynomial p(x).
As a result, the probability that the same value of “1” or “0” is continued is decreased in the bit data string of the maximum length period (2m-1), which is sequentially supplied from the M-sequence generator (11) in synchronization with the clock (CLK).
Additionally, in the invention, the Galois field multiplying unit (13) performs the Galois field multiplication between the generating element (αk) and the plural pieces of bit data supplied in parallel from the registers (12) in each time the clock (CLK) is fed.
The power value with which the Galois field multiplication is performed to the pieces of bit data fed back from the first to m-th registers (12) including the own j-th register (12) is not the power values (α1, α2, . . . , and αm) of the conventional primitive element α, but the power values (αk, αk+1, αk+2, . . . , and αk+m-1) of the specified power value αk with respect to the primitive element α.
Accordingly, the bit data value fed into each of the first to m-th registers (12) is further randomized.
In order to achieve the object, according to a second aspect of the invention, there is provided the M-sequence generator (11) according to the first aspect, wherein, when one of the roots of the polynomial is not the α but e, a period of a cyclic group {(e1k), (e2k), (e3k), . . . } falls within the maximum length period (2m-1), the cyclic group {(e1k), (e2k), (e3k), . . . } being produced as an element (ek) that is of a generating element (ek), the element (ek) being obtained by raising the root e of the polynomial to a specified power value k of at least 2 (k≧2),
in the Galois field multiplying unit (13), in each time the clock (CLK) is fed, pieces of bit data supplied in parallel from the registers (12) is fed into one end while the generating element (ek) is fed into the other end, and
the Galois field multiplying unit (13) performs Galois field multiplication between said each piece of bit data and the generating element (αk).
In the M-sequence generator (11) having the configuration of the second aspect of the invention, the adopted polynomial (generating polynomial) is not limited to the primitive polynomial p(x), but one polynomial is adopted as the generating polynomial.
Accordingly, the period of the bit data supplied from the actual M-sequence generator is not always matched with the maximum length period (2m-1).
However, a degree of freedom of the design in which the number m of registers (12) used is arbitrarily set can be secured in the M-sequence generator (11).
In order to achieve the object, according to a third aspect of the invention, there is provided a method for providing an M-sequence generator (11) comprising a plurality of series-connected registers (12) and a plurality of EXCLUSIVE-OR gates (17) which feed back pieces of bit data stored in the registers to the registers (12) in each time a clock (CLK) is fed into said plurality of registers (12), the pieces of bit data being supplied in parallel from said each register (12),
the M-sequence generator providing method comprising:
a register number selecting step of selectively setting the number m (m is a positive integer) of said plurality of registers (12) to 3 or more;
a primitive polynomial searching step of searching a plurality of m-order primitive polynomials in a two-element Galois extension field GF(2m) in which the number m of said plurality of registers selected in the register (12) number selecting step is set to the order m from a database;
a primitive polynomial selecting step of selecting one of said plurality of primitive polynomials searched in the primitive polynomial searching step;
a primitive element computing step of obtaining a primitive element α from the database, the primitive element α being a root of the one primitive polynomial selected in the primitive polynomial selecting step;
a specified power value selecting step of selecting a specified power value αk having the power of at least two when the two-element Galois extension field GF(2m) is expressed by a series of the power of primitive element α;
a power value computing step of computing power values (αk, αk+1, αk+2, . . . , αk+m-1) of specified reference power values αk that is used to perform Galois field multiplication to data values fed back to each of first to m-th registers (12) of the series-connected plurality of registers (12) of the specified reference power value αk selected in the specified power value selecting step;
a Galois field multiplying unit (13) setting step of setting a (13) in each time the clock (CLK) is fed into the series-connected plurality of registers (12), the Galois field multiplying unit (13) performing Galois field multiplication of the power value (αk) to the values of the pieces of bit data fed back to said each register (12); and
a feedback path producing step of producing a feedback path from the corresponding register (12) to the register (12) in which a place indicates bit data through said plurality of EXCLUSIVE-OR gates (17) constituting the Galois field multiplying unit (13), when the place corresponding to said each register of power values (αk, αk+1, αk+2, . . . , αk+m-1) corresponding to said each register (12) computed in the power value computing step has a value of “1”.
The effect substantially identical to that of the M-sequence generator (11) can be obtained in the M-sequence generator providing method of the third aspect of the invention.
Additionally, in the M-sequence generator providing method of the third aspect of the invention, as illustrated in (a) and (b) of
Accordingly, only when the place corresponding to each register (12) of each power value (αk, αk+1, αk+2, . . . , αk+m-1) has the value “1”, it is necessary to form a feedback path from the corresponding register (12) to the register (12) whose place indicates the bit data through the plural EXCLUSIVE-OR gates (17) constituting the Galois field multiplying unit (13).
In order to achieve the object, according to a fourth aspect of the invention, there is provided a random error generating device comprising:
an M-sequence generator (11) that comprises a plurality of series-connected registers (12) and a plurality of EXCLUSIVE-OR gates (17) which feed back pieces of bit data stored in the registers to the registers (12) in each time a clock (CLK) is fed into said plurality of registers (12), the pieces of bit data being supplied in parallel from said each register (12); and
a comparator (6) in which a plurality of pieces of bit data supplied in parallel from the M-sequence generator (11) in synchronization with the clock (CLK) is fed into one end, said plurality of pieces of fed bit data being taken in as one numerical value, the comparator (6) supplying a random error signal that becomes an error bit when a numerical value of said plurality of pieces of bit data is equal to or lower than a reference value corresponding to a specified error rate fed into the other end,
wherein, in the M-sequence generator (11), a period of a cyclic group {(αk, α2k, α3k), . . . } falls within a maximum length period (2m-1), the cyclic group {(αk, α2k, α3k), . . . } being produced as an element (αk) that is of a generating element (αk), the element (αk) being obtained by raising a root a of a polynomial to a specified power value k of 2 or more (k≧2), the polynomial having the large number of terms in a plurality of polynomials of a Galois field GF(2m) in which the number m (m is a positive integer which is 2 or more) of plurality of registers is set to an order m, and
the M-sequence generator (11) comprises a Galois field multiplying unit (13) comprising said plurality of EXCLUSIVE-OR gates (17), pieces of bit data supplied in parallel from the registers is fed into one end of the Galois field multiplying unit (13) in each time the clock (CLK) is fed while the generating element (αk) is fed into the other end, the Galois field multiplying unit (13) performing Galois field multiplication between said each piece of bit data and the generating element (αk), the EXCLUSIVE-OR gate (17) supplying the Galois field multiplication result as feedback bit data to each register (12) in parallel.
In the M-sequence generator (11) comprising the m registers incorporated in the random error generating device of the fourth aspect of the invention, the primitive polynomial having the large number of terms is adopted in the plural primitive polynomials p(x) in the two-element Galois extension field GF (2m) having the order m in which the maximum length period (2m-1) can be realized.
As described above, the primitive polynomial p(x) having the small number of the terms is adopted in the primitive polynomial p(x) adopted in the conventional M-sequence generator (1).
On the other hand, the primitive polynomial p(x) having the large number of the terms is adopted in the invention.
In comparison with the conventional technique and the invention, on the condition that the maximum length period (2m-1) is equal, the number of pieces of bit data fed back to each register (12) in the M-sequence generator (11) from the registers (12) including the own register through the EXCLUSIVE-OR gate (17) increases as the number of terms increases in the primitive polynomial p(x).
As a result, the probability that the same value of “1” or “0” is continued is decreased in the bit data string of the maximum length period (2m-1), which is sequentially supplied from the M-sequence generator (11) in synchronization with the clock (CLK).
Accordingly, the further randomized error distribution that is of the target is obtained in the invention.
Additionally, in the invention, the Galois field multiplying unit (13) performs the Galois field multiplication between the generating element (αk) and the plural pieces of bit data supplied in parallel from the registers (12) in each time the clock (CLK) is fed.
The power value with which the Galois field multiplication is performed to the pieces of bit data fed back from the first to m-th registers (12) including the own j-th register (12) is not the power values (α1, α2, . . . , and αm) of the conventional primitive element α, but the power values (αk, αk+1, αk+2, . . . , and αk+m-1) of the specified power value αk with respect to the primitive element α.
Accordingly, the bit data value fed into each of the first to m-th registers (12) is further randomized.
In the random error generating device in which the M-sequence generator (11) having the configuration of the fourth aspect of the invention, the M-sequence generator (11) supplies the pieces of bit data stored in the m registers (12) of the M-sequence generator (11) in parallel in each time the clock (CLK) is fed.
The pieces of bit data supplied in parallel from the M-sequence generator (11) are applied to one of the input terminals of the comparator (6).
The reference value is fed into the other input terminal of the comparator (6).
Therefore the comparator (6) supplies the random error signal that becomes the error bit when the numerical value of each piece of bit data taken in from one of the input terminals is equal to or lower than the reference value taken in from the other input terminal.
Accordingly, the random error generating device supplies the further randomized random error signal having the specified error rate.
In order to achieve the object, according to a fifth aspect of the invention, there is provided the random error generating device according to the fourth aspect, wherein a feedback path of bit data stored in each register (12) is defined with respect to each register through said plurality of EXCLUSIVE-OR gates (17) by Galois field multiplication between a plurality of pieces of bit data supplied in parallel from said each register (12) in each time the clock (CLK) is fed and the generating element (αk).
In order to achieve the object, according to a sixth aspect of the invention, there is provided the random error generating device according to the fourth aspect, including:
a plurality of M-sequence generators (231, 232, . . . , 23n) as the M-sequence generator (11); and
a data position replacing circuit into which a plurality of pieces of bit data supplied in parallel from each of said plurality of M-sequence generators (231, 232, . . . , 23n) in synchronization with a clock (CLK), the data position replacing circuit (26) replacing data positions of said plurality of pieces of bit data,
wherein said plurality of pieces of bit data whose data positions are replaced by the data position replacing circuit (26) are fed into one end of the comparator (6).
In the random error generating device having the configuration of the sixth aspect of the invention, the plural M-sequence generators (231, 232, . . . , and 23n) are incorporated, and the data position replacing circuit (26) replaces data positions of the plural pieces of bit data supplied in parallel from the M-sequence generators (231, 232, . . . , and 23n) in synchronization with the clock (CLK) over the pieces of bit data of all the M-sequence generators (231, 232, . . . , and 23n). Then the plural pieces of bit data are fed into one end of the comparator (6).
Accordingly, the numerical value including the parallel pieces of bit data fed into one end of the comparator (6) in synchronization with the clock (CLK) can securely be prevented from becoming the same value as the numerical value in the previous clock (CLK).
The period that is substantially equal to that of the one M-sequence generator (11) of the first and second aspects of the invention is realized in the plural M-sequence generators (231, 232, . . . , and 23n).
At this point, the circuit configuration that obtains the substantially equal period is simplified because the plural M-sequence generators (231, 232, . . . , and 23n) are provided.
In order to achieve the object, according to a seventh aspect of the invention, there is provided the random error generating device according to the fourth aspect, wherein numbers m (m is a positive integer more than 1) of said plurality of registers (12) have a relatively prime relationship,
a plurality of M-sequence generators (231, 232, . . . , 23n) is provided as the M-sequence generator (11), and
a plurality of pieces of bit data supplied in parallel from each of said plurality of M-sequence generators (231, 232, . . . , 23n) in synchronization with a clock (CLK) are fed into one end of the comparator (6) over pieces of bit data of all the M-sequence generators.
In the random error generating device having the configuration of the seventh aspect of the invention, the data position replacing circuit (26) is removed from the random error generating device of the fourth aspect of the invention, and the plural pieces of bit data supplied from the M-sequence generators (231, 232, . . . , and 23n) are directly fed in parallel into one end of the comparator (6) over all the M-sequence generators (231, 232, . . . , and 23n).
At this point, because the number m of registers (12) of each M-sequence generator (231, 232, . . . , and 23n) is maintained at the relatively prime relationship, the M-sequence generators (231, 232, . . . , and 23n) differ from one another in the period of a code string formed by the data stream of the plural pieces of bit data supplied from each of the M-sequence generators (231, 232, . . . , and 23n). Therefore, the period of the code string formed by the data stream of the plural pieces of bit data fed into one end of the comparator (6) can be lengthened over all the M-sequence generators (231, 232, . . . , and 23n).
In order to achieve the object, according to an eighth aspect of the invention, there is provided the random error generating device according to the fourth aspect, wherein the number m of said plurality of registers (12) is set to a prime number such that the maximum length period (2m-1) becomes a Mersenne prime number,
the number of selected primitive polynomials is set about half the number m of registers (12), and
a power k of the specified power value αk is set to about ⅓ of the maximum length period (2m-1).
The number m of registers is set to a value that is a prime number and a value that becomes a Mersenne prime number in which the maximum length period (2m-1) is a prime number.
There are 12 numbers “2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, and 127” in the number m (order m) of registers satisfying both the “prime number” and “Mersenne prime number”.
The primitive polynomial p(x) whose period is the maximum length period (2m-1) can securely be selected by selecting one of the 12 numbers m of registers (order m).
The circuit configuration can be simplified while the good random characteristic is maintained by selecting the primitive polynomial p(x) having the number of terms that is about half the number m of registers.
In order to achieve the object, according to a ninth aspect of the invention, there is provided the random error generating device according to the fourth aspect, further including an initial setting unit (14) which initially sets a pseudo-random number value to said each register (12)
The randomness of the pieces of bit data supplied in parallel from the registers (12) can further be improved by initially setting the pseudo-random number values to the registers (12).
As described above, in the random error generating device, M-sequence generator, and M-sequence generator providing method of the invention, the random error signal which is more random than that approximating the error distribution caused by the noise generated in the optical communication or electric communication can be realized without excessively largely setting the circuit scale used.
Embodiments of the invention will be described below with reference to the drawings.
In
An M (maximum length periodic)-sequence generator 11 includes m (m is a positive integer which is 2 or more) registers 12 and a Galois field multiplying unit 13.
An initial value setting unit 14 sets a one-bit initial value of nonzero constituting a pseudo-random number to each of 0-th to (m−1)-th registers 12 in starting up the M-sequence generator 11.
A specified power value setting unit 15 applies a specified power value αk to one end of the Galois field multiplying unit 13. The specified power value αk is a primitive element α to the power of specified power k, and the primitive element α is one of roots of an m-order primitive polynomial p(x) adopted in the M-sequence generator 11.
The value of k and the value of 2m-1 are relatively prime.
The specified power value αk has a binary m-bit configuration.
In each time the clock (CLK) supplied from the clock circuit 16, the Galois field multiplying unit 13 performs Galois field multiplication of the specified power value (αk) (=constant), and the Galois field multiplying unit 13 writes the Galois field multiplication result in each register 12. The specified power value (αk) is applied from the specified power value setting unit 15 to a bit data value (=variable) supplied from each register 12.
In each time the clock (CLK) supplied from the clock circuit 16, the M-sequence generator 11 supplies the pieces of bit data stored in the m registers 12 in parallel.
The pieces of bit data supplied in parallel from the M-sequence generator 11 are applied to one (X terminal) of the input terminals of the comparator 6.
The parallel m-bit reference value that an operator inputs with the reference value setting circuit 7 is fed into the other input terminal (Y terminal) of the comparator 6.
The comparator 6 takes in the parallel m pieces of bit data applied to one (X terminal) of the input terminals as one numerical value A while taking in the parallel m-bit reference value B applied to the other input terminal (Y terminal) also as one numerical value.
When the numerical value A taken in from one (X terminal) of the input terminals is equal to or lower than the reference value B taken in from the other input terminal (Y terminal), the comparator 6 supplies the random error signal a that becomes an error bit.
The reference value B is set according to the error incidence rate (error rate) E of the random error signal a supplied from the random error generating device.
Accordingly, the random error signal a having the specified error rate is obtained from the random error generating device.
The M-sequence generator 11 has a configuration of
That is, in each time the clock (CLK) is fed into each register 12, the M-sequence generator 11 feeds back the pieces of bit data stored in the registers 12 to the register 12 including the own register 12 through plural EXCLUSIVE-OR gates 17.
A specific computing procedure for realizing the M-sequence generator 11 in which the m registers 12 and plural EXCLUSIVE-OR gates 17 of
In each time the clock (CLK) is fed into each register 12, it is assumed that v(x) (=variable) is the bit data value supplied from each register 12, it is assumed that c(x) (=constant) is the specified power value (αk) applied from the specified power value setting unit 15, and it is assumed that multiplication result y(x) of the Galois field multiplication is the bit data fed back to each register 12.
The following equations are obtained when the values v(x), c(x), and y(x) are expressed by polynomial.
v(x)=vm-1xm-1+vm-2xm-2+ . . . +v1x+v0
c(x)=cm-1xm-1+cm-2xm-2+ . . . +c1x+c0
y(x)=ym-1xm-1+ym-2xm-2+ . . . +y1x+y0
y(x)=c(x)·v(x)
At this point, a coefficient of each order in all the polynomials is an element of the Galois basic field GF(2), and c(x) is a constant. Therefore, the following coefficient sequence is given in the Galois basic field GF(2).
cm-1,cm-2, . . . ,+c1, and c0
Accordingly,
x0c(x), x1c(x), x2c(x), x3c(x), . . . , and xm-1c(x) can previously be computed.
Each element of the generating polynomial of the first embodiment can be expressed by the polynomial. Therefore, assuming that c(x) is an element of the Galois field GF(16) produced by the generating polynomial f(x)=x4+x+1 and c(x)=x, the following (4×4) matrix T is obtained.
The coefficients y0, y1, y2, . . . , and ym-1 of y(x) that provides the result of y(x)=c(x)·x can be obtained based on the matrix T.
For example, the equation y0=v3 is obtained as 0-order coefficient y0 of y(x) by seeing a third row of “1” of a final row of a right-end fourth column in the right matrix T.
Similarly the equation y1=v3+v0 is obtained as 1-order coefficient y1 of y(x) by seeing the third row of “1” of the final row of a third column and a leading row (0-row) of “1” in the right matrix T.
The coefficients y0 to y3 of y(x) can be simplified and expressed by the coefficients v0 to v3 of v(x).
y0=v3,y1=v3+v0,y2=v1, and y3=v2
This means which output of the register 12 should be fed back to each register 12 is uniquely determined when the matrix T of each element of the Galois field GF( ) expressed by the generating polynomial f(x) is determined.
In other others, which bit data of the register 12 is fed back to each register 12 is determined by a value of “1” or “0” of each place of the m-bit-configuration specified power value (αk) applied from the specified power value setting unit 15.
The polynomials v(x) and y(x) are expressed by row vectors V and Y. Each element of the row vectors V and Y is each coefficient of the polynomials v(x) and y(x), and the each of the row vectors V and Y has four elements.
V=[v3v2v1v0]
Y=[y3y2y1y0]
Therefore, as described below, the multiplication result y(x) of the Galois field multiplication “y(x)=c(x)·v(x)” can be expressed by the four-element row vector, which is a product of the four-element row vector and the 4×4 matrix T.
Y=V×T
Then it is considered that the generating element (αk) that is obtained by the specified power value k of the element is fed as a constant into the Galois field multiplying unit 13.
In such cases, because α is one of roots of one polynomial f(x) of the Galois extension field GF(2m), when α is expressed in the polynomial form, a becomes an m-element row of “1” or “0”.
α=[am-1am-2 . . . a1a0]
α2 is obtained by multiplying α by α.
When the previously obtained value is multiplied in order, the m-element row of “1” or “0” of the generating element (αk) is obtained.
αk=[am-1am-2 . . . a1a0]
Because the m×m Galois field multiplication of variable×constant is required, the m-element row of “1” or “0” expressed in the polynomial form of power values αk, αk+1, αk+2, . . . , and αk+m-1 is computed.
As a result, the (m+m) matrix T is obtained.
Specifically, as illustrated in
When the place corresponding to the register 12 of each of the power values (αk, αk+1, αk+2, . . . , and αk+m-1) of the specified power, value αk in which the Galois field multiplication is performed to the bit data value fed back to each of the 0-th to (m−1)-th registers 12 is the value “1”, a feedback path 18 is formed from the corresponding register 12 to the registers 12 whose bit data indicates the place through plural EXCLUSIVE-OR gates 17 that are of the Galois field multiplying unit 13.
The M-sequence generator 11 actually produced on the computer will be described with reference to
In the M-sequence generator 11 of the first embodiment, as illustrated in
In the M-sequence generator 11, the number m of registers 12 is set to m=13 (prime number) in
There are 630 primitive polynomials p(x) of the two-element Galois extension field GF (2m) having the order m=13.
The following primitive polynomial p(x) of the pentanomial having the large number of terms is adopted in the 630 primitive polynomials p(x).
p(x)=x13+x5+x2+x+1
The specified power k of the primitive element α having the maximum m-bit configuration is set to 107 (k=107). The primitive element α is one of the roots of the primitive polynomial p(x)=x13+x5+x2+x+1.
Accordingly, the specified power value (αk) applied to the Galois field multiplying unit 13 in the M-sequence generator 11 becomes (α107).
The pieces of bit data (13 places) are computed and written in the data list table 20 of
The register 12 whose feedback path 18 is formed to the leading register 12(Q0) is a register 12 having a number corresponding to powers 0, 1, . . . , and 12 that the pieces of bit data of each of the power values (α107, α107+1, α107+2, . . . , and α107+12) has “1” in the lowest place.
In the first embodiment, as illustrated in a search result table 21 of
The register 12 whose feedback path 18 is formed to the second register 12(Q1) is a register 12 having a number corresponding to powers 0, 1, . . . , and 12 that the pieces of bit data of each of the power values (α107, α107+1, α107+2, . . . , and α107+12) has “1” in the second lowest place.
Similarly the register 12 whose feedback path 18 is formed to the second lowest register 12(Q11) is a register 12 having a number corresponding to powers 0, 1, . . . , and 12 that the pieces of bit data of each of the power values (α107, α107+1, α107+2, . . . , and α107+12) has “1” in the twelfth lowest place.
In the first embodiment, as illustrated in a search result table 21, there are three registers 12 Q0, Q6, and Q8.
Accordingly, when the Galois field multiplying unit 13 is adopted, the design processing speed of the M-sequence generator 11 is enhanced to be able to efficiently perform the circuit design.
The registers 12 of the M-sequence generator 11 does not have the shift register configuration of the conventional M-sequence generator 1 of
Therefore, in the M-sequence generator 11, because one piece of data is computed by one clock, the speed enhancement can be achieved in producing the random error signal.
In Step S1, the number m (m is a positive integer) of registers 12 used is selectively set.
Specifically, referring to list tables of
Specifically one of 12 numbers “2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, and 127” satisfying both the “prime number” and “Mersenne prime number” is selected.
The number m (order) of registers in which the plural primitive polynomials p(x) of the pentanomial having the relatively large number of terms can be realized by the two-element Galois extension field GF (2m) is selected.
In the example, m=13 is selectively set.
Then the plural m-order primitive polynomials p(x) in the two-element Galois extension field GF (2m) in which the selected number m is set to the order m is searched from a database not illustrated.
As illustrated in the primitive polynomial list 22 of
In the example, as illustrated in
At this point, the number λ(m) of primitive polynomials p(x) is expressed by the following equation using an Euler's function φ.
λ(m)=φ(2m-1)/m
One of the plural searched primitive polynomials p(x) is selected.
In the example, the following one primitive polynomial p(x) of the pentanomial is selected in the 630 primitive polynomials p(x) (Step S3).
p(x)=x13+x5+x2+x+1
Then the primitive element a that is one of the roots of the selected primitive polynomial p(x) is computed.
Specifically it is assumed that each primitive element α that is of the root of the typical primitive polynomial p(x) is previously computed and stored in the database of the computer.
Accordingly, one primitive element α is selected from the database (Step S4).
The specified power values (αk) of at least the power of two (k≧2) are selected when the two-element Galois extension field GF (2m) is expressed by the following series of the power of the primitive element a (Step S5).
(α1k),(α2k),(α3k),
Desirably the power k is about ⅓ of the maximum length period (2m-1).
In the example, the power k is set to k=107 that is about 1/20 of the maximum length period (2m-1)=8191.
Not the primitive element a but the specified power value (αk) is used as the pieces of data sequentially multiplied in synchronization with the clock (CLK), so that the bit data written in each register 12 every clock can further be randomized.
The power values (αk, αk+1, αk+2, . . . , and αk+m-1) of the specified reference power value αk with which the Galois field multiplication is performed to the data value fed back to each of the 0-th to (m−1)-th registers 12 of the selected specified reference power value (αk) is computed.
The power values (αk, αk+1, αk+2, . . . , and αk+m-1) of each specified reference power values αk are written in data list table 20 as illustrated in
As illustrated in
As described above, when the place corresponding to the register of the power values (αk, αk+1, αk+2, . . . , and αk+m-1) of the power values (αk, αk+1, αk+2, . . . , and αk+m-1) corresponding to the registers 12 described in the data list table 20 has the value “1”, the feedback path 18 is formed from the corresponding register 12 to the registers 12 whose bit data indicates the place through the plural EXCLUSIVE-OR gates 17 that are of the Galois field multiplying unit 13 (Step S8).
As a result, the M-sequence generator 11 of
The invention is not limited to the M-sequence generators of the first and second embodiments.
In an M-sequence generator according to a third embodiment of the invention, when one of the roots of the polynomial having the large number of terms in the plural polynomials of the two-element Galois extension field GF (2m) in which the number m (m is a positive integer which is 2 or more) of registers 12 is set to the order m is not the element α but an element e, the period of the periodic sequence {(α1 k), (α2 k), (α3 k), . . . } in which the specified power value (ek) of the element e of at least 2 (k≧2) falls within the maximum length period (2m-1).
In the M-sequence generator of the third embodiment, the adopted polynomial (generating polynomial) is not limited to the primitive polynomial p(x).
Accordingly, the period of the bit data actually supplied from the M-sequence generator is not always matched with the maximum length period (2m-1).
However, in the M-sequence generator of the third embodiment, the number m of registers can arbitrarily be set.
In
N M-sequence generators 231, 232, . . . , and 23n are provided in the random error generating device of the fourth embodiment.
The M-sequence generators 231, 232, and 23n have the configurations that are substantially identical that of the M-sequence generator 11 of the first embodiment. The M-sequence generators 231, 232, . . . , and 23n differ from the M-sequence generator 11 in that the numbers m of registers m are set to different values m1, m2, . . . , and mn.
The powers k of the power values (αk) that the power value setting units 241, 242, and 24n apply the Galois field multiplying units 13 in the M-sequence generators 231, 232, and 23n are set to different values k=k1, k2, . . . , and km in each of the M-sequence generators 231, 232, and 23n.
The pseudo-random number values that the initial value setting unit 251, 252, and 25n initially set to the registers 12 in the M-sequence generators 231, 232, and 23n are also set to different values in each of the M-sequence generators 231, 232, and 23n.
One clock circuit 16 applies the common clock (CLK) to the M-sequence generators 231, 232, . . . , and 23n.
In each time clock (CLK) is supplied from the clock circuit 16, the M-sequence generators 231, 232, . . . , and 23n supply the parallel pieces of bit data having the bit configuration of m1, m2, . . . , and mn and deliver the parallel pieces of bit data to an input unit 26a of a data position replacing circuit 26.
The input unit 26a of the data position replacing circuit 26 comprises input terminals of the number of bits m=m1+m2+, . . . , +mn to which the number of bits m1, m2, . . . , and mn of the parallel pieces of bit data supplied from the M-sequence generators 231, 232, . . . , and 23n.
On the other hand, m output terminals that are identical to the number of input terminals of the input unit 26a are provided in an output unit 26b of the data position replacing circuit 26.
In the data position replacing circuit 26, connection destination from a total of m input terminals of the input unit 26a to the output terminals of the output unit 26b are randomly distributed.
Accordingly, the data position replacing circuit 26 randomly replaces a total of m-bit data positions fed into the input unit 26a and supplies the m-bit data from the output unit 26b.
Therefore, the randomness of the m-bit data that is supplied from the data position replacing circuit 26 in synchronization with the clock (CLK) is improved.
The parallel m-bit data supplied from the output unit 26b of the data position replacing circuit 26 is applied to one (X terminal) of the input terminals of the comparator 6.
The parallel m-bit reference value that is inputted by the operator using the reference value setting circuit 7 is fed into the other input terminal (Y terminal) of the comparator 6.
The comparator 6 supplies the random error signal a that becomes the error bit when the numerical value A taken in from one (X terminal) of the input terminals is equal to or lower than the reference value B taken in from the other input terminal (Y terminal).
In the random error generating device of the fourth embodiment, the period of the bit data string supplied in each of the M-sequence generators 231, 232, . . . , and 23n varies because the number of registers in each of the M-sequence generators 231, 232, . . . , and 23n is set to different value.
Additionally, the data position replacing circuit 26 replaces the data positions of the pieces of bit data of the M-sequence generators 231, 232, . . . , and 23n over all the M-sequence generators 231, 232, . . . , and 23n, so that the randomness of the random error signal a supplied from the random error generating device can further be improved.
In the fourth embodiment, the period substantially equal to that of one M-sequence generator 11 of
At this point, the circuit configuration that obtains the substantially equal period is simplified compared with one M-sequence generator 11 of
That is, it is demonstrated experimentally and theoretically that generally a circuit configuration scale of the M-sequence generator is substantially proportional to the square of the number of registers (order m).
This is because the circuit scale in which the multiplication on the Galois field is substantially proportional to the square of the order m.
For example, the circuit scale of 302×K (constant)=900×K is required when the maximum length period (2m-1) of the order m=30 is realized by one M-sequence generator 11.
On the other hand, when the maximum length period (2m-1) of the order m=30 is realized by two M-sequence generators 23 of the order m1=13 and the order m2=17 (m=m1+m2=30), the total of the circuit scales becomes 132K+172K=(169+289) K=458×K. Therefore, the circuit scale can largely be reduced compared with one M-sequence generator 11.
When plural M-sequence generators 23 are used in parallel to produce the periodic sequence having the longer period, because the actually realized combination period becomes the least common multiple of the periods of the M-sequence generators 23, desirably the relationship of orders m1 and m2 of the M-sequence generator 23 is set to a relatively prime relationship.
In
The data position replacing circuit 26 in the random error generating device of the fourth embodiment of
Further, the relatively prime relationship is maintained in the numbers of registers m1, m2, . . . , and mn of the M-sequence generators 231, 232, and 23n.
In each time the clock (CLK) supplied from the clock circuit 16, the M-sequence generators 231, 232, . . . , and 23n supply the parallel pieces of bit data having the bit configurations m1, m2, . . . , and mn and apply the parallel pieces of bit data to one (X terminal) of the input terminals of the comparator 6.
One (X terminal) of the input terminals of the comparator 6 comprises the terminal of the number of bits m=m1+m2+, . . . , and mn to which the numbers of bits m1, m2, . . . , and mn of the parallel pieces of bit data supplied from the M-sequence generators 231, 232, . . . , and 23n are added.
On the other hand, the parallel m-bit reference value that is inputted by the operator using the reference value setting circuit 7 is fed into the other input terminal (Y terminal) of the comparator 6.
The comparator 6 supplies the random error signal a that becomes the error bit when the numerical value A taken in from one (X terminal) of the input terminals is equal to or lower than the reference value B taken in from the other input terminal (Y terminal).
In the random error generating device of the fifth embodiment, the period of the bit data string supplied in each of the M-sequence generators 231, 232, . . . , and 23n varies because the number of registers in each of the M-sequence generators 231, 232, and 23n is set to the relatively prime relationship.
Accordingly, because the period of the data stream of the plural pieces of bit data can be lengthened over all the M-sequence generators 231, 232, and 23n fed into one (X terminal) of the input terminals of the comparator 6, the randomness of the random error signal a supplied from the error generating device can sufficiently be improved.
Generally, in the test apparatus that performs various tests to various communication instruments incorporated in the digital communication network in which the electric signal cable is used or the optical communication network in which the optical fiber cable is used, it is necessary that the test signal matched with actual usage of the communication instrument of the test target be fed into the communication instrument to evaluate a reply operation of the communication instrument.
In one of kinds of the evaluation tests of the communication instrument, the test signal intentionally including the error matched with the actual usage is adopted as the test signal delivered to the communication instrument of the measurement target. Therefore, it is necessary to evaluate that the communication instrument is normally operated to what extent of an incidence rate (error rate) E of an error included in the test signal.
The random error generating device of the invention has the specified error rate that is available as the test signal, and the random error generating device supplies the random error signal whose error distribution approximates the error distribution caused by the noise generated in the optical communication or electric communication.
The M-sequence generator of the invention can be applied in order to realize the random error generating device.
Number | Date | Country | Kind |
---|---|---|---|
2007-297073 | Nov 2007 | JP | national |
This is a Continuation Application of PCT Application No. PCT/JP2008/070702, filed Nov. 13, 2008, which was published under PCT Article 21(2) in Japanese. This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2007-297073, filed Nov. 15, 2007, the entire contents of which are incorporated herein by reference.
Number | Date | Country |
---|---|---|
63-221426 | Sep 1988 | JP |
4-117521 | Apr 1992 | JP |
10-197610 | Jul 1998 | JP |
2002-330192 | Nov 2002 | JP |
WO 2008087948 | Jul 2008 | WO |
Entry |
---|
ITU-T Telecommunication Standardization Section of ITU O.182; Series O: Specifications of Measuring Equipment; Equipment for the measurement of digital and analogue/digital parameters; Equipment to assess error performance on Optical Transport Network interfaces; Jul. 2007; pp. 1-38. |
English translation of the IPRP, issued in Int'l. App. No. PCT/JP2008/070702, mailed Jul. 8, 2010. |
Number | Date | Country | |
---|---|---|---|
20100205235 A1 | Aug 2010 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2008/070702 | Nov 2008 | US |
Child | 12769341 | US |