Practica_3_TC

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Application of the channel codification in Digital Television

-
School of Engineering
Universitat Autonoma de Barcelona
08193 Bellaterra Cerdanyola del Vallès (Barcelona)
Email: -

Abstract—This report delves into the realm of Communication The-


ory, focusing on the practical application of channel coding in digital
television. The significance of channel coding in enhancing message
transmission is explored, particularly in the context of external interleav-
ing. Through the study of MPEG standards and the interplay between
channel coding, source coding, and modulation, this report aims to
provide a comprehensive understanding of how channel coding optimizes
Fig. 2. Message receiver
communication systems. Key concepts such as Convolutional Interleaving,
AWGN Channel modeling, and Error Rate Calculation are discussed
in detail to showcase the practical implementation of channel coding
techniques. By examining the organization of data in Transport Stream And, between the sender and the receiver, the channel, with a
packets according to MPEG standards, this report sheds light on the simulation of AWGN noise:
intricate processes involved in digital communication.

I. I NTRODUCTION
Channel coding is a fundamental aspect of communication sys-
tems, especially in the realm of digital television where the reliable
transmission of audiovisual content is paramount. By fortifying data
against noise and interference, channel coding ensures the integrity
of transmitted information.
This report delves into the realm of channel coding in digital televi-
sion, focusing on external interleaving techniques such as Convolu-
tional Interleaving. Through an exploration of MPEG standards and
the organization of data in Transport Stream packets, this report aims
to illuminate the role of channel coding in enhancing communication
systems.

II. E XTERNAL CODIFICATION


A. System without codification channel
Let’s start the study by computing the simulation of a frame
generator, which will give us the transmitted frames. For this reason,
we will use a random integer generator, that will be used for
generating the base message and for randomizing the messages.
For the random integer generator, we need to compute the sample
Fig. 3. Communication channel
time, which, knowing the frame length and the bit-rate, can be
computed as follows:
8
Stime = = 3.33 · 10−7 (1)
24 · 106
The message sender are the next three blocks:

Fig. 1. Message sender

Once the sender is made, we are going to make the receiver with
the next blocks:
To see the BER, we will include the Bit Error Rate and to see the
Es
= Q−1 (2 · 10−4 )2

oputput we will include the block display: (3)
No
Computed with Matlab code and converted to log we end up
having:

%Definim la f u n c i :
funcio = ((qfuncinv(2e-4))ˆ2);

%La passem a dB:


Es_n0_dB = 10*log10(funcio)
The result is the next one:
Fig. 4. Bit Error Rate output seen by the display

As we can see, the display shows three parameters, the BER:BER


calculus, the number of error bits received and the total number of
bits received.

Everything is correct except for the BER, which is too big. Fig. 6. Es No result in dB

The problem lies in the BER calculation module not comparing Applying this value in the Error rate calculation block, we can see
the right bits. This is due to a signal delay caused by the Buffer that the BER is the result that we were searching for:
module, which waits for all samples of the frame before sending it.
Consequently, the BER calculation module compares the transmitted
signal bits with the received ones, but with a delay. Even if the same
bits are received, they won’t match due to this delay. Adjusting the
Receive delay parameter in the BER calculation block can easily
resolve this issue.

So, to compute the system delay in samples of the system Fig. 7. New BER
and solve the issue mentioned above, we have to put in the Error
Rate Calculation block a delay of 1504, because we are comparing
B. Reed-Solomon codification
the samples from the transmitted ones, which are delayed 1504
samples. Now we are going to build a Reed-Solomon transmission
channel by adding an RS Encoder and and RS Decoder to our
previous design, which we will configure with the next values
RS(255,239,T=8).

To avoid errors, we have to reconfigure the buffer and the


Error calculation block so they can adjust with the new lengths.

Having made this correction, we have the problem, again, that


the BER is too high, to solve this problem we readjust the buffer
Es
size and we put the N o
of the AWGN channel to 20dB:

Fig. 5. BER block

Now that we have the BER at 0, we can search for the minimum
Es
No
that makes the BER almost zero. With almost zero we are
searching a BER of approximately 2 · 10−4 .

To compute this BER we use the BER formula for a QPSK


communication:
r !
2 · Eb
BER = Q (2)
No
Fig. 8. BER at 0 with the new modifications
Substituting the BER for the value we said before, and isolating
Es
No
:
To understand a little bit more what is happening, we put the BER
of the section above to find out that we still have an almost 0 BER: The relationship between Eb and Es is the next one:
Es = n · Eb (4)
So, the energy per symbol is always greater than or equal to the
energy per bit. The two are equal when each symbol represents only
one bit (as in binary systems).

They are different because they measure different aspects of


the energy usage in a digital communication system. The energy per
symbol takes into account the efficiency gains from using multi-bit
Es symbols, while the energy per bit does not.
Fig. 9. Verification that we still have BER 0 with the last No
C. External interlocking
And after the codification we end up with a BER of 0, so we can To finish this first part, we are going to add to our scheme
re search a new NEs
to have an almost 0 BER. By experimenting and the Convolutional Interleaver at the emitter and a Convolutional
o
changing the value at the AWGN block, we end up with a minimum Deinterleaver at the receiver
BER of 9 dB for the system to function well, this is, the BER after
the decodification being approximately 2 · 10−4 and the BER before
the codification being 0.

