LoRa/LoRaWAN tutorial 15: Data Rate, Chip Rate, Symbol Rate, Chip Duration and Symbol Duration

preview_player
Показать описание
If you like this video and want to support me, go this page for my donation Paypal or crypto addresses:

This is part 15 of the LoRa/LoRaWAN tutorial.

In this video series different topics will be explained which will help you to understand LoRa/LoRaWAN.
It is recommended to watch each video sequentially as I may refer to certain LoRa/LoRaWAN topics explained earlier.

In this video I will explain how data rate, chip rate, symbol rate, chirp duration and symbol duration are calculated.

The unit of bandwidth (BW) is Hertz (Hz) which is the number of vibrations or wave cycles per second.
This bandwidth is interchangeably with chip rate:
BW = Rc = chip rate (chips/s) [1]

For example: BW=125 kHz
BW = Rc = 125000 chips/s

The Symbol Rate (Rs) is calculated as follow:
Rs (symbols/sec) = BW / 2^SF = Rc / 2^SF [1]
Bandwidth (BW) in Hz
Spreading Factor (SF): 7-12

For example: BW=125 kHz, SF=7
Rs = 125000 / 2^7 = 977 symbols/sec

The chip rate is always higher than the symbol rate: Rc is greater than Rs
To calculate the data rate (DR) or bit rate (Rb):
Rb (bits/sec) = SF x (BW / 2^SF) x (4(4+CR))
Bandwidth (BW) in Hz
Spreading Factor (SF): 7-12
Code Rate (CR): 1-4

For example: SF=7, CR=1
BW=125 kHz, Rb = 7 x (125000 / 2^7) x (4 / (4 + 1)) = 5.5 kbits/s
BW=250 kHz, Rb = 7 x (250000 / 2^7) x (4 / (4 + 1)) = 10.9 kbits/s
BW=500 kHz, Rb = 7 x (500000 / 2^7) x (4 / (4 + 1)) = 21.9 kbits/s
If you increase the bandwidth, the bit rate or data rate is increased.

For example: BW=125 kHz, CR=1
SF=7, Rb = 7 x (125000/2^7 ) x (4/(4+1)) = 5.5 kbits/s
SF=8, Rb = 8 x (125000/2^8 ) x (4/(4+1)) = 3.13 kbits/s
SF=9, Rb = 9 x (125000/2^9 ) x (4/(4+1)) = 1.76 kbits/s
SF=10, Rb = 10 x (125000/2^10) x (4/(4+1)) = 0.98 kbits/s
SF=11, Rb = 11 x (125000/2^11) x (4/(4+1)) = 0.54 kbits/s
SF=12, Rb = 12 x (125000/2^12) x (4/(4+1)) = 0.29 kbits/s
If you increase the Spreading Factor, the bit rate or data rate is decreased.

Because Rc = BW [1], the chip duration is calculated as follow:
Tc (sec) = 1 / BW
Bandwidth (BW) in Hz

For example: BW=125 kHz
Tc = 1 / 125000 = 8 µs

The symbol duration or sweep time is calculated as follow:
Ts(sec) = 2^SF / BW [1]
Bandwidth (BW) in Hz
Spreading Factor (SF): 7-12

For example: SF7
BW=125 kHz, Ts = 2^7 / 125000 = 1.024 ms
BW=250 kHz, Ts = 2^7 / 250000 = 512 µs
BW=500 kHz, Ts = 2^7 / 500000 = 256 µs
If the BW increases, the Symbol duration decreases.

For example: BW=125 kHz
SF=7, Ts = 2^7 / 125000 = 1.024 ms
SF=9, Ts = 2^9 / 125000 = 4.096 ms
SF=12, Ts = 2^12 / 125000 = 32.768 ms
If the SF increases, the Symbol duration increases.

An overview of symbol durations with respect to different Spreading Factors.
If the SF increases by one the symbol duration doubles.

If you increase the SF by 1:
The symbol duration or sweep time doubles compared to the previous SF.
It reduces the bit rate approximately by half compared to the previous SF.
The Time on Air (ToA) (=message transmission time) increases which means the distance increases.
To give you an idea what the Time on Air is for a 10 byte payload and BW=125kHz:
SF7, transmission time = 41 ms
SF12, transmission time = 991 ms

LoRa devices uses a higher spreading factor when the signal is weak or there is lot of interference.
Using a higher spreading factor means a longer Time on Air (ToA).
If an end device is further away from a gateway the signal get weaker and therefore needs a higher spreading factor.

Check out all my other LoRa/LoRaWAN tutorial videos:

Subscribe to my YouTube channel:

The presentation used in this video tutorial can be found at:

#mobilefish #lora #lorawan
Рекомендации по теме
Комментарии
Автор

Love your vids, incredible how much better they are at making me understand. than my own professor

xxrumlexx
Автор

Brilliant job you've explained the concepts really well. I do suggest that viewers first read the Semtech paper on Lora modulation and then look at your videos. Kudos to you.

jeffa.
Автор

I'm enjoying so much your videos, thanks!

arthurcgonzaga
Автор

u saved my life, thnk u it really helps

mustapha
Автор

hi Robert, can you please explain why the chip rate corresponds to the bandwidth? in what way are these two correlated?

kerim
Автор

I found this video to be unclear. Great video btw, thank you very much!

coolwinder
Автор

Why is the modulation bandwidth equal to the chip rate?

qijia
Автор

Haha I can't believe I understood that. Nice.

CalMSinclair
Автор

1. BW = chip rate (chips/s).
2. But the number of chips depends on SF (equals 2**SF).
BW and SF are independent - is there a contraction in the first two statements?

anatoliistepaniuk
Автор

How did you calculate the transmission time for the 10 byte payload for SF7 and SF12?

YangdeWanger
Автор

So looking at this, the chip rate is the data transmissions per second, which can be expressed in hertz. The signal modulates frequency as well, which is also in hertz? Seems there are two different "hertz" values going on here, though I could be wrong.

JeremyCook
Автор

Hello, Robert.

First of all, congratulations for the extraordinary job. It's much more than just an introduction for beginners. It's a complete manual!

Could you explain how to calculate the Time on Air for the transmissions?

Thanks in advance.

XaropeMaua
Автор

Great tutorial thanks, can you help me to get a view on this matter, I am using SX1278 module along with ESP32 I would like to know about the Sync Word of the LORA Modules .

spiworkshop
Автор

thanks for this tutorials, very helpful.
in 5:00 you mention an increment of distance related with the ToA increment, what does that distance mean?

carloscobian
Автор

Do I understand this correctly, that it takes some time to notice the change in frequency. So if we want to encode twice as many chips into the symbol, we need to multiply time of the symbol by 2? (because receiver would not be able to decode the information if we change frequency too fast?)

anatoliistepaniuk
Автор

how do you calculate the trasmission time with 10 bytes payload.

junli
Автор

Thank you, what about if I use this formula (Rb (bits/sec) = SF x (BW / 2^SF) x (4(4+CR)) to find the throughput?

CmZam
Автор

Hello,
I use SF = 7, BW = 125Khz and sending 128 byte.
The transmitter takes around 2230 ms from setting the Tx mode till the Tx done, is this right? How to decrease this time?

ahmedwahdan
Автор

32 byte packet at SF12 gives 45 symbols, how they are calculated? thanks in advance

vgacademy
Автор

chips per second? that makes no sense, a chip is a value of a symbol (see chap 13), so is it symbols per second?? and i dont understand how the bandwidth of the signal 125kHz can have linear affect on the symbol rate

kampkrieger