Professional Documents
Culture Documents
1(5)
Abstract
In the North American Digital Cellular Mobile Telephone System, D-
AMPS, described by the standard TIA/EIA IS-54, only a part of the digi-
tal speech information is protected against transmission errors by an
error correcting code. This thesis considers a scheme that uses coded bits
to decrease the bit error rate of both uncoded bits and time-delayed
coded bits during detection. The detection scheme has been imple-
mented in a simulation environment for D-AMPS.
2(5)
Acknowledgements
The first part of the Master’s thesis, written as a conference contribu-
tion, could not have been written without the generous help of Karim
Jamal of Ericsson Radio Systems, department of Radio Access and Sig-
nal Processing Research and Håkan Eriksson and Per Ödling both of
Luleå University of Technology, division of Signal Processing. The
opportunity to write such kind a paper gave us great inspiration and joy.
We are most grateful to them for their help.
We also want to thank our adviser, Johan von Perner of Ericsson Radio
Systems, department of Radio Base Station Development, he gave us
valuable support, when we were developing the reference simulator. As
the new detection scheme was developed, we experienced a large
amount of inspiration and help from our adviser Karim Jamal. Therefore
we want to thank him once more, for his excellent guidance.
3(5)
Introduction
This Master’s thesis project was performed at Ericsson Radio Systems
in Kista, Sweden, as a partial fulfillment of the degree of Master of sci-
ence in computer science and electrical engineering at Luleå University
of Technology. This project is a result of a cooperation between two
departments of Ericsson Radio Systems: the department of Radio Access
and Signal Processing Research (section of Radio Access Research ERA/
T/UR) and the department of Radio Base Station Development (section
of Digital Modem Design AR/RB).
The aim of this thesis has been to evaluate the substance of a re-detec-
tion scheme herein denoted the multi-pass re-detection scheme, pro-
posed by Paul Dent, of Ericsson-GE Mobile Communications Inc., RTP,
NC. In order to measure the performance gain of the above-mentioned
method, we have implemented a multi-pass re-detection scheme in the
SysSim1 simulation environment. We have been able to simulate the per-
formance of both the original receiver (a product simulator of TRX884, a
part of a base station for the D-AMPS system) and the multi-pass
receiver, run under actual conditions. Through these simulations, we
have been able to study various facets of the performance of the multi-
pass receiver.
4(5)
however, not included.
5(5)
Part 1
Forward-Error-Control-Assisted Detection of Uncoded Bits in IS-54
Abstract—In the North American Digital Cellular it could also be possible to improve the BER for both the
Mobile Telephone System, D-AMPS, described by the uncoded and coded bits belonging to this next frame [8].
standard EIA/TIA IS-54, only a part of the digital speech The speech distortion known as “warbling”, sometimes
information is protected against transmission errors by an encountered in the VSELP speech decoder of D-AMPS, is
error correcting code. We evaluate a method, suggested in mainly due to bit errors among the uncoded bits. A method of
[1], that uses coded bits interleaved among uncoded bits to
improving the BER for uncoded bits, with either a differential
decrease the bit error rate among the uncoded bits. In this
method information about error-corrected data bits is fed detector or with a maximum likelihood sequence estimator
back to aid a subsequent re-detection of the uncoded data (MLSE), has recently been put forward in [1]. With a suitably
bits. chosen interleaving pattern, a significant BER reduction is
Simulations indicate that a decrease in the bit error rate claimed for the uncoded bits.Thus it is expected that such a
for unprotected speech data bits is achievable. A perfor- re-detection scheme would enhance the speech quality notice-
mance gain of up to 3 dB of C/I has been experienced on a ably. In this paper we evaluate the scheme suggested in [1] for
frequency selective fading channel for a residual bit error the transmission format of D-AMPS.
rate of 1%. Related work can be found in e.g. [4], [5] and [6] where
decoded data have been fed back to aid the detection process.
I. INTRODUCTION However, none of these papers exploits unequal error control
In this paper, the detection of blocks of binary data in digi- coding.
tal cellular telephone systems is investigated. Many contem- This paper proceeds as follows: Section II gives a short
porary communication systems use unequal Forward Error description of the channel coder and the interleaver employed
control Coding (FEC) [2], that is, some bits are protected by in the reference transmission system. Section III presents the
more error correcting codes than other bits. This gives the one-pass receiver. Section IV outlines the re-detection of
receivers access to more information about some bits than uncoded bits with the aid of coded bits. Section V studies an
about others. We investigate the potential of a scheme that implementation of the re-detection scheme, denoted multi-
takes advantage of this. pass receiver, with the one-pass receiver, as a building block.
We will focus on applying a re-detection method to the Depending on the interleaving, three types of multi-pass
North American D-AMPS system, specified by the standard receivers are studied, called the two-pass, three-pass and
EIA/TIA IS-54 [3]. In the D-AMPS transmission format, the composite receiver, respectively. The simulation setup is
bursts consist of both coded and uncoded bits, and the coded described together with the simulated performances of the
bits are interspersed among the uncoded. This implies that multi-pass receivers in Sections VI and VII. An assessment of
after having decoded the surrounding coded bits, an enhanced the increase in complexity of implementing the multi-pass
re-detection of the uncoded bits could be possible. receivers is given in Section VIII, and finally, conclusions are
Assuming that the protected bits have been decoded cor- presented in Section IX.
rectly, these bits are used as known bits when re-detecting the
burst. Due to the memory in the modulation (differential II. CHANNEL CODING AND INTERLEAVING
modulation), the re-detection can improve the Bit Error Rate The IS-54 standard discriminates among three levels of
(BER) for the uncoded bits. Memory induced by the channel FEC-induced protection, see Figure 1. For the bits with the
(ISI) also allows for improvement, as does the use of decision lowest significance, referred to as class 2 bits, no protection is
directed channel tracking. invoked. For the bits at the next level of significance, class 1
Within a burst, the bits from the current frame are mixed bits, a convolutional code has been used. Among the class 1
with bits from the next frame, due to interleaving. Therefore bits, the partition corresponding to the perceptually most sig-
1(6)
nificant bits, here denoted class 1a bits, have been addition-
ally protected by means of a cyclic redundancy check code ~
B[k] ^ ^ class 1 bits
(CRC). All other class 1 bits are referred to as class 1b bits. B[k] C[k-1]
detector deinterleaver decoder
^
F[k-1]
^ ^
tail bits
c [k-1] Z-1 c [k]
12 most 2 2
perceptually 5 class 2 bits
significant bits
12 Linear 7
178
2-slot interleaver
(19,12) encoder
speech coder
class 1
(2,1,5) bits 260 260
77
class 1 bits decoder. The sequence estimation is done with a soft output
82
Viterbi detector. After the detection of the current burst, B[k],
class 2 bits de-interleaving is done, creating the frame C[k-1]. The class 1
bits are then decoded, while the class 2 bits are taken directly
from the de-interleaved frame, C[k-1].
Figure 1. The channel coding and interleaving [2]
IV. DETECTION OF UNKNOWN BITS AMONG KNOWN IN IS-54
In the block-diagonal interleaving scheme of D-AMPS,
both coded and uncoded bits of a frame are written column- To take advantage of the unequal protection of the trans-
wise into a bit matrix, able to contain one frame. The bits are mitted bits, the protected bits are, when successfully decoded,
then transmitted row-wise in a burst B[k]. used for restraining the trellis of the Viterbi detector (the
number of valid transitions between the states in a trellis is
reduced) in a subsequent re-detection of the unprotected bits.
C[k-1] C[k] The restraining of the trellis, based upon knowledge of
coded bits, is determined by the method of modulation. With
0 1
2 3
differential phase shift keying, as used in D-AMPS, the infor-
.
.
.
.
.
.
.
.
mation lies in the differential phase shifts, so the restraining
. . . .
will be in terms of transition restraining.
2(6)
ite receiver, which is a combination of the two- and three-pass
Q Q Q Q receivers, avoids the time delay, but is able to use more pro-
tected bits than the two-pass receiver, see Figure 6.
3(6)
in Hz. Receiver antenna diversity is simulated by using two
paths with channel correlation ρ=0.7. White Gaussian noise is
Transmitter Channel Receiver
added to each path, prior to receiver filtering, with a constant
signal to noise ration (Eb/N0) of 35 dB.
TX
RCH
(Carrier)
C. The Receiver
C+I RX
Rayleigh
τ α
A. Analysis of class 2 bit performance
Interferer
fader, f d
ρ
Figure 9 shows the performance gain in C/I at 1% RBER of
Rayleigh
fader, f d
the different receivers, compared to the one-pass receiver,
(1−ρ 2) "C/I"
Rayleigh
B simulated on a fast fading channel for different time disper-
τ α
fader, f d
sions, up to one symbol time (here, time dispersion divided
with the sample rate, 8 samples/symbol). According to the
Figure 8. The simulated channel simulation results shown in Figure 9, the class 2 bit perfor-
mances of the multi-pass receivers are more or less indepen-
Figure 8 shows the simulated channel model, with Ray- dent of the degree of time dispersion.
leigh fading and co-channel interference.
The base band equivalent radio channel is modelled by a
two-path FIR model. The paths being uncorrelated and com-
plex Gaussian, with the second-order statistics described by
the isotropic scattering model [7]. This model is characterized
by the parameters (τ,α,fd), where τ is the delay interval, i.e.
the distance between the paths in fractions of the symbol
time, TS, see Figure 8. The relative attenuation of the second
path is α, and fd is the Doppler spread of the Rayleigh fading
4(6)
3.5
0
10
x FER
3
One−pass
−1 Two−pass
2.5 10
Composite
Performance gain (dB)
2 Three−pass
−2
10
1.5
RBER
1 Three−pass −3
10
Composite
0.5 Two−pass
One−pass
−4
10
0
−0.5
0 1 2 3 4 5 6 7 8 −5
Time dispersion (tau) 10
4 6 8 10 12 14 16 18 20
C/I (dB)
Performance simulations with fading channels without composite receiver is as good as the three-pass receiver.
time dispersion and varying C/I are shown in Figures 10 and
11. VIII. ASSESSMENT OF THE COMPLEXITY
The computational complexities of the multi-pass receivers
are higher than the complexity of the one-pass receiver (due
10
0 to the re-detection). About 75% of the computations in the
x FER detector, such as the decision directed channel tracking, have
One−pass to be performed separately for each detector. This adds sub-
10
−1 Two−pass stantially to the increase in complexity. However, because of
Composite the restraining, not all transition metrics of the Viterbi algo-
Three−pass
rithm need to be computed. This will limit the increase in
−2
10 complexity. The fact that the synchronization has to be done
only once for all detectors will also limit the complexity.
RBER
10
−3 The increase in computational complexity for the two- and
three-pass detectors is about 80%. The composite detector
(including all three detectors) has an increase in complexity
10
−4 of about 160% compared to the one-pass detector.
Furthermore, algorithm-specific computations, e.g. the cal-
−5
culation of feedback data, will contribute to an additional
10
4 6 8 10 12 14 16 18 20 increase in complexity that is difficult to estimate, but we
C/I (dB)
assess this as small.
Figure 10. Class 2 RBER; fd=7 Hz, τ=0 Memory usage is also a consideration. An additionally
received burst has to be stored; interleaver memory must be
The Frame Erasure Rate (FER) is measured as the number added to contain restraining information between bursts;
of erased frames per total number of simulated frames. In the memory for detector-specific restraining information must be
simulations, the performance gain of the re-detection scheme provided, etc.
tends to increase with the Doppler spread. The figures shows The main reason for the high complexity of the multi-pass
that the three-pass receiver has a higher performance gain receiver is that decision-directed channel-tracking is used in
than the two-pass receiver. At 1% RBER, the composite each detectors. If this can be avoided, e.g. by channel interpo-
receiver has a performance gain of about 2 dB compared to lation, complexity will decrease substantially. In systems
the one-pass receiver but about 1 dB performance loss com- where the channel can be considered stationary, e.g. the
pared to the three-pass receiver. At very low C/I values, the
5(6)
GSM, or systems where differential detection may be used, Radio,” IEEE Transactions on Vehicular Technology, Vol. 42, No. 1,
e.g. the PDC, the complexity is expected to be less of a prob- February 1993, pp. 94-102.
lem. [7] R.H Clarke, “A Statistical theory of Mobile Radio Reception,” Bell
System Technical Journal, 1968, pp. 957-1000.
IX. CONCLUSIONS [8] P. Deutgen & F. Randers, “Forward-Error-Control-Assisted Detection,”
A scheme for FEC-assisted detection of the uncoded bits of Master’s Thesis 1994:149E, Luleå University of Technology, Div. of
Signal Processing, 1994.
the D-AMPS format has been investigated. The performance
at 1% RBER of the uncoded bits is improved by approxi-
mately 2 dB C/I on a fading, time-dispersive channel. The
performance gain is more or less independent of the amount
of time dispersion1. Other simulations indicates that the effec-
tiveness of the FEC-assisted detection of the uncoded bits is
dependent on the interleaving employed. The improvement is
assessed to have a noticeable impact on the speech quality of
the system, since the speech distortion problem known as
“warbling” is largely an effect of bit errors among unpro-
tected bits.
The complexities of the studied multi-pass detectors are
relatively high. Compared to a conventional detector, the
increase in computational load is about 160%. This is mainly
due to the use of equalizers with decision directed channel
tracking. For systems where this is not required, e.g. the GSM
(Global System for Mobile Communication) or the PDC (Per-
sonal Digital Cellular) systems, the total complexity is
expected to be significantly smaller.
ACKNOWLEDGEMENT
We wish to express our gratitude towards Mr. Karim Jamal
of Ericsson Radio Systems AB for his significant contribu-
tions to the present work.
REFERENCES
[1] P. Dent, “Invention Disclosure for Decodulation,” Internal Document
Ericsson-General Electric, RTP/EGE/CT/Y 93:0009, May 1993.
[2] S. Lin and D.J. Costello Jr., “Error Control Coding: Fundamentals and
Applications,” Englewood Cliffs, NJ: Prentice Hall, 1983.
[3] EIA/TIA Interim Standard IS-54-B, “Cellular System Dual-Mode
Mobile Station - Base Station Compatibility Standard,” Electronic
Industries Association, 1992.
6(6)
Part 2
Detection of Unknown Bits Among Known Bits.
Petra Deutgen and Frode Randers
• A fully known symbol, where both bits of the symbol Due to the Gray coding normally used, there will be no
are known. decrease in bit error probability, for the unknown bits, see
Figure 1.
• A partially known symbol, where one bit of the sym-
bol is known.
Besides the two different modulation forms and the two M=4
symbol constellations this paper also considers two channel Q Q
cases, with Intersymbol Interference (ISI) and without ISI. In
(-1,1) (-1,-1)
the former case a maximum likelihood sequence estimator
(MLSE) is used, and in the latter case a memoryless threshold
I I
detector is used. The results are presented in a table, consist-
ing of the following sections: (1,1) (1,-1) (1,1) (1,-1)
• QPSK modulation and channel with no ISI
• QPSK modulation and channel with ISI
a) Symbol unknown b) Symol partially known;
• DQPSK modulation and channel with no ISI first bit known to be 1
• DQPSK modulation and channel with ISI Figure 1. The restraining of signal points
II. POSSIBILITES FOR PERFORMANCE GAINS The QPSK modulated symbol is equivalent to two inde-
No estimations of possible gains are made in the following pendent BPSK symbols each representing one bit and the
sections. Only the question if there will be a gain or not in the decision boundary does not change for one of the bits when
detection, using a specific method, is considered. knowing the other. The only gain possible is an enhanced
channel (phase) estimation for the surrounding unknown
QPSK MODULATION AND CHANNEL WITH NO ISI symbols, as in Subsection A.
This system exhibits no kind of dependencies between the
1(3)
QPSK MODULATION AND CHANNEL WITH ISI due to the differential modulation. The channel has no mem-
This system exhibits dependencies between the symbols. ory and therefore a detector without equalizer is used in this
The channel has memory and therefore an equalizer is used in section. In this section the re-detection method of the QPSK-
this section. In Subsection A, re-detection of the QPSK modu- modulated fully known symbols is described.
lated fully known symbols is discussed and in Subsection B
A. Fully known symbols
re-detection of partially known symbols is discussed.
The re-detection method applied to this form of detection
A. Fully known symbols will consist of knowing (any number of) phase changes up to
The detection of the unknown symbols will benefit from some point and thereafter use an enhanced initial vector for
the surrounding known symbols due to the ISI. The trellis of a detecting the following unknown symbol. Based upon a
Viterbi algorithm is forced to go through a single state at each known phase shift Θ1, i.e. the angle between vector z[k-1] and
known symbol, see Figure 2. Thus a gain is possible due to vector z[k], a better estimate of the starting vector for the sub-
better ISI-estimation and better channel-tracking because of sequent unknown phase-shift Θ2 is feasible [1]. Figure 4
more reliable decisions.
M=4 Θ 1 = π/2 (Known phase shift)
Q z[k-1]
M=4 Unknown Fully known Unknown
symbol symbol symbol
Θ1
I
~
Θ2
z[k]
z[k+1]
Figure 2. A fully known coherent symbol
2(3)
three symbols, first symbol and last symbol are unknown
M=4 z[k]=x[k]+n 2 while the second symbol is fully known. One effect of this
kind of restraining is that the trellis is forced apart at the loca-
tion of a fully known symbol. As in the case of coherent mod-
Q n ulation there is a performance gain possible due to better ISI
1 Fully known
phase shift estimation and better channel-tracking. A performance gain
z[k-1] because of noise averaging is also made possible, due to the
Enhanced differential modulation.
vector
z[k]
B. Partially known symbols
I
There are 2 transitions out of each state, see Figure 7, lead-
Shifted z[k-1] n
2 ing to two possible transitions at the location of the partially
(n 1 + n 2) / 2 known symbol. A case dealing with both fully known sym-
bols and partially known symbols is studied and simulated in
[2].
Figure 5. Symbol enhancement
this unknown phase-shift would be correct. In this case the Unknown Partially known Unknown
M=4
differential detection would have the same performance as a symbol symbol symbol
coherent detector. The maximum increase is thus less than 3
dB. If an unknown symbol is surrounded by infinitely many Q Q Q
known symbols, the performance increase has no limit.
IV. REFERENCES
[1] P. Dent, “Invention Disclosure for Decodulation,” Internal Document
Ericsson-General Electric, RTP/EGE/CT/Y 93:0009, May 1993.
3(3)
Part 3
Re-Detection of Coded Bits for IS-54
1(4)
could decrease the performance gain of the re-detection
10
0 scheme when utilized to restrain the trellis. The effect of
using incorrect bits in the pruning of the trellis is analyzed in
x FER
One−pass
Subsection A.
−1
10 Three−pass 2) The influence of the channel tracking on the perfor-
mance of the re-detection scheme is discussed in Subsection
10
−2 B.
3) Differences in performance of the multi-pass scheme
RBER
−4
A. Simulations with all class 1 bits used in the restraining
10
compared with simulations with only class 1a bits used in the
restraining.
10
−5
Incorrectly received bits will introduce error-propagation
4 6 8 10 12 14 16 18 20
C/I (dB) when they are used to prune the trellis in the re-detection.
Simulations are performed with two different definitions of
Figure 2. Class 1 RBER, fd=77 Hz, τ=0 which bits may be considered known:
B. Analysis of class 1 bit performance for the two-pass 1) All class 1 bits are considered as encompassed in the
receiver. CRC check and thus known in a subsequent re-detection.
2) Only coded class 1a bits are considered known in a sub-
Figure 3 shows the RBER experienced with the one- and
sequent re-detection. This demands a strict classification of
two-pass receivers [1]. The two-pass receiver has a perfor-
coded class 1a bits.
mance loss compared to the one-pass receiver.
The classification of coded class 1a bits is necessary since
all class 1 bits are convolutionally encoded and a coded bit
10
0 may have been computed based upon information on both
class 1a bits and class 1b bits. The strict classification regards
x FER
the constraint length of the encoder and refers to the coded
One−pass
10
−1
Two−pass class 1 bits which have been computed only based upon infor-
mation on class 1a bits, parity bits produced by the block
−2
coder and tail bits (known bits) [2].
10
Simulations are done to compare the one-pass and the two-
RBER
2(4)
1 1
One-pass Two-pass, soft dec., class 1a, no est
Two-pass, class 1a+1b Two-pass, soft dec., class 1a, est
Two-pass, class 1a
0.1 0.1
RBER
RBER
0.01 0.01
0.001 0.001
0.0001 0.0001
0 1 2 3 4 5 6 0 1 2 3 4 5 6
SNR (dB) SNR (dB)
Figure 4. Class 1 RBER, AWGN, soft decision, [all class1, Figure 5. Class 1 RBER, AWGN, soft decision, [channel-
class 1a] used tracking, no channel-tracking] used
B. Simulations with and without channel tracking C. Simulations with hard and soft information to decoder
In the two- and three-pass detectors, the paths in the trellis The detectors used in the simulations can produce either
are forced to follow predestinated transitions at locations cor- soft or hard information to the decoder. The soft information
responding to known class 1 bits. Because the detection is provided by the detector depends on the certainty of the deci-
coherent with a subsequent differential decoding, at least one sions during detection [3]. In the re-detection scheme, loca-
transition out from each state will always be allowed (corre- tions in the trellis, corresponding to known bits and also
sponding to a location with a fully known phase shift) [1]. surrounding locations, will produce re-detected bits with a
Due to this, the quick merge of nodes in the two- and three- soft value implying higher certainty than the corresponding
pass detectors is prevented where the trellises are pruned. bits have got during the one-pass detection. Thus the decoder
Instead, the paths are forced apart. This side-effect, when could get erroneously detected bits with soft values indicating
pruning the trellis, might affect the channel tracking, when high certainty. The utilization of soft information in this case
the channel-tracking is done according to the coherent states may decrease the performance gain of the decoder compared
in the trellis. to when hard information is used, instead of increasing it.
Figure 5 shows simulations done with channel tracking and Therefore, differences in performance of the re-detection
without channel tracking, using the AWGN channel with the scheme when using soft information versus hard information
same conditions as in section C where all class1 bits are con- is analyzed.
sidered as known during the re-detection. According to the Simulations are done to compare the performance of the
simulations the channel tracking has no negative effect on the two-pass receiver passing soft information versus hard infor-
performance of the two-pass re-detection of the coded bits. mation to the decoder. Figure 6 shows the performance of the
Though the side-effect, that the trellis are forced apart, when two-pass receiver when using soft information, all class 1 bits
pruning the trellis, might still be a cause to the bad perfor- used as known or just the class 1a bits used as known and
mance for the re-detection scheme in some other sense than hard information with the same classification of known bits.
that the channeltracking is not negatively affected. The simulations show that for increasing C/I values, the gain
increases for the two-pass receiver using hard decisions, i.e.
the performance is better than the performance of the two-
pass receiver using soft information. It seams likely that the
current soft decision algorithm is incompatible with this re-
detection scheme.
The comparisons between the performance gain of the two-
and one-pass receiver both using hard information and only
3(4)
the class 1a bits as known, is shown in Figure 7. According to on class 1a bits only in the re-detection scheme is preferred
the simulations, the gain increases when multi-pass re-detec- before using all class 1 bits. The way the pruning of the trellis
tion is used, even though the increase is almost zero. is done is not affecting the channel tracking negatively, but
might affect the performance of the multi-pass receiver in
some other extent. Comparison of the performance of the
1 one- and two-pass receiver, using hard decision and only the
Soft decision, class 1a+1b
Soft decision, class 1a bits protected by the CRC, indicates that re-detection can be
Hard
Hard
decision,
decision,
class
class
1a+1b
1a
used to increase the performance of the class 1 bit detection.
0.1 The performance gain is negligeable though. The perfor-
mance for different types of interleaving has not been simu-
lated since the interleaving is stipulated by the standard IS-54.
0.01
The performance can probably be increased further by using a
more suited scheme of interleaving.
RBER
REFERENCES
0.001
[1] P. Deutgen & F. Randers, “Forward-Error-Control-Assisted Detection,”
Master’s Thesis 1994:149E, Luleå University of Technology, Div. of
Signal Processing, 1994.
0.0001
[2] EIA/TIA Interim Standard IS-54-B, “Cellular System Dual-Mode
Mobile Station - Base Station Compatibility Standard,” Electronic
Industries Association, 1992
1e-05
0 1 2 3 4 5 6 [3] G. Bottomley, “Soft information in ADC,” Internal Report RTP/EGE/
SNR (dB) CT/Y 93:0024, Ericsson-General Electric, July 1993.
1
One-pass, hard decision
Two-pass, hard decision, class 1a
0.1
0.01
RBER
0.001
0.0001
1e-05
0 1 2 3 4 5 6
SNR (dB)
IV. CONCLUSIONS
The soft decision algorithm employed today [3] should be
modified if a re-detection of the class 1 bits should be useful.
For low to moderate C/I values, the utilization of information
4(4)
Part 4
A Functional Description of the Multi-pass
Equalizer
1(19)
Contents
5 References 12
2(19)
1 The REQU core
Compute Process
Synchronize
Sequence of R & Phi R & Phi
samples from Demod
diversity
path 1 Polar complex
Adaptive Detected
channel bits
equalizer
based upon
SSVE, FSVE
Compute Process or PFVE
Synchronize
Sequence of R & Phi R & Phi scheme
samples from
diversity
path 2 Feedback information on estimated frequency error
3(19)
available conversions. The REQU uses polar complex samples internally
so for instance cartesian complex samples could be converted to polar
complex samples in this block. Compute R&Phi also limits the phase to a
value between 0 and 2π. The samples will at this point be π/4-DQPSK,
see Figures 2.
pi/4 DQPSK
5
1
Quadrature
−1
−2
−3
−4
−5
−5 0 5
Inphase
4(19)
DQPSK
1.5
0.5
Quadrature
0
−0.5
−1
−1.5
−1.5 −1 −0.5 0 0.5 1 1.5
Inphase
as an initial value for the adaptive channel estimation scheme, see Fig-
ures 1 and 6.
5(19)
2 The Multi-pass Equalizer Scheme
~ ^ ^ ^ ^
S[k] F[k-1] = { f1[k-1], f2[k-1] } B[k-1] (Class 1&2)
convolutional
detector 1 de-interleaver
decoder
-1 ^ convolutional
^
f2[k-1] Z f2[k] encoder
^
{ f1[k-1], 0 }
prepare
if CRC[i-1] is OK feedback
~ ~ (Two-pass)
{ f1[k-1], f2[k] } ^ ^
detector 2 { f1[k-1], f2[k]}
(Two-pass) -1 ^
0Z f2[k-1]
^ ^
Z -1 { f1[k-1], f2[k-1] } (Class 2 only)
detector 3
~ ~ (Three-pass) ^ ^
{ f1[k-2], f2[k-1] }
{ f1[k-2], f2[k-1] }
prepare
if (CRC[i-1] is OK & CRC[i-2] is OK) feedback
^ ^
{ f1[k-2], f2[k-1] } (Three-pass)
^ -1 ^
f1[k-2] Z f1[k-1]
6(19)
purpose we use the CRC check flag from the decoder. Keep in mind
though that the CRC check involves the class 1a bits only. There is an
inherent problem with this because we may use incorrect information on
class 1b bits when we experience (heavy) garbling of class 1b bits with-
out having a CRC fail situation for the class 1a bits.
The two pass detector makes use of information on class 1 data bits com-
puted in the one-pass detector and converted during the process of
channel encoding and index calculation (see above). Only the Euclidean
distance metric Viterbi is modified to make use of this information and
the two- and three-pass detectors may only be run in this mode. The
idea is that given information on convolutional- and block coded class 1
7(19)
data bits, i.e. data bits that we may check for correctness, we prune the
trellis to reflect that we for some samples know what phase shifts should
occur and thus may increase the ability to detect the intermingling class
2 data bits correctly. In the actual pruning process we use the 312 bit
index vector, that is aligned with the 312 bit information part of the
received frame, while processing the received signal. At all locations in
the index vector where the value differ from zero, i.e. positions held by
known bits, we assume we know these bits with absolute certainty thus
setting the specific ∆-metrics to infinity. This forces the Viterbi algorithm
to exclude all paths not corresponding to the known phase shifts
through the trellis.
The composite multi-pass detector combines the class 2 bits from the
two-pass detector and the three-pass detector. The class 1 bits are taken
from the one-pass receiver. After having received B[k] by the one-pass
receiver, both a re-detection of B[k] by the two-pass detector and a re-
detection of B[k-1] by the three-pass detector, is initiated. From these two
re-detected bursts the class 2 bits are taken to form the class 2 bits frac-
tion of F[k-1]. B[k], holds {c1[k-1], c2[k]} and B[k-1], holds {c1[k-2], c2[k-1]}
thus the class 2 bits of c1[k-1] are taken from the two-pass detector and
the class 2 bits of c2[k-1] are taken from the three-pass detector, see Fig-
ures 4 and 7.
8(19)
Q
π/2 ~ (-1,1)
(-1,-1) ~ 0
I
(1,-1) ~ 3π/2
π ~ (1,1)
9(19)
3 Calculation of bit errors
No “physical” speech-frame is assembled in this implementation. Based
on the CRC check from the one-pass channel decoder, we choose to
count bit errors either from the two-/three-pass channel decoder (when
CRC is affirmative) or from the one-pass channel decoders. If, for
instance, this system should be used to produce “physical” frames, e.g.
with “real” speech-coded signals, code would have to be written to
assemble frames. The present code is found in mpass_ber_calc.C.
10(19)
5 References
[1] P. Dent, “Invention disclosure of Decodulation,” Internal Document
Ericsson-General Electric, RTP/EGE/CT/Y 93:0009, May 1993.
[2] K. Jamal, “Equalization for the ADC standard,” Internal report T/U
91:260, 1991.
[3] K. Jamal, “Fractionally Spaced Viterbi Equalization,” Internal report
T/BU 92:075, 1992.
[4] P. Deutgen & F. Randers, “Forward-Error-Control-Assisted Detec-
tion,” Master’s Thesis 1994:149E, Luleå University of Technology,
Div. of Signal Processing, 1994.
11(19)
6 The SysSim simulation model
dmtCarr rattxCarr
dmt_sim rattx
int RATE=1 int RATE=1
dmtInt float offset_q=0 int blocklength=1584
inFrame float gain_q=1 outFrame inFrame int SAMPLERATE=194400 outFrame
dmt_sim float offset_i=0
float gain_i=1
int RATE=1 int startTA=0
float offset_q=0 int timeAlign=0
inFrame float gain_q=1 outFrame int startGuard=30
float offset_i=0 int dvccPar=10
float gain_i=1 int syncNr=1
int startTA=0 int burst_mode=1
int timeAlign=0 int filter_mode=1
int startGuard=30 int upsa=4
int dvccPar=10 bool imp_model=TRUE
int syncNr=2 float bt=0.2
int burst_mode=1 float window_offset=0
int filter_mode=1 float beta=0
int upsa=4 float alpha=0.35
bool imp_model=FALSE float imp_length=12
float bt=0.2 float ampl=5100
float window_offset=0 SimStr inFileName="dmt/test/wfg_filter.dat"
float beta=0 int oblocklength=1584
float alpha=0.35 int iblocklength=284
float imp_length=10
float ampl=5150
rach
SimStr inFileName="dmt/test/wfg_filter.dat"
int oblocklength=1584 rach
int iblocklength=284
rattxInt
int RATE=1
rattx float SAMPLERATE=194400
rachIn rachOut
int RATE=1
int blocklength=1584
inFrame int SAMPLERATE=194400 outFrame rachIn1 rachOut1
ratrxA dfiltA
ratrx dfilt
pdigtA
int RATE=1 int RATE=1
int SEED=1986921971
pdigt
inFrame int blocklength=1584 rssout rss outFrame
int RATE=1
double maxOut=256
iqout inFrame int outBits=0 outFrame phi
int blocklength=1584
ratrxB dfiltB
ratrx dfilt
pdigtB
int RATE=1 int RATE=1
int SEED=1202277023 pdigt
inFrame int blocklength=1584 rssout rss outFrame
int RATE=1
double maxOut=256
iqout inFrame int outBits=0 outFrame phi
int blocklength=1584
ber_calc
ber_calc
int RATE=1
dequdect source_in
equdec
coded_in
int RATE=1
detected_frame_three detected_frame_three
uch_frame_one uch_frame_one
uch_frame_two uch_frame_two
uch_frame_three uch_frame_three
facch_frame_one facch_frame_one
sacch_frame_one sacch_frame_one
data_crc_flag_one data_crc_flag_one
data_crc_flag_two data_crc_flag_two
ber_estimate_one ber_estimate_one
Figure 6.
12(19)
This is part of the model for the
FEEDBACK
multi-pass simulation chain.
6.2 The REQU
13(19)
processrphi synchronize
Figure 7.
crphiB in_frame_phi_B facch_frame_one facch_frame_one
int RATE=1 int RATE=1
computerphi int AFCMode=0 float WeightFactor=1.05
fe_est_in int AGCMode=1 r_out r float SyncLp=0.02 start_sample start_sample_B sacch_frame_one sacch_frame_one
int RATE=1 int blocklength=1584 float MuGainLimit=1000
int ConversionMode=1 float MuSlope=0.08
y int blocklength=1584 r r_in phi_out phi float CorrMin=30 h_init h_init_B data_crc_flag_one data_crc_flag_one
int NmbSncWds=1
int SncNmbNxt=2
phi phi_in int SncNmb=1 tap_gains tap_gains_B data_crc_flag_two data_crc_flag_two
int MuMapping=0
int MuAlpha=1
int FloatWnd=0 direction direction_B data_crc_flag_three data_crc_flag_three
int WndLen=32
int NmbHTaps=
int ExpectedPos=244 sacch_crc_flag_one sacch_crc_flag_one
int DownSampFactor=1
int CorrelationMode=1
int FseFactor= dvcc_status_one dvcc_status_one
int filterlength=20
int blocklength=1584
ber_estimate_one ber_estimate_one
fe_est_frame_B
FEEDBACK
one_pass_ddt one_pass_dcdt noninterl_dcet
mpass_demod dcdt_sim mpass_dcet
int RATE=1 int RATE=1 int RATE=1
float ExpectedFeEst=0 int individ=1 bool DECODULATOR=TRUE
index_frame float Afc3=0.1 out_frame_det inFrame int interMix=0 speechFrame inFrame outFrame
float Afc2=0.001 bool facchFlag=FALSE @
float Afc1=0.01 int dvccPar=10
in_frame_r_A int Afc5=3 fe_est_frame_A int softLim=12 facchFrame mpass_equ
int Afc4=50 int noSoftBits=10
int AfcMode=0 int softCh=1
int RATE=
in_frame_phi_A float MuMpl=0.033 fe_est_frame_B int burstMode=1 sacchFrame
float Mu=0.15 int simMode=0 dummy_index
start_sample_A fe_est_frame_A
float Wd=0.02
start_sample_A float Rd=0.995 dataCrcFlag rnd_source
float Gamma=0.0001
h_init_A detected_frame_one
float IsiLp=0.02 int RATE=1
h_init_A int CdvccNmb=10 sacchCrcFlag int seed=1994
int SncNmb=1 int blocklength=1 outFrame
tap_gains_A detected_frame_two
int StartGuard=30
tap_gains_A int FeedbackMode=1 dvccStatus
int PassNmb=1
direction_A detected_frame_three
int ExpandedMode=0
direction_A int AdaptationMode=1 berEstimate
int NmbDivCh=2 three_pass_index_calc in_frame_phi_A uch_frame_one
int DecDelay=4
in_frame_r_B int UpdDelay=2 index_calc
int SLength=1 multi-pass simulation chain. in_frame_r_A uch_frame_two
int NmbHTaps=4
int RATE=1
in_frame_phi_B int FseFactor=2
This is part of the model for the
int IndexData=1
bool VDD=FALSE
inCRCFromOnePass
int PassSelector=3 outIndexBitsFrame in_frame_r_B uch_frame_three
bool Soft=TRUE
int oframelength=312
start_sample_B bool Weighting=TRUE
int iframelength=284
bool Prediction=TRUE
inCodedBitsFrame in_frame_phi_B facch_frame_one
6.3 The multi-pass equalizer
int oblocklength=284
h_init_B int filterlength=20
int iblocklength=1584
two_pass_index_calc start_sample_B sacch_frame_one
int indexlength=1
tap_gains_B
index_calc
h_init_B data_crc_flag_one
direction_B int RATE=1
int IndexData=1
tap_gains_B data_crc_flag_two
inCRCFromOnePass
int PassSelector=2 outIndexBitsFrame
From model input
int oframelength=312
int iframelength=284
direction_B data_crc_flag_three
inCodedBitsFrame
14(19)
Figure 8.
three_pass_ddt sacch_crc_flag_one
two_pass_ddt two_pass_dcdt
ddt mpass_dcdt ddt
three_pass_delay dvcc_status_one
From model input
int RATE=1
int RATE=1 int RATE=1 three_pass_delay int PASS_SELECTOR=3
int PASS_SELECTOR=2 int PASS_SELECTOR=2 ber_estimate_one
indexFrame int EXPANDED_MODE=3 outFrameDet
indexFrame int EXPANDED_MODE=3 outFrameDet detected_frame decoded_frame
int RATE=1 int INDEX_LENGTH=312
int INDEX_LENGTH=312
int filterlength=20
fe_est_frame_B
inFrameRA int blocklength=1584 outFrameRA inFrameRA
inFrameRA data_crc_flag
instartSampleA outstartSampleAstartSampleA
startSampleA
instartSampleB outstartSampleBstartSampleB
startSampleB
data_crc_flag
one_pass_ber_calc
ber_calc_xl
int RATE=1
int dvccPar=10
sourceIn int burstMode=1
bool facchFlag=0
int statInterval=200
codedIn int skipNr=100
int errDataOut=0
modemIn
decodedIn
facchIn
sacchCrcFlag
dvccStatus
berEstimate
@
ber_calc
two_pass_ber_calc
int RATE=
mpass_ber_calc
source_in
int RATE=1
int PassSelector=2
coded_in sourceIn int burstMode=1
int statInterval=200
int skipNr=100
detected_frame_one codedIn int errDataOut=0
detected_frame_two modemInOne
detected_frame_three modemIn
uch_frame_one decodedInOne
uch_frame_two decodedIn
uch_frame_three dataCrcFlagOne
facch_frame_one dataCrcFlag
sacch_frame_one berEstimate
data_crc_flag_one
data_crc_flag_two
data_crc_flag_three
sacch_crc_flag_one
dvcc_status_one
three_pass_delay three_pass_ber_calc
ber_estimate_one
ber_calc_delay mpass_ber_calc
int RATE=1 int RATE=1
int PassSelector=3
sourceIn sourceOut sourceIn int burstMode=1
int statInterval=200
int skipNr=100
codedIn codedOut codedIn int errDataOut=0
dataCrcFlagOne
Eat_CRC
dummysink_i dataCrcFlag
int RATE= 1
bool debug=FALSE berEstimate
inFrame int blocklength=1
Figure 9.
15(19)
7 Templates for simulation
FADE 7 77
TAU 0 2 4 8
CIR 4 5 8 10 12 14 16 18
SNR 35
FREQ_ERR 0
CH_SEP 0
STEP 3101
sim build
/* Set RATE */
set **/RATE 1
cd /mpass_dvc/dfiltA
source dfilt/dfilt.ini
cd /mpass_dvc/dfiltB
source dfilt/dfilt.ini
cd /
/*---------------------------------------------------
Parameters used to force dfilt to produce (i,q)
samples,i.e. carthesian complex samples instead of any
obfuscated (rss,phi) samples that we would have to
16(19)
invert anyway.
*--------------------------------------------------*/
set /mpass_dvc/dfiltA/t2/bypass TRUE
set /mpass_dvc/dfiltA/t2/eqmode FALSE
set /mpass_dvc/dfiltB/t2/bypass TRUE
set /mpass_dvc/dfiltB/t2/eqmode FALSE
/*---------------------------------------------------
Parameters used to force dfilt to skip the suspicious
“ladder”-mode. Instead we use a simple filter which
only amplifies the signal with a constant gain = b0
*--------------------------------------------------*/
set /mpass_dvc/dfilt?/mf22/bypass FALSE
set /mpass_dvc/dfilt?/mf22/ladderMode FALSE
set /mpass_dvc/dfilt?/mf22/b0 1000
/*---------------------------------------------------
The correlation between the carrier and the interferer
in the two ray model. This together with the amplitude
of the interferer relative the carrier ‘amplitude’ may
be used to simulate a flat non fading channel
(correlation=1, amplitude=”-200”).
See below for FADE == 0.
*--------------------------------------------------*/
set **/CORR/correlation 0.7
/*---------------------------------------------------
Statistical interval is now set to 200. That means
that the number of simulations will be broken down
into small pieces on which we may build more robust
statistics
*--------------------------------------------------*/
set **/statInterval 200
set **/COVERICHA/skipNr 100
set **/COVERICHB/skipNr 100
set **/TXCMOD/skipNr 100
/*---------------------------------------------------
Since dmt comprises a program written in pascal as
well as one written in C++, neither one being possible
to instantiate, we must choose different models for
the modulator of the carrier and the modulator of the
interferer. For the carrier we choose the C++ model
(implementation model TRUE) and for the interferer the
Pascal program (implementation model FALSE).
*--------------------------------------------------*/
set /mpass_dvc/dmtCarr/imp_model True
set /mpass_dvc/dmtCarr/imp_length 12
set /mpass_dvc/dmtCarr/ampl 5100
set /mpass_dvc/dmtInt/ampl 5150
cd /mpass_dvc/dequdect
17(19)
set crphi?/ConversionMode 1
set prphi?/AGCMode 1
set sync?/FseFactor 2
set sync?/ExpectedPos 244
set sync?/CorrelationMode 1
set sync?/WndLen 32
set sync?/WeightFactor 1.5
cd /mpass_dvc/dequdect/mpass_equ/one_pass_ddt
set Weighting TRUE
set IsiLp 0.02
set FeedbackMode 1
set FseFactor 2
set NmbDivCh 2
set ExpandedMode 0
set SLength 1
cd /mpass_dvc/dequdect/mpass_equ/two_pass_ddt/demod
set Weighting TRUE
set IsiLp 0.02
set FeedbackMode 1
set FseFactor 2
set NmbDivCh 2
set ExpandedMode 3
set SLength 1
cd /mpass_dvc/dequdect/mpass_equ/three_pass_ddt/demod
set Weighting TRUE
set IsiLp 0.02
set FeedbackMode 1
set FseFactor 2
set NmbDivCh 2
set ExpandedMode 3
set SLength 1
cd /
/* BER calculation */
set **/errDataOut 0
set **/statInterval 200
set **/skipNr 100
cd /mpass_dvc/ber_calc
set one_pass_ber_calc/skipNr 100
set two_pass_ber_calc/skipNr 100
set three_pass_ber_calc/skipNr 101
cd /
#if FADE==0
set **/CORR/correlation 1.0
set **/amplitude “-200”
18(19)
set **/statInterval 200
#endif
#if FADE==7
set **/statInterval 500
#endif
#if FADE==77
set **/statInterval 200
#endif
sim cons
/* Simulate */
sim start
s
s STEP
sim stop
exit
19(19)