That means we have gained 2dB.

Having seen that we have gained 2dB, we are now going to


see the code gain with code RS and without code RS filling out the
next table:

Fig. 12. Complete scheme of the codification and decodification system

This two blocks add a delay which we have to pay attention to


if we want our scheme to work with BER 0. MATLAB tells us that
Fig. 10. Table to compare the different gains this delay is:

Delay = B · (N − 1) (5)
The relationship between the three parameters used to compute
them is the next one: Substituting with our values we have that:

Delay = 17 · (12 − 1) = 187 (6)


We then add this value to the BER calculation blocks and observe
that, a part from a BER 0, the system’s behavior improves against
Gaussian white noise. For the BER after the RS encoder we have to
put the next delay:

Fig. 11. Relationship between the three different expressions

The measured gain over bit energy ((Eb )) and symbol energy (Es )
are different because they represent two different ways of measuring Fig. 13. Delay for the BER block after the RS Encoder
the efficiency of data.

The Eb is the average energy used to transmit one bit of information.


It’s a measure of the efficiency of a digital communication system.
A lower Eb means the system is more efficient because it uses less
energy to transmit information.

The Es is the energy used to transmit one symbol in a digital


communication system. A symbol can represent more than one
bit of information. For example, in a system that uses quadrature
amplitude modulation (QAM), each symbol can represent multiple
bits.
And the delay for the BER before the RS Encoder: And also, we have to compute the delays of the BER block at the
RS encoder and the BER block at the interleaver:

Fig. 14. Delay for the BER block after the RS Encoder
Fig. 18. Delay at the BER block of the RS Encoder
The complete scheme for the codification is the next one:

Fig. 19. Delay at the BER block of the interleaver

Es
Finally, we can see that with a N 0
of value x at the AWGN channel,
we have an almost error free at the start of the system.
B. Puncturing and Soft Decision
In this final section of the lab, we are going to apply the puncturing
Fig. 15. Complete scheme of the codification and decodification system technique directly at the convolutional encoder and decoder block.

Interleaving improves the system’s performance against Gaussian We apply this puncturing technique to reduce the number of
white noise by distributing errors caused by the noise across multiple samples to transmit to solve the issue with the duplication of
frames. samples made by the encoder with Rc = 12 .

This helps enhance the reliability of transmission by spreading The eliminated samples will be recovered by the Viterbi decoder, at
potential errors, reducing the risk of losing or corrupting information the receiver.
in noisy environments.
The results obtained are shown in the next table of contents:
III. I NTERNAL CODIFICATION
In this second part of the lab we will simulate with the Simulink
software the internal codification block of a digital satellite television.
Because of we are working with cable signal transmission, we will
only use the convolutional codification block.
1
A. Convolutional codification 2
To make the scheme with the convolutional encoder and the Viterbi
decoder work properly, we have to add a delay block with the next
delay. This block is used to compensate the delay generated by the
Viterbi decoder:

Fig. 20. Results of the exercises proposed at the lab statement

Fig. 16. Delay block

Fig. 17. Delay block configuration


The code block for the soft decision used to compute all the results Normalization to 1, saturation and bit codification:
is the next one:

Fig. 24. Normalization to 1, saturation and bit codification

Uniform encoder: Quantize and encode the input into specified


Fig. 21. Inside of the Soft Block number of bits.
Saturation: Limits the input signal to the upper and lower saturation
That is composed of the next sub blocks: levels.
Product1: Multiply or divides inputs.
The Gray type QPSK demodulation to obtain -y and -x, that
we made it by an integer delay, followed by an upsample block and And, finally, the rank adjuster for the Viterbi decoder, where we
a Complex to Real-Imag block: add to the input the 22 :

Fig. 22. Gray type QPSK demodulation to obtain -y and -x

Integer Delay: Delay input signal by a specified number of


samples. Fig. 25. Rank adjuster for the Viterbi decoder
Up sample: Upsample by inserting L-1 zeros between input samples.
Complex to Real Imag: Converts the real and imaginary part of the Constant block: Adds a constant at the output of the block
input.
IV. C ONCLUSION
To compute the sigma and the average signal value: In summary, this report has shown how using channel coding
techniques can make TV signals more reliable. By looking at con-
cepts like Convolutional Interleaving and Error Rate Calculation, we
learned how to improve communication systems. Understanding how
data is organized in Transport Stream packets helped me see the
importance of channel coding in protecting information from errors.

By using methods like external interleaving, we can make sure TV


shows and movies reach viewers without getting distorted by noise.
Fig. 23. Sigma and the average signal value
R EFERENCES
Bias: Adds bias to the input. [1] H. Kopka and P. W. Daly, A Guide to LATEX, 3rd ed. Harlow, England:
Gain: Adds gain to the input. Addison-Wesley, 1999.
Standard Deviation: It computes the standard derivation along the
specified dimension of the input.

You might also like