Type 3 and 4 errors.

Jan 14, 2023 10:03


Type 3 and 4 errors described below differ from type 1 and 2 errors in some fundamental features.

1. Errors of type 1 and 2 are corrected practically in one elementary operation and do not require enumeration of correction options. In errors of type 3 and 4, a relatively small enumeration is needed - about N elementary operations.

2. An additional external criterion is used to filter out false options in the enumeration. For example, for a communication channel model with bitwise, random and equiprobable distortions, such a criterion can be the condition that the weight (number of values 1 in the binary representation of a byte) of the distortion δk of a byte e'k = ek + δk cannot exceed a certain value MAX_WEIGHT, for example, MAX_WEIGHT = 2.

3. When analyzing errors of types 1 and 2, we used the assumption that there are no other distortions within the dependency distance. Type 3 and 4 errors can be seen as the appearance of additional distortions within the dependency distance for type 1 and 2 errors.

So, let k be odd, i.e. the bk value is informational.

Let

e’k = ek + δk,

e'k+1 = ek+1 + δk+1,

where δk ≠ 0 and δk+1 ≠ 0 are the distorted characters of the encoded text. Let there be no other distortions within the dependency distance.

We will call this situation a type 3 error.

For type 3 error we have:

b'k+3 = e'k+3 - (π(e'k+1 + e'k+2) - π(e'k+2)) = ek+3 - (π(ek+1 + δk +1 + ek+2) - π(ek+2)),



If we assume that b'k+3 = 0, then taking into account that ek+3 - (π(ek+1 + ek+2) - π(ek+2)) = 0, it follows that δk+1 = 0. Therefore, under conditions of type 3 error, we have b'k+3 ≠ 0.

Consider b'k+1.

b'k+1 = e'k+1 - (π(e'k-1 + e'k) - π(e'k)) = ek+1 + δk+1 - (π(ek-1 + ek + δk) - π(ek + δk)). (3.3.3.1)

We have

bk+1 = ek+1 - (π(ek-1 + ek) - π(ek)) = 0 => ek+1 = π(ek-1 + ek) - π(ek). (3.3.3.2)

From (3.3.3.2) from (3.3.3.1) we get

b’k+1 = π(ek-1 + ek) - π(ek) + δk+1 - π(ek-1 + ek + δk) + π(ek + δk).

If we assume that the probability of the event b'k+1 = 0 is equal to 1/N for a random and equiprobable choice of ek-1, ek, as well as a random, but limited by conditions

|δk| <= MAX_WEIGHT, |δk+1| <= MAX_WEIGHT when choosing distortion values, then the probability of occurrence of a non-zero value b'k+1 during decoding is equal to (N-1)/N. With N = 256, this value is 0.996. If b'k+1 = 0, we will assume that the error of type 3 has gone unnoticed.

Note that the criterion for determining the presence of a type 3 error is the same as the criterion for determining the presence of a type 2 error. These are two consecutive non-zero values in the decoded sequence at positions where zeros should be. So how is the decision about the type of error made when two consecutive non-zero values are found?

Note that in most cases where the probability of corruption is low, a type 2 error is more likely than a type 3 error, since it occurs when exactly one byte is corrupted, and a type 3 error occurs when two consecutive byte are corrupted. Therefore, when decoding, upon detection of two consecutive non-zero values at zero positions, in accordance with the technique described in Section 3.3.2, we try to correct the value of e'k - see (3.3.2.1). If the correction of e'k caused both non-null values to disappear, then a type 2 error occurred. If only the first non-null value became null, and the second remained non-null, then a type 3 error occurred, or, as will be shown later, a type 4 error.

Type 3 error correction is performed by enumeration of all possible different distortion values δk+1 such that |δk+1| <= MAX_WEIGHT. For each variant tested, using the type 1 error correction technique (see section 3.3.1), we try to calculate the distortion value δk. The distortion is considered to be corrected successfully if:

1. |δk| <= MAX_WEIGHT;

2. When decoding to zero positions, both elements from non-zero values became zero.

Let us now define the notion of type 4 error.

So, let k be odd, i.e. the bk value is informational.

Let

e’k = ek + δk,

e'k+1 = ek+1 + δk+1,

e'k+2 = ek+2 + δk+2,

where δk ≠ 0, δk+1 ≠ 0 and δk+2 ≠ 0 are the distorted characters of the encoded text. Let there be no other distortions within the dependency distance.

We will call this situation a type 4 error.

Similarly with type 3 error, for b'k+1 we have relation (3.3.3.3). With probability (N-1)/N this value will be non-zero. For b'k+3, in the case of a type 4 error, we have

b'k+3 = e'k+3 - (π(e'k+1 + e'k+2) - π(e'k+2)) = ek+3 - (π(ek+1 + δk +1+ ek+2 + δk+2) - π(ek+2 + δk+2)). (3.3.3.4)

Similarly to b'k+1, suppose that relation (3.3.3.4) takes values from Z/N with equal probability, including zero with probability 1/N. Then it will be non-zero with probability (N-1)/N.

For the next value at the position where 0 should be, it is true

b'k+5 = e'k+5 - (π(e'k+3 + e'k+4) - π(e'k+4)) = ek+5 - (π(ek+3 + ek +4) - π(ek+4)) = bk+5 = 0.

Thus, when an error of type 4 occurs, it is highly probable that exactly two consecutive non-zero elements will appear in the decoding at the places of zeros, i.e. The primary symptom of a type 4 error is the same as for type 2 and 3 errors.

An attempt to correct a type 4 error occurs after attempts to correct two consecutive non-zero values using the type 2 and type 3 error correction techniques described above have failed.

Type 4 error correction is performed by enumeration of all possible different distortion values δk+1 such that |δk+1| <= MAX_WEIGHT. For each variant tested, using the type 1 error correction technique (see section 3.3.1), we try to calculate the distortion value δk. Then, using the type 1 error correction technique, we try to calculate the distortion value δk+2. The distortion is considered to be corrected successfully if:

1. |δk| <= MAX_WEIGHT;

2. |δk+2| <= MAX_WEIGHT;

3. When decoding to zero positions, both elements from non-zero values became zero.

Next page                                                                       Prev page

Previous post
Up