SlideShare a Scribd company logo
the CRC lets you know if a package arrived 'OK' or 'NOT OK'. Every packet that is sent
has a CRC, or a 'Signature'. As an analogy, it's like when we send a letter to someone,
and in the end we sign: 'My Full Name'. When the other person receives this letter
(information), he checks the signature: 'My Wrong'. In this case, he tells the Messenger:
'I don't know 'My Wrong', this information has some problems. Please ask sender to send
it again!'.
I.e. I do CRC checks. If the CRC is 'wrong', the information is 'wrong'. If the CRC is
'correct', probably the information is 'correct'.
Retransmissions
Retransmissions are then: send information again (repeat) to the receiver, after it make
such a request. The receiver requests that the information be retransmitted whenever it
cannot decode the packet, or the result of decoding has been an error. That is, after
checking that the information reached the receiver is not 'OK', we should request it to be
retransmitted.
Of course, when we have a good link (SNR), without interference or problems that may
affect data integrity, we have virtually no need for retransmissions.
In practice, in real World, this is very difficult to happen, because the links can face the
most different adversities. Thus, an efficient mechanism to enable and manage the
retransmission is essential.
We consider such a mechanism as efficient when it allow data communication in a link
meet quality requirements that the service demands (QoS).
Voice for example, is a service where retransmission does not apply. If a piece of
information is lost, and is retransmitted, the conversation becomes intelligible.
On the other hand, data services practically rely on retransmission, since most have - or
allows - a certain tolerance to delays – some more, some less. With the exception only
for 'Real Time' services.
But it is also important to take into account that the greater the number of needed
retransmissions, lower the data transmission rate that is effectively reached: If the
information have to be retransmitted several times, it will take long for the receiver to
obtain the complete - final - information.
ARQ
Till now we talked in a generic way about data retransmissions, error checking and
correction. Let's now see some real and practical schemes.
The simplest way (or more common) control using what we described above is known as
ARQ, or 'Automatic Repeat Request'.
In ARQ, when we have a 'bad' package, the system simply discards it, and asks for a
retransmission (of the same package). And for this, it sends a feedback message to the
transmitter.
These feedback messages are messages that the receiver uses to inform whether the
transmission was successful or not: 'ACKnowledgement' (ACK) and 'Non-
ACKnowledgement' (NACK). These messages are transmitted from the receiver to the
transmitter, and respectively informs a good (ACK) or bad (NACK) reception of the
previous packages.
If in the new retransmission the packet keep arriving with errors, the system requests a
new retransmission (still for this same package). That is, sends another 'NACK' message.
The data packets that are not properly decoded are discarded. The data packets or
retransmissions are separately decoded. That is, every time a packet that arrives is bad,
it is discarded, and it is requested that this same package be retransmitted.
But see that if there were no retransmissions, the performance of the data flow would be
much better. In the example below, compared with the previous, we transmit more
information - 3 times in the same time interval.
Unfortunately we don't have much to do about the link conditions. Or better, we are able
to improve the links performance, for example with configuration parameters
optimization, but we'll always be subject to face adverse conditions. In this case, our
only way out is to try to minimize retransmissions.
And that's where arise other techniques or more 'enhanced' schemes for retransmission.
The main one is HARQ.
Hybrid ARQ (HARQ)
The HARQ is the use of conventional ARQ along with an Error Correction technique called
'Soft Combining', which no longer discards the received bad data (with error).
With the 'Soft Combining' data packets that are not properly decoded are not discarded
anymore. The received signal is stored in a 'buffer', and will be c ombined with next
retransmission.
That is, two or more packets received, each one with insufficient SNR to allow individual
decoding can be combined in such a way that the total signal can be decoded!
The following image explains this procedure. The transmitter sends a package [1]. The
package [1] arrives, and is 'OK'. If the package [1] is 'OK' then the receiver sends an
'ACK'.
The transmission continues, and is sent a package [2]. The package [2] arrives, but let's
consider now that it arrives with errors. If the package [2] arrives with errors, the
receiver sends a 'NACK'.
Only now this package [2] (bad) is not thrown away, as it is done in conventional ARQ.
Now it is stored in a 'buffer'.
Continuing, the transmitter send another package [2.1] that also (let's consider) arrives
with errors.
We have then in a buffer: bad package [2], and another package [2.1] which is also bad.
Does by adding (combining) these two packages ([2] + [2.1]) we have the complete
information?
Yes. So we send an 'ACK'.
But if the combination of these two packages still does not give us the complete
information, the process must continue - and another 'NACK' is sent.
And there we have another retransmission. Now the transmitter sends a third package
[2.2].
Let's consider that now it is 'OK', and the receiver sends an 'ACK'.
Here we can see the following: along with the received package [2.2], the receiver also
has packages [2] and [2.1], that have not been dropped and are stored in the buffer.
In our example, we see that the package arrived 2 times 'wrong'. And what is the limit
of these retransmissions? Up to 4. IE, we can have up to 4 retransmission in each
process. This is the maximum number supported by 'buffer'.

More Related Content

Viewers also liked

Single-Bit Parity Detection and Correction using Hamming Code 7-Bit Model
Single-Bit Parity Detection and Correction using Hamming Code 7-Bit ModelSingle-Bit Parity Detection and Correction using Hamming Code 7-Bit Model
Single-Bit Parity Detection and Correction using Hamming Code 7-Bit Model
Universitas Pembangunan Panca Budi
 
L2 MAC LTE PROCEDURES revC
L2 MAC LTE PROCEDURES revCL2 MAC LTE PROCEDURES revC
L2 MAC LTE PROCEDURES revCVincent Daumont
 
Stop-and-Wait ARQ Technique for Repairing Frame and Acknowledgment Transmission
Stop-and-Wait ARQ Technique for Repairing Frame and Acknowledgment TransmissionStop-and-Wait ARQ Technique for Repairing Frame and Acknowledgment Transmission
Stop-and-Wait ARQ Technique for Repairing Frame and Acknowledgment Transmission
Universitas Pembangunan Panca Budi
 
matlab
matlabmatlab
Advance Repeat reQuest (ARQ)
Advance Repeat reQuest (ARQ)Advance Repeat reQuest (ARQ)
Advance Repeat reQuest (ARQ)
Muhammad Irtiza
 
Number system
Number systemNumber system
Number system
Sajib
 
Stop and Wait arq
Stop and Wait arqStop and Wait arq
Stop and Wait arqpramodmmrv
 
Number system utm notes
Number system utm notesNumber system utm notes
Number system utm notes
Kurenai Ryu
 
Arq Protocols
Arq ProtocolsArq Protocols
Arq Protocols
anishgoel
 
Number system
Number systemNumber system
Number system
samypanch1234
 
LTE Basics - II
LTE Basics - IILTE Basics - II
LTE Basics - II
Praveen Kumar
 
Number system
Number systemNumber system
Number system
Palash Sachan
 
Flag Registers (Assembly Language)
Flag Registers (Assembly Language)Flag Registers (Assembly Language)
Flag Registers (Assembly Language)
Anwar Hasan Shuvo
 
Number System
Number SystemNumber System
Number System
samarthagrawal
 
LTE-Advanced Physical Layer
LTE-Advanced Physical LayerLTE-Advanced Physical Layer
LTE-Advanced Physical Layer
Praveen Kumar
 

Viewers also liked (20)

Harq & arq interactions in lte
Harq & arq interactions in lteHarq & arq interactions in lte
Harq & arq interactions in lte
 
Harq
HarqHarq
Harq
 
Single-Bit Parity Detection and Correction using Hamming Code 7-Bit Model
Single-Bit Parity Detection and Correction using Hamming Code 7-Bit ModelSingle-Bit Parity Detection and Correction using Hamming Code 7-Bit Model
Single-Bit Parity Detection and Correction using Hamming Code 7-Bit Model
 
L2 MAC LTE PROCEDURES revC
L2 MAC LTE PROCEDURES revCL2 MAC LTE PROCEDURES revC
L2 MAC LTE PROCEDURES revC
 
Stop-and-Wait ARQ Technique for Repairing Frame and Acknowledgment Transmission
Stop-and-Wait ARQ Technique for Repairing Frame and Acknowledgment TransmissionStop-and-Wait ARQ Technique for Repairing Frame and Acknowledgment Transmission
Stop-and-Wait ARQ Technique for Repairing Frame and Acknowledgment Transmission
 
Al2ed chapter7
Al2ed chapter7Al2ed chapter7
Al2ed chapter7
 
matlab
matlabmatlab
matlab
 
Advance Repeat reQuest (ARQ)
Advance Repeat reQuest (ARQ)Advance Repeat reQuest (ARQ)
Advance Repeat reQuest (ARQ)
 
Number system
Number systemNumber system
Number system
 
Okkkkk
OkkkkkOkkkkk
Okkkkk
 
Stop and Wait arq
Stop and Wait arqStop and Wait arq
Stop and Wait arq
 
Number system utm notes
Number system utm notesNumber system utm notes
Number system utm notes
 
Arq Protocols
Arq ProtocolsArq Protocols
Arq Protocols
 
Go Back N ARQ
Go  Back N ARQGo  Back N ARQ
Go Back N ARQ
 
Number system
Number systemNumber system
Number system
 
LTE Basics - II
LTE Basics - IILTE Basics - II
LTE Basics - II
 
Number system
Number systemNumber system
Number system
 
Flag Registers (Assembly Language)
Flag Registers (Assembly Language)Flag Registers (Assembly Language)
Flag Registers (Assembly Language)
 
Number System
Number SystemNumber System
Number System
 
LTE-Advanced Physical Layer
LTE-Advanced Physical LayerLTE-Advanced Physical Layer
LTE-Advanced Physical Layer
 

Similar to LTE: HARQ

Analysis of TCP variants
Analysis of TCP variantsAnalysis of TCP variants
Reliable data transfer CN - prashant odhavani- 160920107003
Reliable data transfer   CN - prashant odhavani- 160920107003Reliable data transfer   CN - prashant odhavani- 160920107003
Reliable data transfer CN - prashant odhavani- 160920107003
Prashant odhavani
 
Data link layer tutorial
Data link layer tutorialData link layer tutorial
Data link layer tutorial
Swapnadeep Reloaded
 
Micro project on ARQ
Micro project on ARQMicro project on ARQ
Micro project on ARQ
Faizaan Ahmed Khan
 
Tcp performance simulationsusingns2
Tcp performance simulationsusingns2Tcp performance simulationsusingns2
Tcp performance simulationsusingns2
Justin Frankel
 
CN R16 -UNIT-6.pdf
CN R16 -UNIT-6.pdfCN R16 -UNIT-6.pdf
CN R16 -UNIT-6.pdf
Joshuaeeda1
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
IOSR Journals
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
IOSR Journals
 
Data link control notes
Data link control notesData link control notes
Data link control notes
invertis university
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCP
Dilum Bandara
 
Retransmission Tcp
Retransmission TcpRetransmission Tcp
Retransmission Tcp
Ram Dutt Shukla
 
5 DLL-LLC- Book
5 DLL-LLC- Book5 DLL-LLC- Book
5 DLL-LLC- Book
Water Birds (Ali)
 
Ch 18 intro to network layer - section 3
Ch 18   intro to network layer - section 3Ch 18   intro to network layer - section 3
Ch 18 intro to network layer - section 3
Hossam El-Deen Osama
 
Analytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum ThroughputAnalytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum Throughput
IJLT EMAS
 
Congestion Control
Congestion ControlCongestion Control
Congestion Control
Ram Dutt Shukla
 
Congestion control in TCP
Congestion control in TCPCongestion control in TCP
Congestion control in TCP
selvakumar_b1985
 
Consider the TCP multiple acknowledgement scheme. A base station (BS.pdf
Consider the TCP multiple acknowledgement scheme. A base station (BS.pdfConsider the TCP multiple acknowledgement scheme. A base station (BS.pdf
Consider the TCP multiple acknowledgement scheme. A base station (BS.pdf
kalerottnerheissst52
 
Tcp Congestion Avoidance
Tcp Congestion AvoidanceTcp Congestion Avoidance
Tcp Congestion Avoidance
Ram Dutt Shukla
 

Similar to LTE: HARQ (20)

Analysis of TCP variants
Analysis of TCP variantsAnalysis of TCP variants
Analysis of TCP variants
 
Reliable data transfer CN - prashant odhavani- 160920107003
Reliable data transfer   CN - prashant odhavani- 160920107003Reliable data transfer   CN - prashant odhavani- 160920107003
Reliable data transfer CN - prashant odhavani- 160920107003
 
Data link layer tutorial
Data link layer tutorialData link layer tutorial
Data link layer tutorial
 
Micro project on ARQ
Micro project on ARQMicro project on ARQ
Micro project on ARQ
 
Presentation on dll
Presentation on dllPresentation on dll
Presentation on dll
 
Tcp performance simulationsusingns2
Tcp performance simulationsusingns2Tcp performance simulationsusingns2
Tcp performance simulationsusingns2
 
CN R16 -UNIT-6.pdf
CN R16 -UNIT-6.pdfCN R16 -UNIT-6.pdf
CN R16 -UNIT-6.pdf
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
 
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and VegasComparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
Comparison of TCP congestion control mechanisms Tahoe, Newreno and Vegas
 
Data link control notes
Data link control notesData link control notes
Data link control notes
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCP
 
Flowctrl
FlowctrlFlowctrl
Flowctrl
 
Retransmission Tcp
Retransmission TcpRetransmission Tcp
Retransmission Tcp
 
5 DLL-LLC- Book
5 DLL-LLC- Book5 DLL-LLC- Book
5 DLL-LLC- Book
 
Ch 18 intro to network layer - section 3
Ch 18   intro to network layer - section 3Ch 18   intro to network layer - section 3
Ch 18 intro to network layer - section 3
 
Analytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum ThroughputAnalytical Research of TCP Variants in Terms of Maximum Throughput
Analytical Research of TCP Variants in Terms of Maximum Throughput
 
Congestion Control
Congestion ControlCongestion Control
Congestion Control
 
Congestion control in TCP
Congestion control in TCPCongestion control in TCP
Congestion control in TCP
 
Consider the TCP multiple acknowledgement scheme. A base station (BS.pdf
Consider the TCP multiple acknowledgement scheme. A base station (BS.pdfConsider the TCP multiple acknowledgement scheme. A base station (BS.pdf
Consider the TCP multiple acknowledgement scheme. A base station (BS.pdf
 
Tcp Congestion Avoidance
Tcp Congestion AvoidanceTcp Congestion Avoidance
Tcp Congestion Avoidance
 

Recently uploaded

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

LTE: HARQ

  • 1. the CRC lets you know if a package arrived 'OK' or 'NOT OK'. Every packet that is sent has a CRC, or a 'Signature'. As an analogy, it's like when we send a letter to someone, and in the end we sign: 'My Full Name'. When the other person receives this letter (information), he checks the signature: 'My Wrong'. In this case, he tells the Messenger: 'I don't know 'My Wrong', this information has some problems. Please ask sender to send it again!'. I.e. I do CRC checks. If the CRC is 'wrong', the information is 'wrong'. If the CRC is 'correct', probably the information is 'correct'. Retransmissions Retransmissions are then: send information again (repeat) to the receiver, after it make such a request. The receiver requests that the information be retransmitted whenever it cannot decode the packet, or the result of decoding has been an error. That is, after checking that the information reached the receiver is not 'OK', we should request it to be retransmitted. Of course, when we have a good link (SNR), without interference or problems that may affect data integrity, we have virtually no need for retransmissions. In practice, in real World, this is very difficult to happen, because the links can face the most different adversities. Thus, an efficient mechanism to enable and manage the retransmission is essential. We consider such a mechanism as efficient when it allow data communication in a link meet quality requirements that the service demands (QoS). Voice for example, is a service where retransmission does not apply. If a piece of information is lost, and is retransmitted, the conversation becomes intelligible. On the other hand, data services practically rely on retransmission, since most have - or allows - a certain tolerance to delays – some more, some less. With the exception only for 'Real Time' services.
  • 2. But it is also important to take into account that the greater the number of needed retransmissions, lower the data transmission rate that is effectively reached: If the information have to be retransmitted several times, it will take long for the receiver to obtain the complete - final - information. ARQ Till now we talked in a generic way about data retransmissions, error checking and correction. Let's now see some real and practical schemes. The simplest way (or more common) control using what we described above is known as ARQ, or 'Automatic Repeat Request'. In ARQ, when we have a 'bad' package, the system simply discards it, and asks for a retransmission (of the same package). And for this, it sends a feedback message to the transmitter. These feedback messages are messages that the receiver uses to inform whether the transmission was successful or not: 'ACKnowledgement' (ACK) and 'Non- ACKnowledgement' (NACK). These messages are transmitted from the receiver to the transmitter, and respectively informs a good (ACK) or bad (NACK) reception of the previous packages. If in the new retransmission the packet keep arriving with errors, the system requests a new retransmission (still for this same package). That is, sends another 'NACK' message.
  • 3. The data packets that are not properly decoded are discarded. The data packets or retransmissions are separately decoded. That is, every time a packet that arrives is bad, it is discarded, and it is requested that this same package be retransmitted. But see that if there were no retransmissions, the performance of the data flow would be much better. In the example below, compared with the previous, we transmit more information - 3 times in the same time interval. Unfortunately we don't have much to do about the link conditions. Or better, we are able to improve the links performance, for example with configuration parameters optimization, but we'll always be subject to face adverse conditions. In this case, our only way out is to try to minimize retransmissions. And that's where arise other techniques or more 'enhanced' schemes for retransmission. The main one is HARQ. Hybrid ARQ (HARQ) The HARQ is the use of conventional ARQ along with an Error Correction technique called 'Soft Combining', which no longer discards the received bad data (with error).
  • 4. With the 'Soft Combining' data packets that are not properly decoded are not discarded anymore. The received signal is stored in a 'buffer', and will be c ombined with next retransmission. That is, two or more packets received, each one with insufficient SNR to allow individual decoding can be combined in such a way that the total signal can be decoded! The following image explains this procedure. The transmitter sends a package [1]. The package [1] arrives, and is 'OK'. If the package [1] is 'OK' then the receiver sends an 'ACK'. The transmission continues, and is sent a package [2]. The package [2] arrives, but let's consider now that it arrives with errors. If the package [2] arrives with errors, the receiver sends a 'NACK'. Only now this package [2] (bad) is not thrown away, as it is done in conventional ARQ. Now it is stored in a 'buffer'. Continuing, the transmitter send another package [2.1] that also (let's consider) arrives with errors.
  • 5. We have then in a buffer: bad package [2], and another package [2.1] which is also bad. Does by adding (combining) these two packages ([2] + [2.1]) we have the complete information? Yes. So we send an 'ACK'. But if the combination of these two packages still does not give us the complete information, the process must continue - and another 'NACK' is sent.
  • 6. And there we have another retransmission. Now the transmitter sends a third package [2.2]. Let's consider that now it is 'OK', and the receiver sends an 'ACK'. Here we can see the following: along with the received package [2.2], the receiver also has packages [2] and [2.1], that have not been dropped and are stored in the buffer. In our example, we see that the package arrived 2 times 'wrong'. And what is the limit of these retransmissions? Up to 4. IE, we can have up to 4 retransmission in each process. This is the maximum number supported by 'buffer'.