• 沒有找到結果。

SNR estimator based on multiple hops

Numerical results presented in the above section indicate that Estimator C is the best choice for incoherent DPSK systems while Estimator B is best SNR estimate for coherent DPSK systems in terms of bias. In the subsequent discourse we will use these two estimators for incoherent and coherent DPSK systems, respectively.

Figs. 3.6 and 3.7 tell us that the performance of a SNR estimator improves as the number of symbols used increases. On the other hand, the AJ capability improves as the hopping rate increases or equivalently, as the number of bits per hop decreases. A higher hopping rate forces the jammer to distribute its total power over a wider bandwidth;

see Fig. 2.3. But if the the number of bits per hop decreases the number of bits so is the number of samples used for estimating SNR. To solve this dilemma we propose the multiple-hop SNR estimation scheme shown in Fig. 3.11.

As bits in a hop are either jammed or unjammed, we need to determine whether a received block (hop) is jammed. Assuming the jamming strategy remain unchanged over a period of several hops, we associate each hop with either SNR1 (jammed) and SNR2

(jamming-free). Let C1and C2be the number of hops that belong to the jammed (SNR1) and unjammed (SNR2) categories, respectively. Every time a new block is received and the corresponding SNR estimate [SNR is obtained, we classify this block according to the estimated SNR, checking whether it is closer to SNR1 or SNR2. Hence, after the SNR estimate [SNR for the kth received hop is obtained, we update both representative SNR and the number of each class via

ˆt = arg min(|[SNR − SNR1|, |[SNR − SNR2|) (3.37)

SNRt is then used to normalize the received bit’s reliability. However it is necessary to set an upper limit for the Cibecause once the jammer change the jamming strategy, [SNR

SNR estimator new received signal in

a hopping block Initial

SNR1=0, SNR2=0

Close to SNR1 ?

weighted average with SNR1 weighted average

with SNR2

True False

set to be SNR1 and scale receive

reliablity set to be SNR2

and scale receive reliablity

Figure 3.11: A multiple-hop SNR estimate scheme.

and SNRt are likely to be far apart. By having an upper limit for Ci, the averaged SNRt

be able to track the true SNR closely. In our simulation we let the upper limit be 100 in this multiple-hop SNR estimator. One important assumption is that the jammer can change its jamming occupancy but the rate of the jammer changing jamming occupancy is very slow comparing to the speed that the averaged SNRt adapt to the SNR of the new jamming occupancy.

Fig. 3.13 shows the simulation result of an IBP turbo coded FH/DPSK system with Estimator C. Since the hopping block size is 100, the number of symbols used to estimate SNR in every block is 100. It results in a performance degradation of 0.7 dB when compared with the perfect known SNR case shown in Fig. 3.12. For a full band

jammer an error floor around BER = 10−5 does exist. When the multiple-hop SNR estimate is used Fig. 3.14 shows that the performance degradation is reduced to 0.3dB and the performance in the presence of full band jammer, like that of a conventional turbo code, has a water-fall region around BER = 10−5.

0 1 2 3 4 5 6

1E-6 1E-5 1E-4 1E-3 0.01 0.1 1

Bit error rate

Eb/NJ (dB)

u=1.0 u=0.7 u=0.4

Figure 3.12: AJ performance of a turbo coded FH/DPSK system; interleaver size 400, perfect SNR estimate.

0 1 2 3 4 5 6 7 1E-6

1E-5 1E-4 1E-3 0.01 0.1 1

Bit error rate

Eb/NJ (dB)

u=1.0 u=0.7 u=0.4

Figure 3.13: AJ performance of a turbo coded FH/DPSK system; interleaver size 400, Estimator C.

0 1 2 3 4 5 6 7

1E-6 1E-5 1E-4 1E-3 0.01 0.1 1

Bit error rate

Eb/NJ (dB)

u=1.0 u=0.7 u=0.4

Figure 3.14: AJ performance of a turbo coded FH/DPSK system; interleaver size 400, multihop SNR Estimator C.

Chapter 4

IBP Turbo Codes and

Decision-aided DPSK Detection

4.1 Turbo coded systems

A turbo code is composed of two parallel recursive systematic convolutional codes separated by an interleaver. It promises a BER performance close to the well known theoretical Shannon limit and was invented by Berrou et al. Berrou [2]. The key to the near Shannon-limit performance lies in the interleaver design and the iterative (turbo) decoding algorithm. Fig. 4.1 shows an exemplary turbo code defined by the 3GPP standard [7] while Fig. 4.2 presents a typical turbo decoder structure. For convenience of reference and comparison, we will use the corresponding convolutional codes and interleaver in our turbo coded systems. The input to the encoder is the data sequence {bn : bn = ±1} and the output consists of three bit streams: the information bits {c0,i} = {bi}, the parity bit stream {c1,i} out of the first convolutional encoder and the parity bits {c2,i} out of the second convolutional encoder with the interleaved data stream {π(bi)} as the input. The soft-in soft-out decoder notated as SISOois composed of two a posteriori probability (APP) decoders and an interleaver-deinterleaver pair. The APP decoders are responsible for computing the log-likelihood ratio and the so-called extrinsic information associated with each bit bn based on the noise-corrupted versions of {c1,i} and {c2,i}, respectively.

D D D

D D D

Interleaver

b C0

C2 C1

Figure 4.1: The turbo code encoder defined by the 3GPP standard.

1st SISO APP Decoder

2nd SISO APP Decoder

Interleaver Interleaver

r0 r1

r2

Figure 4.2: A turbo decoder structure (with zero internal delay).

The log-likelihood ratio of a given bit is a probabilistic reliability measure which is related to the corresponding a prior information and the extrinsic information. The first and the second APP decoders provides the reliability and extrinsic information about the data sequence {bn} and its interleaved version while the interleaver and the de-interleaver make sure that the extrinsic information is in right order. As shown in Fig.

4.2, the APP decoding process is carried out for several times until the decoder output meets some stopping criterion or a maximum number of iterations has been reached.

For our turbo coded systems, the maximum number of decoding iteration is set to be 10 and no early-stopping mechanism is in place.

Decoding

M odule Decoding

M odule Decoding

M odule

Figure 4.3: A modular pipelined turbo decoder.

SISO1st

Figure 4.4: Decoding module for one decoding iteration.

The iteratively (turbo) decoding algorithm can be implemented as P pipelined iden-tical elementary SISO decoders SISOeo [2]; see Figs. 4.3 and 4.4.

4.1.1 MAP decoding algorithm

The MAP decoding algorithm computes the conditional a posteriori probabilities of a bit given the observed sequence r. It ensures the minimum symbol error probability performance. The corresponding log-likelihood ratio is given by

Li(bi) = logP {bi = 1|rN1 }

P {bi = 0|rN1 } (4.1)

where 1 ≤ i ≤ Nb, Nb is the length of the information sequence and rN1 is the vector representation of the received sequence of duration N samples. The decision about bi is made based on

= log We have the BCJR form of the log-likelihood ratio

Li(bi) = log where the auxiliary parameters are defined by

αi(m) = P {Si = m, ri1} (4.4)

βi(m) = P {rN1+1|Si = m} (4.5)

γi(m, m0) = P {Si = m0, ri|Si−1= m} (4.6) These parameters (decoding metrics) have probabilistic interpretations:

• αi(m) is the forward state metric which can be seen as the probability of being at state m at time i given the observation of the received sequence from the beginning to time instant i.

• βi(m) is the backward state metric which is the probability of the received sequence form time instant i + 1 to the end given that the encoder state is m at time instant i.

• γi(m)(m0) is the branch metric which is the probability of receiving ri and being at state Si = m0 given the previous state Si−1= m.

Moreover, the forward and backward state metrics can be recursively computed via αi(m0) =

M −1X

m=0

αi−1(m) · γi(m, m0) (4.7)

βi(m) =

M −1X

m0=0

βi+1(m0) · γi(m, m0). (4.8) Proper boundary conditions for αi(0) and βi(N ) should be given, depending on how {bn} and {π(bn)} are encoded. In case of RSC encoders, the received values ri are split into two component vectors, representing the systematic and parity parts.

ri = (yis, ypi) (4.9)

and the branch metric can be separated into the following two terms according to whether 1 or 0 is transmitted.

γi1 = p(ysi|bi = 1) · p(ypi|bi = 1, Si = m, Si−1= m0) · π(Si = m|Si−1= m0) (4.10) γi0 = p(ysi|bi = 0) · p(ypi|bi = 0, Si = m, Si−1= m0) · π(Si = m|Si−1= m0) (4.11) where π(Si = m|Si−1 = m0) is the state transition probability and is a function of the encoder structure and input statistic. For an AWGN channel,

log [p(yis|bi = l)] = 2Es

N0xsi(l)yis (4.12)

log [p(yip|bi = l)] = 2Es

N0

xpi(l)ypi (4.13)

where xsi(l) and xpi(l) are the systematic and parity bits when the ith information bit is l(= 1 or −1). Es/N0 has to estimated by a proper algorithm given in the last chapter.

相關文件