Uniquely Decodable Codes And Decoder for Overloaded Synchronous CDMA Systems
OwnerOmid Mashayekhi, Farokh Marvastiinventors
Life of this patent
Estimating the term…
Abstract
A recursive method for constructing uniquely decodable codes for overloaded synchronous CDMA systems, where large signature codes with growing overloading factors are reconstructed from the small ones. A class of uniquely decodable signature matrices (or encoders) for overloaded synchronous CDMA are also devised. A decoder for synchronous CDMA systems to extract the user data by a number of comparisons with respect to some predefined thresholds.
Claims9
An encoding method for synchronous Code Division Multiple Access (CDMA) in overloaded systems, comprising:
- providing an (m1×n1) logical encoder (LE) S1 to define a sequence of encoders by calculating the following recursive relation, where a kth generation encoder Sk, is a mk×nk LE sequence formed as follows:
- S
- k
- =
- [
- +
- α
- k
- …
- +
- α
- k
- +
- α
- k
- +
- α
- k
- …
- +
- α
- k
- +
- β
- k
- …
- +
- β
- k
- 0
- -
- β
- k
- …
- -
- β
- k
- 0
- S
- ^
- k
- -
- 1
- 0
- 0
- ⋮
- 0
- 0
- S
- ^
- k
- -
- 1
- 0
- ]
- (
- 1
- )
- where mk=2k−1m1, nk=2k−1(n1+1)−1, Ŝk−1 is derived by eliminating the first row of Sk−1 and αk and βk are two arbitrary numbers.
A decoding method for synchronous code division multiple access (CDMA) comprising:
- for S1, given that Y=[y1,y2]T=S1X and {circumflex over (X)} be the decoded data:
- passing y1 to a quaternary Pulse amplitude modulated (PAM) decoder with constellation of {±1, ±3} to generate an output of z, which shows the number of +1s and −1s in {circumflex over (X)};
- If z=+3 or z=−3, then, stop;
- otherwise, from y2 and z:
- if z=+1:
- passing y2 to a ternary PAM decoder with constellation of {0, ±2}, to determine which user sent said −1;
- if z=−1:
- passing y2 to a ternary PAM decoder with constellation of {0, ±2} to determine which user sent said +1;
- for Sk, k≧2 passing y1 to a (2k+1)-ary PAM decoder with a constellation of {±1, ±3, ±(2k+1−1)} to generate an output of z, which shows the number of +1s and −1s in {circumflex over (X)};
- If z is +(2k+1−1) or −(2k+1−1), then the process is terminated and {circumflex over (X)} is composed purely of +1s or −1s, respectively;
- otherwise, passing y2 to a (2k+1−|z|)-ary PAM decoder with a constellation of {0, ±2, ±(2k+1−1−|z|)} to generate an output;
- combining said output and information about the total number of −1s and +1s in {circumflex over (X)}, it is possible to decipher the 2kth entry of {circumflex over (X)}. Moreover, one may determine the number of +1s and −1s in the first and last 2k−1 entries of {circumflex over (X)}, denoted by nl and nr, respectively.
- Applying the decoder of Sk−1 with inputs of
- Y
- l
- =
- [
- 2
- k
- -
- 1
- -
- 1
- -
- 2
-
- n
- l
- y
- 3
- ⋮
- y
- 2
- k
- -
- 1
- +
- 1
- ]
-
-
- and
-
-
- Y
- r
- =
- [
- 2
- k
- +
- 1
- -
- 1
- -
- 2
-
- n
- r
- y
- 2
- k
- -
- 1
- +
- 1
- ⋮
- y
- 2
- k
- ]
- (
- 3
- )
- to identify the first and last (2k−1) entries of {circumflex over (X)}.
Dependencies are inferred from the claim text.