I Introduction
In a multiple access communication system, independent sources transmit data over a common channel. A central problem in multi-user coding for the multiple-access communications system is to assign constituent codes () to senders so that they can communicate simultaneously with a common receiver through a multiple-access adder channel(MAAC), even in the presence of noise. The collection of constituent codes is the -user -ary code, denoted by .
The -user -ary code is said to be uniquely decodable (UD) if all sums consisting of one codeword from each constitute code are distinct. Most extensively investigated UD multiuser codes for the MAAC are binary [1] [2] [3] [4]. Lindström, Martirosyan, and Khachatryan gave the multiuser UD codes, where each constituent code consists of only two codewords, one of them being zero [1] [2]. Chang and Weldon’s construction also focused on the symmetric case of each constituent code with two codewords [3].
By distributing those codewords of [2] or [3] among as few users as possible, affine multiuser codes are proposed[4] [5] to achieve higher total rate for a fixed number of users. Each constituent code Hughes and Cooper’s code [4] consist of codewords and Martirosyan’s code [5] is free of that constraints and achieves the higher total rate for a fixed number of users than those of [2] [3].
Multiuser -ary () UD codes was originally studied by Jevtić [6] and was then generalized to the case of arbitrary code length in [7]. By extension of Hughes and Cooper’s idea [4] to -ary, a mixed-rate multiuser -ary code was given in [10] and achieves the higher total rate for a fixed number of users than that of [6] [7].
On the other hand, error-correcting multi-user codes are also studied for noisy MAAC [3][8][9][11]. They usually construct the error-correcting codes from the UD codes.
In this paper, we proposed a construction of a UD -ary -user coding scheme for MAAC. We first give a construction of -ary -user UD code from a -ary -user UD code and a -ary -user difference set with its two component sets and a priori. Based on the -ary -user difference set constructed from a -ary UD code, we recursively construct a UD -ary -user codes with code length of from initial multi-user codes of -ary, -ary, …, -ary. Introducing multi-user codes with higer-ary makes the total rate of generated code higher than that of conventional code.
Ii Preliminary
Ii-a -user -ary MAAC
Let for a given positive integer not less than . Denote the th user’s input, the output of the noiseless MAAC
at each time epoch is given by
where summation is over the real numbers. Clearly, each output symbol of the channel is an integer from set . Symbol and block synchronization are assumed and all of the users are always active.
A noisy MAAC is regarded as a noiseless MAAC cascaded with a discrete memoryless channel [3]. The discrete memoryless channel is -ary-input and
-ary-output, and is completely described by transition probabilities for all the possible input-output pairs
, .Ii-B -user code
Let be a -user -ary code for MAAC composed of constituent codes , . The rate of is , where is the cardinality of . The total rate of is .
The weight of an integer
-vector (a row vector with length
) is defined as , where summation is over the real numbers. The distance between two vectors and is defined as , where the minus sign “” denotes componentwise real-number subtraction.Definition 1
[3] For any positive integer , a -user -ary code over with code length is -decodable, if for any two distinct -ary -vectors and , ,
(1) |
A -user -decodable -ary code with code length is referred to as an -code. A -decodable code is capable of correcting or fewer errors [3], where is the greatest integer less than or equal to . On the other hand, the -decodable code is used for detecting or fewer errors.
An -code is said to be uniquely decodable (UD), and is used for the noiseless MAAC such that the decoder is able to uniquely resolve any possible received word into the transmitted codewords, one from each of the users.
Lemma 1
A -user -ary code is UD, if for any two -ary -vectors and , ,
implies
Ii-C -subset difference set
Let . Denoted by an code with . Given vector , we obtain two vectors and in the following manner. Let be the th element in , and , be the th element in , , respectively. We can always put
(2) |
Let
(3) |
We obtain and . Note that both of sets are over .
Since , for convenience we refer to the -code as -subset -decodable difference set over , denoted by . Except for the domain of the set, the definition of -subset difference set is almost same as that in Definition 1. In this paper, we focus on the code over . To avoid confusion, we call as a set over , not a code. The difference set over plays an important role in our coding scheme.
Iii Uniquely Decodable Multi-User Codes
Iii-a -User UD Code
First, we give a construction of -user UD code from a -user UD code and a -user difference set.
Let and be nonnegtive integers. Without loss of generality, we assume . Let
be -code, and
be -difference set, respectively. When and are given a priori, a -user code
(4) |
is made as follows:
The notations in the above equations are defined as follows:
-
is the first components of vector , and is the last components of , i.e.,
-
is an -vector whose first components are the vector , and whose last components are , i.e.,
Theorem 1
If the -ary code and the difference set over are UD, then of (4) is a -code.
Proof: Clearly, has code length , and is -ary. The number of users in are .
We have that
(8) |
with
(9) | |||||
(10) |
Restricting the -vector of (9) to its first components, we have
(11) |
Thus
(12) | |||||
By assumption of (5), it holds
Then we have that
(13) |
By our notation, the number of users of is represented by , since its code length is . Thus, the relationship between , and is
(14) |
The total rate of code is
(15) |
where and .
Note that when , set is empty set. In this case, .
Iii-B UD Code with Code Length
Based on the construction of (4), we give a recursive construction of -ary multiuser code with code length of .
For any positive integers and , let
(16) | |||||
where Code is recursively constructed as follows.
For step , the initial codes are defined as

Successively for steps , using operation defined in (4), we have
(18) | |||||
Therefore, from equation (18), we can obtain at step . Fig. 1 shows the recursive construction procedure to get code . From the initial 2-user code , , by steps recursion, the code is obtained.
Theorem 2
Given positive integers and , multi-user code is an -code with the number of users and the total rate as
(19) | |||||
(20) |
Proof: Let be the number of users of code for all . First, we want to show
(21) |
All the initial codes of (III-B) have two users, i.e.,
From (14), we have
When and , it follows that
This verifies (21).
Next, let’s show sum rate of (20). For compact notation, let be the sum rate of code . From Theorem 1 and (15), we have
By recursion, we have
When and , it follows that
where
Finally, we have
Therefore we verify (20).
Finally, we show code is UD by recursion. The initial 2-user code , , of (III-B) is UD. Assume that , , is UD. Thus set (see (18)) is UD. By Theorem 1, code is UD. This confirms is UD, and completes the proof.
Remark 1
Note that equations of (19) and (20) are the number of users and the total code of -ary UD codes with . When , viewed as a specific case . The number of users and total rate become
They are as same as that of the code of Construction 2 of [4], Hughes and Cooper give a construction of binary() multi-user code.
Remark 2
Example 1
In this example, we give the recursive construction of .
For , the codes are used to be initialized. When , it follows and . Using equation (III-B), we have the ternary code
Similarly, we have the -ary code
and the -ary code
Successively, at step , we construct code
with constituent codes
and
with constituent codes
At step , we obtain the code
with constituent codes
Comments
There are no comments yet.