Multi-Phase Shift Keying Modulation Using Generalised Array Codes
Multi-Phase Shift Keying Modulation Using Generalised Array Codes
ABSTRACT
In this paper a Block Coded Modulation (BCM) scheme employing Generalised Array Codes (GAC)
and M-ary Phase Shift Keying (MPSK) modulation technique is proposed. The GAC are encoded in
the usual manner. The encoded data are then used to modulate the signals varying in phase. A maximum
likelihood trellis decoding technique is used to demodulate/decode the received symbols. Simulation
study results show that BCM employing GAC codes and QPSK modulation in AWGN channel yield
5dB or more coding gain over the corresponding uncoded case. Further as M increases the coding gain
decreases over the corresponding uncoded case as expected.
49
K. M. S. Soyjaudah
INTRODUCTION
Array codes, such as product codes and concatenated codes are constructed by
combining other codes (Kaya, 1993). Simple Row and Column (RAC) array codes
may be square or rectangular and have the parameters (n,k,dmin=4), where n is the
number of bits in the code, k is the number of information bits and d min is the codes
Hamming distance. These codes although flexible to design and simple to decode
have a lower value of k than other linear block codes of the same size and Hamming
50
MPSK modulation using GAC codes
distance. Honary et al. (1993, 1995) have proposed another block array code called
Generalised Array Code (GAC) which is based on the augmentation of the RAC
array code by superimposing repetition codes on parity row and/or columns.
A generalised (n,k,d min) array code is an array code in which the columns and rows
subcodes may have different numbers of information and parity check symbols; the
code length n = n1n2 and the total length of the information digits
N = N + N + N ++ N Q (1)
where n1 and n2 represent the number of rows and columns respectively and kp is
the number of information digits in the pth row. The procedures for designing a
linear generalised array code (n0,k0,d0) (Honary et al. 1993) which can also be
described as an array representation of coset codes introduced by Forney (1988 a
and 1988 b) are:
(i) Design a binary array code C1 (n,k,dmin) as shown in Fig. 1a., with single parity
G
check rows and columns and R 1 = (n 2,k2,d2) row codes, where G = where
(ii) Design a binary n1n2 product code & = 3$ , as shown in Fig. 1b. where P is a
binary k2n1, array with only parity check elements; A is a binary (n 2-k2)n1, matrix
where the first row consists of only k=n2-k2 information digits and all columns are
repetition codes,
(iii) If there is information digits left over design a third binary product code C3 as
in Fig. 1c., Where B=(n 1,1,d0) is a repetition row code with k0 th information digit.
51
K. M. S. Soyjaudah
(v) If n=n0+1, delete the symbol which is located in the n1th row and n2th column.
N N¶
5
5
& & 3 $
5
Q
5
5
Q Q
D%DVLF5$&FRGH E$GGLWLRQDOSUR
G
)LJ&RGHVWUX
The procedures for the design of the (8,4,4) GAC code are:
(i) Design the basic (8,3,4) array code C1 with single parity checks (4,3,2) columns
and (2,1,2) repetition row codes.
[ S
[ S
& =
[ S
S S
[
[
& =
[
[
52
MPSK modulation using GAC codes
(iii) Since all information digits have been used, there is no additional array code
C 3.
(iv) Add the two codes C 1 and C2 using modulo-2 addition to obtain C as
[ [ ⊕ S
[ [ ⊕ S
& = & ⊕ & =
[ [ ⊕ S
S [ ⊕ S
Since n0 = n, there is no need to delete the parity check symbol on row 4 and column
2. This is a non systematic code and has a weight distribution of w 0 = 1, w4=14 and
w 8 = 1., where wi is a weight of i. This weight distribution is similar to that of the
(8,4,4) RM code (Peterson & Weldon, 1975; Lin & Costello, 1993). Deleting the
symbol at row 4 and column 2 gives the (7,4,3) Hamming code:
[ [ ⊕ S
[ [ ⊕ S
&=
[ [ ⊕ S
S
[ [ S S S
& = [ [ S S S
S S S S S
53
K. M. S. Soyjaudah
(ii) Design two additional product codes C 2 and C 3 with the structures,
S [ [
& = S [ [
S [ [
& =
[ [ [ [ [
[ [ S ⊕ S
& = & ⊕ & ⊕ & = [ [ S ⊕ S
S ⊕ [ S ⊕ [ [ ⊕ S ⊕
the designed code has the following parameters: (n0=15, k0=7, d0=5)
Trellis decoding of linear block codes has been under investigation since 1974 (Bahl
et al. 1974; Wolf, 1978). Later, a number of soft decision maximum likelihood
decoding algorithms for block codes were proposed (Conway & Stone, 1978; Kasami
et al. 1993; Beery & Synders, 1986). Forney (1988 b) and Forney & Trott (1993)
have stimulated interest in low complexity trellis decoding of block codes for both
practical and theoretical reasons. Recently Honary et al. (1995) have proposed low
complexity trellis design of a wide range of block codes. This trellis design procedure
is described in the next section.
54
MPSK modulation using GAC codes
The trellis design procedure (Honary et al. 1993; Honary et al. 1995) is as follows:
1 F = Q + (3)
PD[ N S
1V = (4)
(ii) Identify each state at depth p by a {k p}-tuple binary vector S p(A) where S p(A) is
given by
( )
6 S $ = 6 S D D D M D PD[^N S ` where aj = 0,1
(iii) The trellis branches start at depth p=0 and ends at depth p=n2; these are labelled
as S0(00...0) and Sn2(00...0) respectively
(iv) The trellis branches at depth p are labelled Xp/Cp where Xp represents the kp-
tuple binary vectors of information digits for the pth row and C p corresponds to the
encoded codewords in the pth row and is obtained from:
where Gp is the generator matrix for the pth row code and ; S and & S are codewords
from the pth rows of the C1 and C2 codes respectively
(v) There are N S branches starting from each state Sp(A) at depth p,(<Nc) each
branch is connected with state Sp+1(A) at depth p+1, which is defined as follows:
6 S + $ M = 6 S $ L + ; S (6)
55
K. M. S. Soyjaudah
(vi) If a second additional code, C3, is used for a code design, at the final depth all
states must be connected to the final state Sn(00....0) with two parallel branches; the
labels of these branches complement to each other.
There are
Q
1R = ∏
S =
NS
(7)
distinct paths through this trellis diagram and each path corresponds to a unique
codeword from the code.
Following the technique outlined above, the trellis diagram of the (8,4,4) code will
have Nc=4+1=5, and Ns=22=4.
We identify the states by a 2-tuple binary vectors and at depth p=0 and p=5 the
trellis has only one state, namely S 0(00) and S4(00), respectively. The trellis diagram
of the (8,4,4) GAC code is given in Fig. 2. The trellis diagram of the (7,4,3) Hamming
code (Fig. 3) is similar to the trellis of the (8,4,4) and differs only in the number of
digits being used for labelling the branches at the final depth.
VWDWHV
56
MPSK modulation using GAC codes
VWDWHV
Following the same procedures we obtain the trellis structure of the (9,6,3) GAC
code shown in Fig. 4.
57
K. M. S. Soyjaudah
In BCM employing MPSK modulation scheme and GAC codes, the encoded data
sequences are used to modulate signals varying in phase. The information bits are
encoded in the usual manner as with linear block codes encoder (Honary et al .1995).
Each row of the block code is transmitted as a symbol. The total number of channel
symbols per codeword is
1 V\PERO = Q (8)
where n1 is the number of rows in the code, and the required signal set M is given
by
0=
PD[ N S
(9)
= = ,
PD[ N S
For example for the (8,4,4) RM code 1 V\PERO = Q = and 0 =
that is, QPSK and similarly for the (16,5,8) RM code the 1 V\PERO = Q = and M =
8, that is, 8PSK is used. Thus the transmission of a complete codeword of the block
code in a MPSK CCM scheme requires n1 channel symbols. The row subcode
determines the size of the signalling scheme to be used. Each row subcode is mapped
to one of the MPSK signals, for example, if k p=2, the CCM scheme employs a
QPSK modulator and if kp =3 an 8PSK modulator is employed.
The application of GAC codes in BCM scheme proposed is similar to that of RAC
in similar scheme. Consider the (8,4,4) GAC code given by
[ [ ⊕ S
[ [ ⊕ S
& =
[ [ ⊕ S
S [ ⊕ S
In BCM MPSK each row is transmitted as a symbol. The uncoded bits, GAC coded
bits, and mapping for the (8,4,4) GAC code are shown in Table 1.
58
MPSK modulation using GAC codes
Table 1. Uncoded bits, GAC coded bits and mappings for QPSK
transmission for the (8,4,4) GAC code
00 00 S1
01 01 S2
10 11 S3
11 10 S4
There are only four possible sequences for both coded and uncoded cases. Hence
the GAC encoded subcode words are transmitted employing QPSK, which is also
the signalling scheme used in the uncoded case. The mapping of the uncoded data
bits and encoded sequences to the QPSK are shown in Fig. 5 on a two dimensional
space.
6
Fig. 5. Matching of codewords and signals points for the (8,4,4) GAC code
(a) Uncoded signal set (b) Coded signal set and mapping
The trellis decoding of block codes in BCM MPSK schemes is similar to the process
of demodulation and decoding separately. The trellis structure of the (8,4,4) GAC
code employing QPSK scheme is given in Fig. 6.
59
K. M. S. Soyjaudah
V V V
V V
V
V
V V
V
V
V V
Fig. 6. Trellis structure of the (8,4,4) GAC. code in QPSK signalling scheme
In the case of the (16,5,8) GAC code in BCM MPSK scheme, all the possible data
sequences and corresponding subcode words and mapping are as shown in Table 2.
Table 2. Uncoded bits, GAC coded bits and mappings for 8PSK transmission
employing the (16,5,8) GAC code
000 0000 S1
001 0011 S2
010 0101 S3
011 0110 S4
100 1111 S5
101 1100 S6
110 1010 S7
111 1001 S8
For each row of the GAC block code there are only 8 possible (i) 3-tuple uncoded
data sequences and (ii) 4-tuple GAC coded subcode words. Therefore, both these
can be transmitted employing the same signalling scheme, namely 8PSK, without
expanding the size of the signalling scheme. The mapping for the uncoded and
coded sequences to the 8PSK signals are illustrated in Fig. 7. The trellis structure
for the decoding and demodulation of the (16,5,8) GAC code is given in Fig. 8.
60
MPSK modulation using GAC codes
PERFORMANCE ANALYSIS
G
* D = ORJ IUHH
G% (10)
G
D
Fig. 7. Matching of codewords and signals points for (a) uncoded 8PSK
transmission (b) (16,5,8) GAC code using 8PSK
61
K. M. S. Soyjaudah
6 6 6
6 6
6
6 6 6
6
6
6 6 6
6 6 6
6 6
6
6 6 6
6
6 6
where dfree is the free Euclidean distance of the code, and do is the minimum Euclidean
distance of the MPSK signal constellations, which are taken as reference for
comparison. dfree is determined by computing the Euclidean distances between all
possible paths of the codes trellis. The expression for the gain G a is used in
determining the performance of block codes in BCM MPSK schemes. However, in
the calculation of the overall coding gain of block codes the rate 5 V defined as
must be used. Hence the overall asymptotic coding gain of the GAC code in BCM
MPSK scheme is given by
G
* D = ORJ IUHH
V
5 G% (12)
G
dfree can be calculated from the portion of the trellis given in Fig.9 and by using
eqn. 6 as
where si and s j can be any possible signal from the signal space as shown in Fig. 9
and dec is the minimum Euclidean distance.
62
MPSK modulation using GAC codes
6L
6 M
Fig. 9. The minimum path distance of GAC coded in BCM MPSK scheme.
For the (8,4,4) GAC code G IUHH is 4 and the minimum Euclidean distance G is 1
while for the (16,5,8) RM G IUHH is 8 and G is 2, both in BCM MPSK scheme. The
asymptotic coding gain of the (8,4,4) GAC code and the (16,5,8) GAC code are
respectively 6 dB and 4.8 dB.
The proposed combined coding and modulation scheme employing block codes
has been simulated for the MPSK modulation scheme with a correlator detection
method. The simulation tests were carried out under AWGN channel conditions
with a mean of zero. For all cases perfect symbol and block synchronisation are
assumed. Fig. 10 shows the decoding results of a number of block codes employing
QPSK modulation scheme. The performance of these codes increases with increasing
coderate, Hamming distance and trellis depth. Further, it can be seen that (8,4,4)
GAC code has about 5 dB gain over uncoded QPSK at a bit error rate of − . Fig.
11 gives the performance of block codes employing 8PSK modulation scheme. The
results of the block codes improve slightly with coderate, Hamming distance and
trellis depth as in the case of QPSK modulation and are about 5 dB better than the
uncoded 8PSK at a bit error rate of − . Fig. 12 gives the performance of block
codes employing 16PSK modulation scheme. The results show that the block codes
give 2 dB or more coding gain over the uncoded 16PSK case at a bit error rate of
− . As expected the coding gain decreases with increasing M.
63
K. M. S. Soyjaudah
)LJ3HUIRUPDQFHRI*$&FRGHVHPSOR\
(
(
H
W
D (
5
U
R
U
U
(
W
L (
%
(
(
615ELW
(
(
H
(
W
D
5
U
R
U (
U
(
W
L
%
(
(
(
615ELW
64
MPSK modulation using GAC codes
)LJ3HUIRUPDQFHRI*$&FRGHVHPSOR\LQ
(
(
(
H
W
D
5
U
R
U
(
U
(
W
L
%
(
(
(
615ELW
ACKNOWLEDGEMENT
65
K. M. S. Soyjaudah
REFERENCES
BAHL, L.R., COCKE, F., JELINEK, F. & RAVIV, J. (1974). Optimal decoding of
linear codes for minimising symbol error rate. IEEE Transactions on Information
Technology 20, 284-287.
BEERY, J. & SYNDERS, J. (1986). Optimal soft decision decoders based on fast
Haddamard Transform. IEEE Transactions on Information Technology 32, 355-
364.
BERGER, Y. (1993). Bounds on trellis size of linear block codes. IEEE Transactions
on Information Technology 39 (1), 541-542.
CONWAY, J. & SLONE, N.J. (1978). Soft decision techniques for codes and lattices,
including the Golay code and Leech lattice. IEEE Transactions on Information
Technology 32 (1), 41-50.
FORNEY, G.D. (1988 a). Coset codes-part 1:Geometry and classification. IEEE
Transactions on Information Technology 34 (5), 1123-1151.
FORNEY, G.D. (1988 b). Coset codes-part 2: Binary lattices and related codes.
IEEE Transactions on Information Technology 34, 1152-1187.
FORNEY, G.D & TROTT, M.D. (1993). The dynamics of group codes: state spaces,
trellis diagrams, and canonical encoders. IEEE Transactions on Information
Technology 39 (5), 1491-1523.
66
MPSK modulation using GAC codes
HUBER, K. (1989). Combined coding and modulation using block codes. Electronic
Letters 25 (7), 1130-1131.
KASAMI, T., TAKATA, T., FUJIWARA, T. & LIN, S. (1991). On multilevel block
modulation codes. IEEE Transactions on Information Technology 37, 965-975.
KASAMI, T., TAKATA, T., FUJIWARA, T. & LIN, S. (1993). On the optimum bit
orders with respect to the state complexity of trellis diagrams for binary linear
codes. IEEE Transactions on Information Technology 39, 242-245.
KAYA, L. (1993). Trellis decoding for array codes. PhD thesis. University of
Lancaster, UK.
LIN, S & COSTELLO, D.J. (1993). In Error Control Coding: Fundamentals and
Applications. Prentice-Hall, New Jersey.
MUDER, D.J. (1988). Minimal trellis for block codes. IEEE Transactions on
Information Technology 34 (5), 1049-1053.
PETERSON, W & WELDON, E.J (1975). In Error Correcting Codes. MIT Press
(Second Edition).
WOLF, J.K. (1978). Efficient maximum likelihood decoding of linear block codes
using a trellis. IEEE Transactions on Information Technology 24 (1), 76-80.
67