lora傳輸時(shí)間計(jì)算介紹
電磁波主要傳播為地波,天波,視線傳播三種:
地波:?頻率較低(約2MHz以下)趨于沿彎曲的地球表面?zhèn)鞑?有一定的繞射能力。
天波(2Mhz~30Mhz):該頻率能被電離層反射,我們可以利用電離層反射的傳播為天波。
視線傳播(30Mhz以上):該頻率電磁波不能被反射,而且沿地面繞射的能力也小,所以只能類似光波一樣視線傳播.(這也是為什么為什么頻率越高穿透能力越強(qiáng)的原因,因?yàn)椴荒芾@射,只能穿透,但是穿透會(huì)造成大量能力損失,所以也就是為什么頻率越高,相對(duì)傳輸距離越近)也可以從自由空間損耗公式:
Ls=20Lgf(MHz)+20Lgd(Km)+32.4看出,d:為距離,在距離不變的情況,f(頻率)越高,Ls(損耗)越大。

1:為獲得較高輻射效率,天線尺寸必須與波長(zhǎng)比擬,常為λ/4,又由于c=λf,
f為頻率,基本上基帶信號(hào)都在較低頻率段,若不調(diào)制,則需要很長(zhǎng)的天線,這無法實(shí)現(xiàn)
2:把多個(gè)基帶信道分別搬移到不同的載頻處,實(shí)現(xiàn)信道多路復(fù)用,提高信道利用率
3:擴(kuò)展信號(hào)帶寬,提高系統(tǒng)抗干擾能力,實(shí)現(xiàn)傳輸帶寬與信噪比互換.
編碼率CR:
數(shù)據(jù)流中有用部分的比例.
設(shè)編碼序列的信息碼元數(shù)為k,總碼元數(shù)為n,則比值k/n就是碼率,而監(jiān)督碼元數(shù)(n-k)和信息碼元數(shù)k之比(n-k)/k為冗余度;
編碼目的:
以降低信息傳輸速率為代價(jià)提取高傳輸可靠性.
帶寬BW:
單位時(shí)間能通過鏈路的數(shù)據(jù)量。通常以bps來表示,即每秒可傳輸之位數(shù)。
理解:帶寬相當(dāng)于公路,公路越大,能同時(shí)跑的車輛越多,單位時(shí)間數(shù)據(jù)量越多,所以BW越大,速度越快.(但是會(huì)犧牲接收靈敏度)
碼元傳輸速率:
單位時(shí)間傳送碼元的數(shù)目,當(dāng)碼元數(shù)為1時(shí),則又稱為比特率.
理解:在馬路(帶寬)上開車(碼元),但是車上可以載多個(gè)人.只有一個(gè)車載一個(gè)人的時(shí)候才為比特率,無線模塊的Rs都為比特率.
擴(kuò)頻因子SF:
擴(kuò)頻LoRa?調(diào)制是通過多個(gè)信息芯片表示每個(gè)比特的有效載荷信息來實(shí)現(xiàn)的。傳播信息的發(fā)送速率稱為符號(hào)速率(Rs),符號(hào)速率和芯片速率之間的比率是傳播因子,表示每比特信息發(fā)送的符號(hào)數(shù)。
理解:簡(jiǎn)單來說,以前的每一個(gè)數(shù)據(jù)bit都要與擴(kuò)頻因子相乘,
好處:因?yàn)槭钦坏?所以不同擴(kuò)頻可以在相同信道而不受干擾.
2示例
以下都以SF:7 BW:125k CR:4/5為例
Rs符號(hào)速率:
Rs = BW/(2^SF)
SF:擴(kuò)頻因子
BW:帶寬
則Ts = (2^7)/BW=1.024kbps
空中速率:
Dr = SF*BW/(2^SF)*CR
SF:擴(kuò)頻因子
BW:帶寬
CR:編碼率
Dr=7*125/(2^7)*4/5=5.46875≈5.47kbps
LowDataRateOptimze:
即低速率下數(shù)據(jù)持續(xù)時(shí)間太久,為了魯棒性,所以需要開啟低速率優(yōu)化.
前導(dǎo)碼持續(xù)時(shí)間:
Tpreamble = (npreamble + 4.25)Tsym
Tsym? :? 1/Rs
npreamble :設(shè)置的前導(dǎo)碼長(zhǎng)度
如:npreamble設(shè)置為12 則Tpreamble = (12+4.25)* Ts =16.25*1.024=16.64ms
負(fù)載持續(xù)時(shí)間:
Tpayload = npayload * Ts
npayload = 8 + (? max(ceil[](CR+4)? , 0? )
PL:負(fù)載長(zhǎng)度,即發(fā)送數(shù)據(jù)長(zhǎng)度
SF:擴(kuò)頻因子
IH:當(dāng)使能header為0,沒體現(xiàn)header為1
DE: 當(dāng)啟用LowDataRateOptimze為1
CR:芯片設(shè)置的編碼率
CRC:開啟CRC功能為1
設(shè): npayload? = 8,header使能,CRC開啟, LowDataRateOptimze未啟用,則
npayload = 8 + (? max(ceil[](1+4)? , 0? )
= 8 + 3*5 = 23
Tpayload = 23*1.024= 23.552ms
總時(shí)間:
總持續(xù)時(shí)間為負(fù)載持續(xù)時(shí)間 + 前導(dǎo)碼持續(xù)時(shí)間
T = Tpayload + Tpreamble
= 16.64 + 23.552 = 40.192ms
