主頁 > 後端開發 > 圖解通信原理與案例分析-18:低功耗、遠距離物聯網無線通信技術LoRa概述與擴頻通信的基本原理

圖解通信原理與案例分析-18:低功耗、遠距離物聯網無線通信技術LoRa概述與擴頻通信的基本原理

2020-11-10 20:56:01 後端開發

前言導讀:

LoRa是一種低功耗、遠距離、低速率無線通信技術,廣泛應用與物聯網通信領域,

本文在介紹LoRa的基本概述、網路架構與終端的資料收發程序的基礎之上,重點拆解LoRa的空口技術:頻移鍵控FSK與擴頻通信的基本原理,


目錄

第1章. LoRa概述

1.1 什么是LoRa

1.2 LoRa的主要特點

第2章 LoRa的網路系統架構

2.1 LoRa終端節點的網路連接方式:

2.2 LoRa的網路架構

第3章 LoRa終端內部的功能架構(SX1261/2射頻芯片為例)與資料的收發程序

3.1 LoRa射頻終端的內部功能架構

3.2 LoRa物理層幀結構

3.3 資料的收發程序

第4章 LoRa的射頻技術:頻分

4.1· 頻分與信道

4.2 調制與解調

第5章 LoRa的FSK調制技術的基本原理

5.1 FSK的基本概念

5.2 2-FSK的示意圖:

5.3 高斯頻移鍵控GFSK

5.4 2-FSK信號發送調制原理

5.5 2-FSK 信號接收解調原理

5.6 二進制資料的位元率與載波帶寬之間的關系

第6章 LoRa的射頻技術:擴頻調制和解調的

6.1. 什么是擴頻?

6.2. 教科書中關于擴頻、解擴運算

6.3 對教科書擴頻、解擴程序的抽象

6.4 為什么要把1轉換成+1,0轉換成-1才進行擴頻與解擴運算?+1,-1轉換的本質是什么?

6.5 為什么說擴頻技術能夠降低單個符號的信號發送功率

6.6 為什么說擴頻技術能夠提升信號抗干擾能力和增加信號的傳輸距離


第1章. LoRa概述

1.1 什么是LoRa

LoRa是semtech公司創建的低功耗、遠距離、無線、廣域網的標準,

LoRa的名字是遠距離(Long Range)的簡稱,

低功耗一般很難覆寫遠距離,遠距離一般功耗高,要想馬兒不吃草還要跑得遠,好像難以辦到,而LoRa的最大特點就是在同樣的功耗條件下比其他無線方式傳播的距離更遠,實作了低功耗和遠距離的統一,它在同樣的功耗下比傳統的無線射頻通信距離擴大3-5倍,它是如何做到得呢?這里的核心通信技術就是“擴頻通信”,本文將探討擴頻通信的基本原理,

與之對應的無線廣域網通信技術有:GPRS、NB IoT、Sigfox;與之對應的無線局域網通信技術有:RFID、藍牙、ZigeBee、WiFi,


1.2 LoRa的主要特點

低速率(帶寬):低頻譜帶寬,傳輸速率從幾百到幾十Kbps,速率越低傳輸距離越長,這很像一個人挑東西,挑的多走不太遠,少了可以走遠,

低功耗(功率):信號的發送功率超低,電池壽命長達10年,若采用蜂窩網路則需頻繁更換電池,這在很多惡劣環境下很難實作,

遠距離(空間):傳輸距離遠,城鎮可達2-5 Km , 郊區可達15 Km ,

大連接(數量):LoRa網關可以連接上千上萬個LoRa節點,

非頻發(時間):適合不需要連續發送資料包的的場合,

高延時(時間):資料的傳輸延時較大,

低費用(金錢):采用免費的頻譜資源、單次較低資料量的資料傳輸、較低的傳輸頻次,使得LoRa的運營成本較低,目前蜂窩網路為高帶寬設計,采用蜂窩網路要占用網路和碼號資源,還會產生包月流量費用,

安全性:采用AES128加密,

作業頻率:ISM 頻段 包括433、868、915 MH等,

調制方式:基于semtech公司私有專利的擴頻技術,線性調制擴頻(CSS)的一個變種,具有前向糾錯(FEC)能力,這是實作低功耗遠距離的關鍵,

標準:IEEE 802.15.4g,


第2章 LoRa的網路系統架構

2.1 LoRa終端節點的網路連接方式:

(1)點對點通信,

一點對一點通信,A點發起,B點接收,可以回復也可以不回復確認,多組之間的頻點建議分開,如下午圖所示:

這種連接方式單純利用LoRa射頻低功耗、遠距離傳輸的功能,目前主要針對特定應用試驗性質的專案,

優點在于最簡單,

缺點在于不存在組網,

(2)星狀網輪詢,

一點對多點通信,N個“從節點”輪流與“中心節點”通信,從節點上傳,等待中心點收到后回傳確認,然后下一個節點再開始上傳,直到所有N個節點全部完成,一個回圈周期結束,如下圖所示,

該結構本質上還屬于點對點通信,但是加入了分時處理,N個從節點之間的頻點可以分開,也可重復使用,

優勢在于單專案成本低,

不足之處是僅適合從節點數量不大和網路實時性要求不高的應用,

(3)星狀網并發,

如圖下圖,一點對多點通信:

這里:網關、LoRa Ap 、LoRa基站是同一個概念,

多個從節點可同時與中心點通信,從節點可隨機上報資料,節點可以根據外界環境和信道阻塞自動采取跳頻和速率自適應技術,邏輯上,網關/可以接收不同速率和不同頻點的信號組合,物理上網關可以同時接收8路、16路、32路甚至更多路資料,減少了大量節點上行時沖突的概率,

該系統具有極大的延拓性,可單獨建網,可交叉組網,這是LoRa目前最主要、最主流的組網形態!


2.2 LoRa的網路架構

如下是LoRa在通用的物聯網架構中的位置:

LoRa:是無線接入技術,在物聯網架構中,LoRa處于物聯網的無線終端感知層網路傳輸層,因此LoRa本身并不是物聯網的全部,只是物聯網的一部分,

LoRa終端:通過傳感器采集物體的資訊,并通過LoRa無線空口技術,把資料傳輸給LoRa無線基站,

LoRa無線基站:提供對LoRa終端的無線接入和匯聚,LoRa無線基站通過以太局域網或2G/4G/5G的公共移動通信網,連接到LoRaWAN廣域網服務器,

LoRaWAN服務器:可以管理多個LoRa無線基站,同時充當LoRa終端連接物聯網云平臺的網關,

如下是LoRa聯盟推薦的的LoRa網路架構:

LoRa Node:LoRa終端節點

Concentrator:實作對LoRa終端節點提供接入和匯聚功能個的LoRa基站,

Network Server:LoRa的核心網,用于管理LoRa網路中所有的LoRa節點,

Application Server:由不同業務領域的服務器組成,并通過Web或手機接入的方式向用戶提供業務服務,

與通用物聯網架構的區別是,在此架構中,沒有一個顯式的、支持各種物聯網無線接入的、通用的物聯網云平臺層,該云平臺可以從Application Server中分離出來,處于Network Server和Application Server之間,可以與Network Server一起部署,

第3章 LoRa終端內部的功能架構(SX1261/2射頻芯片為例)與資料的收發程序

3.1 LoRa射頻終端的內部功能架構

3.2 LoRa物理層幀結構

LoRa資料的發送和接收是以幀為單位來組織資料的,這與以太網通信中,以太網幀單位來組織資料類似,每個幀是獨立、完整的一次資料的接收與發送,

在GSM通信中,基本幀是一次資料的接收與發送,但基本幀不是完整的、也不是完全獨立的,基本幀構成復幀、復幀組成超幀,

3.3 資料的收發程序

發送方向:

應用程式-》MAC發送=》SPI驅動發送=》發送資料快取=》LoRa物理層成幀=》LoRa Modem擴頻編碼=》數模轉換=》高頻調制=》功率放大=》天線發送=》電磁波傳輸=》

接收方向:

天線接收=》阻抗匹配與濾波=》低噪聲放大=》混頻=》模數轉換=》LoRa Modem解擴=》物理層解幀=》接收資料快取=》SPI接收=》MAC接收=》應用程接收,

在上述通信程序中,LoRa的遠距離、低功率的核心技術主要是由射頻芯片內部的LoRa Modem,其實作了基于semtech公司私有專利的擴頻技術,擴頻通信的基本原理正是本文的重點!

第4章 LoRa的射頻技術:頻分

4.1· 頻分與信道

實際上,LoRa技術適用與低速通信的場合,這就意味著,LoRa終端,每次資料的收發只需要很小的帶寬,如幾十K到200K左右,用于LoRa通信的免費的無線資源的頻譜帶寬得到幾十兆,甚至上百兆,

那么如何有效的利用這幾十兆的頻譜帶寬,為海量的終端提供無線接入服務呢?

與GSM類似,LoRa把整個頻譜資源,按照一個固定的帶寬,切分成無數個子信道,每個信道獨立的進行資料的調制、無線信號的發送、無線信道的接收、解調,

以Region CN470載波信道的劃分為例:

上行發送信道:96個信道,信道帶寬:200K, 總帶寬=96*0.2K = 19.2M

下行接收信道:48個信道,信道帶寬:200K, 總帶寬=48*0.2K = 9.6M

與GSM不同的是,LoRa終端每次資料收發時信道的選擇,并不是由基站統一調度的,而是由終端自行選擇的,

LoRa的終端,在每一發送資料時,信道的選擇有兩種策略:

(1)從預定義的信道眾多信道中隨機的選擇一個信道

(2)由LoRa的基站指派一個固定的信道

無論是那種信道選擇的策略,多個LoRa終端,可能分時復用相同的無線子信道,由于LoRa終端的發送資料的時機并不是有基站統一分配的,而是有終端自行決定,因此有可能會發生沖突,這一點有點像以太網通信,當然,LoRa定義了解決沖突的策略,

4.2 調制與解調

無論是選中哪個字信道,LoRa的射頻終端都是按照LoRa物理層幀組織的二進制資料,進而對二進制資料進行調制與解調,

數字調制:就是如何通過控制無線電磁波的引數,來傳遞二進制位元1或0,進而傳遞LoRa物理層幀中定義的每個二進制資料,

數字解調:就是如何從收到的無線電磁波的特征中,提取出一個個獨立的二進制位元0或1,進而恢復出發送方發送的LoRa物理層幀中定義的每個二進制資料

LoRa的射頻芯片支持兩種調制方式:

(1)普通的移頻鍵控FSK

(2)semtech公司私有專利的擴頻技術

第5章 LoRa的FSK調制技術的基本原理

5.1 FSK的基本概念

FSK(Frequency-shift keying)是資訊傳輸中使用得較早的一種調制方式,

它的主要優點是: 實作起來較容易,抗噪聲與抗衰減的性能較好,在中低速資料傳輸中得到了廣泛的應用,

2-FSK(Frequency Shift Keying)為二進制數字頻率調制(二進制頻移鍵控),用載波的頻率來傳送數字資訊,即用所傳送的數字資訊(0或1)控制載波的頻率,

2-FSK信號便是符號“0”對應于載頻 f1,而符號“1”對應于載頻 f2(與 f1 不同的另一載頻)的已調波形,而且 f1 與 f2 之間的改變是瞬間的,

傳“0”信號時,發送頻率為 f1 的載波;

傳“1”信號時,發送頻率為 f2的載波,

可見,FSK 是用不同頻率的載波來傳遞數字訊息的,

5.2 2-FSK的示意圖:

在上圖,有兩個頻率的載波信號來標識二進制的資料

當傳送的載波信號是f2頻率時,表示傳送的二進制資料是0.

當傳送的載波信號是f1頻率時,表示傳送的二進制資料是1.

5.3 高斯頻移鍵控GFSK

高斯頻移鍵控GFSK - Gauss frequency Shift Keying ,是在調制之前通過一個高斯低通濾波器來限制信號的頻譜寬度,

GFSK 高斯頻移鍵控調制是把輸入資料經高斯低通濾波器預調制濾波后,再進行FSK調制的數字調制方式,

之所以,先采用高斯低通濾波器來限制信號的頻譜寬度,這是因為二進制是方波脈沖信號,內含了非常高的高頻分量,不利于通過SX1261/2支持的載波頻率進行傳送,

所謂低通濾波器,就是允許低于某個頻率門限的信號分量通過,抑制掉高于某個頻率分量的所以高頻分量的信號,

5.4 2-FSK信號發送調制原理

上圖中,用二進制資料控制開關的開合

在實際應用中,并不是直接用0和1的高電平控制載波f1和f2的開關,而是用代表0和1的基帶信號,去控制載波f1和f2的開關,

在SX1261 1262中是高斯濾波后得到的基帶信號,而不是直接方波信號,

上述開關信號切換的快慢,就反應了載波調制的位元率,

考慮到實際系統中0和1并非均勻變化,有可能連續的傳送1或連續的傳送0,因此f1和f2就需要一定的帶寬,承載各自頻率下所支持的資料波特率,

5.5 2-FSK 信號接收解調原理

w1和w2濾波器: 過濾出f1和f2兩個高頻信號,

包絡檢波器:通過包絡檢波器,去掉高頻信號,得到代表0和1的基帶信號的波形,

抽樣判決器:判決器通過基帶信號的波形,判定是數字0還是1.

w1和w2濾波器: 過濾出f1和f2兩個高頻信號,

乘法器:通過相乘法,去掉高頻信號w1或w2,得到代表0和1的基帶信號的波形,

抽樣判決器:判決器通過基帶信號的波形,判定是數字0還是1.

注意:

這里的帶寬濾波器的大小,取決與基帶信號的帶寬,

5.6 二進制資料的位元率與載波帶寬之間的關系

需要傳送的位元率流越大,載波信號的帶寬就越大,

這里涉及到深層次的問題:就是如何用模擬信號表示一個方波信號的比例流,即數字方波信號的基帶表示!!

這就是傅里葉變換:

方波信號的位元率越高,為了恢復方波信號所生成的基帶信號所需要的諧波分量就越多,就帶寬越大,

這就是bit率與基帶信號帶寬之間的定性關系!!

第6章 LoRa的射頻技術:擴頻調制和解調的

6.1. 什么是擴頻?

擴頻(Spread Spectrum,SS)是將傳輸信號的頻譜(spectrum)打散到較其原始帶寬更寬的一種通信技術,如下圖所示:

根據香農定理,無論采用哪種數字調制方式,在信噪比S/N一定的情況下,調制后信號所需要的頻譜帶寬,與波特率成正比,速率越高,帶寬越大;速率越小,帶寬越小,

先假設擴頻碼長度為N,

上圖中的左圖是:擴頻前,數字調制后的信號的頻譜,信號的帶寬較窄,說明擴頻前,波特率較低,二進制資料的位元率較低,

上圖中的右圖是:擴頻后,數字調制后的信號的頻譜,信號的帶寬很寬,擴充到原先的N倍,說明擴頻后,波特率(碼片率)較高,二進制資料的位元率較高,

這是從頻譜帶寬角度看到什么是擴頻,

從調制后信號的功率的角度看, 如果不采取任何優化措施,實際上信號的功率也擴大了N倍,

至于功率問題,暫且不表,先看看,所謂的“擴頻運算”,是如何做到擴頻的?!

6.2. 教科書中關于擴頻、解擴運算

在上圖中

二進制資料位元:1 0 0 1 0 1,用-1替代0,即1-》1, 0-》-1,得到變換后資料,稱為符號,為+1 -1 -1 +1 -1 +1,以1和0為例,1 -1,

二進制擴頻碼:1 1 0 1 1 0 0 1,用-1替代0,即1-》1, 0-》-1, 得到變換后的擴頻碼為:+1 +1 -1 +1 +1 -1 -1 +1

(1)擴頻運算:(異或)

對數字 1進行擴頻,先轉換為與擴頻碼等長符號:+1 +1 +1 +1 +1 +1 +1 +1,與擴頻碼 +1 +1 -1 +1 +1 -1 -1 +1 進行按位乘除運算,得到擴寬后的數值:+1 +1 -1 +1 +1 -1 -1 +1

對數字 0進行擴頻:先轉換為與擴頻碼等長符號:-1 -1 -1 -1 -1 -1 -1 -1, 與擴頻碼 +1 +1 -1 +1 +1 -1 -1 +1 進行按位乘除運算,得到擴寬后的數值: -1 -1 +1 -1 -1 +1 +1 -1

擴頻:對1個二進制位元1或0進行擴頻運算,得到N個數值,來用代表1個位元的二進制數值:1或0,

(2)解擴運算:

對數字 1進行接頻,擴頻后的資料+1 +1 -1 +1 +1 -1 -1 +1與擴頻碼 +1 +1 -1 +1 +1 -1 -1 +1 再次相差,得到解擴后的資料:+1 +1 +1 +1 +1 +1 +1 +1,累加和=8, 除以擴頻碼長度=》1,判決為1.

對數字 1進行接頻,擴頻后的資料+1 +1 -1 +1 +1 -1 -1 +1與擴頻碼 +1 +1 -1 +1 +1 -1 -1 +1 再次相差,得到解擴后的資料:-1 -1 -1 -1 -1 -1 -1 -1,累加和=-8, 除以擴頻碼長度=》-1,判決為0.

解擴:是通過對擴頻后的N個數值進行反向運算,重新還原其代表的一個位元的二進制數值:1或0.

案例1:單用戶二進制位元1的擴頻與解擴

碼分多址CDMA---單用戶擴頻:位元1
用戶引數12345678累積和說明
A傳送位元11待傳送的位元為1
A擴頻前碼元信號幅度值11+1:代替位元1
A序列后碼元信號幅度值111111118擴頻幅度為8
A擴頻碼-1-1-111-1110擴頻碼自身積分為0
A擴頻后碼片信號幅度值-1-1-111-1110擴頻:內積相乘
            
A混合后幅度值-1-1-111-1110單用戶
            
A擴頻碼-1-1-111-1110擴頻碼自身積分為0
A解擴后碼片信號幅度值111111118解擴:按位相乘
解擴后的幅度是擴頻的每一路的累計和
A判決輸入幅度值        1擴頻后的幅度/擴頻幅度
A判決值        1 

案例2:單用戶二進制位元0的擴頻與解擴

碼分多址CDMA---單用戶擴頻:位元0
用戶引數12345678累積和說明
A傳送位元00待傳送的位元為0
A擴頻前碼元信號幅度值-1-1-1:代表位元0
A序列后碼元信號幅度值-1-1-1-1-1-1-1-1-8擴頻幅度為8
A擴頻碼-1-1-111-1110擴頻碼自身積分為0
A擴頻后碼片信號幅度值111-1-11-1-10擴頻:按位相乘
            
A混合后幅度值111-1-11-1-10單用戶
            
A擴頻碼-1-1-111-1110擴頻碼自身積分為0
A解擴后碼片信號幅度值-1-1-1-1-1-1-1-1-8解擴后的幅度是擴頻的每一路的累計和
A判決輸入幅度值        -1擴頻后的幅度/擴頻幅度
A判決值        0 

6.3 對教科書擴頻、解擴程序的抽象

上述的位元變換:如1-》1; 0=》-1的程序,本質上是2-PSK調制的數字信號映射,

6.4 為什么要把1轉換成+1,0轉換成-1才進行擴頻與解擴運算?+1,-1轉換的本質是什么?

擴頻運算,宏觀上看,是把一個位元的0或1,擴展成8位元,起到了擴頻的效果,從效果上理解擴頻,沒有多大的問題,

但為什么要把預先把1轉換成+1,0轉換成-1才能運算? +1,-1轉換的本質是什么?

不要小看這個不起眼的轉換,它涉及到數字無線通信中的一個核心問題:調制技術,即如何通過無線電磁波傳遞位元0和位元1的二進制資料,

理解這個問題的本質,對于理解擴頻與數字調制映射、高頻調制的相互間的位置關系,以及再進一步探討如何通過擴頻實作碼分多址的多用戶復用起著關鍵性的作用,

原因1:二進制位元運算不支持數值資訊的疊加

擴頻運算,宏觀上看,是把一個位元的0或1,擴展成8位元,起到了擴頻的效果,從效果上理解擴頻,沒有多大的問題,

但從實際數學的運算和系統實作來看,是有問題的,因為二進制位元本身的運算并不支持資訊的疊加!

位元位的最大值為1,最小值為0,二進制位元疊加后,原有的資訊會消失,

而實數的加法疊加運算,資訊會被保留在疊加后的數值中,

原因2:區別“0資料”與“無資料”的需要

在計算機中,邏輯0用低電平表示,邏輯1用高電平表示,

在數字無線通信中,數字調制技術解決的是如何通過無線電磁波傳遞位元0和位元1的二進制資料,“0”和“1”都表示有資料,0不表示沒資料,0本身就是資料,如果還用低電平表示0,高電平表示1,那么如何表示“無資料”呢?

0電平意味著無電信號,用于表示“無”資料最理想不過了,這就需要為“0” 定義一個新的電平信號:負電平,即-1.

邏輯1:正電平+1,這里的+1,代表的是正電平單位,實際的電信號可能是+5V, 3.3V, 2.5V, 1.8V或其他任意幅度的正電壓,

邏輯0:負電平-1,這里的 -1,代表的是負電平單位,實際的電信號可能是-5V, -3.3V, -2.5V, -1.8V或其他任意幅度的負電壓,

無資料:0電平0,這里的0, 代表“無”電信號,

原因3:數字調制的需要

數字調制技術解決的是如何通過無線電磁波傳遞二進制位元0和位元1的二進制資料,數字調制的本質是通過離散的數字電信號控制高頻載波信號的引數:幅度、頻率、相位,簡單的代表1和0的高電平1、低電平0,不足對電磁波的引數進行復雜控制,特別是多進制調制,因此,在數字調制程序中,需要預先把邏輯的二進制位元,預先映射特定的能夠控制高頻載波信號引數的數字信號!在上圖中,體現在二進制位元映射模塊,

至于二進制位元映射成什么樣的數字電信號,取決于不同的數字調制技術以及不同的實作方法,如2進制BPSK調制、4進制QPSK、8進制8QPSK調制映射的數字信號就不相同,

BPSK:

二進制位元1 =》 正電平數字信號,用數字+1表示,

二進制位元0 =》 負電平數字信號:用數字-1表示,

無資料: =》 0 電平數字信號:用數字0表示,

QPSK:

A可以是1V, 也可以是0.5V, 可以是任意電壓值,

因此,擴頻運算和碼分多址運算,不是對二進制位元進行運算,而是對二進制位元映射后的數字信號進行運算,是對數字信號的幅度值進行運算!

備注:

數字信號:指自變數是離散的、因變數也是離散的信號,這種信號的自變數用整數表示,因變數用有限數字中的一個數字來表示,比如1,2,3,4,5,6,7,8,9,10...都是數字信號,0.7,0,8, 0.9,1.0,1.25也都是數字信號,

二進制:在數學和數字電路中指以2為基數的記數系統,以2為基數代表系統是二進位制的,這一系統中,通常用兩個不同的符號0(代表零)和1(代表一)來表示 [1] ,數字電子電路中,邏輯門的實作直接應用了二進制,因此現代的計算機和依賴計算機的設備里都用到二進制,每個數字稱為一個位元(Bit,Binary digit的縮寫)

6.5 為什么說擴頻技術能夠降低單個符號的信號發送功率

信號的功率與信號的幅度的平方成正比,信號功率主要取決于信號的幅度,

假設擴頻碼的長度為N.

情形1:擴頻前,每個符號的調制幅度為A1,

則:調制后,每個符號的功率P1 ∝ A1^2,

情形2:擴頻后,單個碼元的調制幅度相對于情形1不變, A2=A1.

假設:每個符號被擴展成N個碼元(chip),每個碼元(chip)單獨調制.

則:每個碼元的調制功率 P=P1.

則:每個符號的調制功率 P2 = P1 * N,

此種情緒的應用:在資料傳輸率不變的情形下,通過擴頻,增加信號的帶寬,增加信號的總功率,提升無線傳輸的抗干擾性能,

(3)擴頻后,單個碼元的調制幅度相對情形1變小,A2 =(√N / N) * A1.

假設:每個符號被擴展成N個碼元(chip),每個碼元(chip)單獨調制.

則:每個碼元的調制功率 P=P1 * 1/N.

則:每個符號的調制功率 P3 = P1 * 1/N * N = P1,

此種情緒的應用:通過擴頻增加調制信號的帶寬,把原先符號相對集中的功率分散到更高的頻譜,降低了單個碼片信號的發送功率,還不影響資料的傳輸速率,

6.6 為什么說擴頻技術能夠提升信號抗干擾能力和增加信號的傳輸距離

在二進制位元率不變、不增加的的情況下,擴頻導致調制信號帶寬的增加,增加的倍數取決與擴頻碼的長度N,這是缺點,

但帶來的優勢也是很明顯的:

(1)在同等的信號發送功率的情況下,提升了信號抗干擾的能力,

(2)在同等的信號發送功率的情況下,獲得更遠的傳輸距離,

它是如何做到的呢?不妨分析一下其中的緣由:

(1)符號信號頻譜分散可以對抗某個特定載頻強干擾的場景

如果沒有擴頻,信號在某一時候,某一載頻有干擾時,信號就會遭到破壞,資料就會傳輸出錯,

但是如果采用擴頻技術,信號的功率(幅度)就會分布在更寬的頻譜帶寬上,即使某一載頻有干擾,且該載頻上的信號遭到破壞,那么由于接收端是累加/積分所有載波上的信號電平,因此最侄訓復出來的電平信號可能是正常幅度的0.8或更低的比值,但判決器還會判決信號電平對應的二進制位元為1,

具體的演算如下:

這就涉及,如何解擴和如何判決的1和0

A的內積 = a + a + a ..... + a = 8 =》 1

B的內積 = b + b + b..... + b = -8. =》 -1

假設A擴頻的一種一個符號a出錯或丟失,A的內積 = a + a + a ..... + a = 7 ,依然可判定為1,即二進制1

假設A擴頻的一種一個符號a出錯或丟失,B的內積 = a + a + a ..... + a = -7 ,依然可判定為-1,即二進制0

(2)信號電平隱藏在噪聲電平中,不容易被發掘,也就不容易受到人為的電磁干擾,

通過擴頻,把1和0對應的數字信號的電平以及其對應的能量,分散到更寬的頻譜帶寬上,這樣每個碼片信號的電平、功率大大的降低,很多時候,碼片信號的電平對應的電磁波被淹沒和隱藏在噪聲之中,不易被監控到、不易被發掘,也就不容易受到人為制造的電磁干擾,

(3)可以傳輸更遠的距離

擴頻增加了信號的抗干擾能力,抗衰減的能力,因此在同等的符號發送功率的情況下,能夠體現信號的傳輸距離,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/209703.html

標籤:java

上一篇:Proteus8.9仿真運行stm32流水燈程式——實體

下一篇:入職三個月總結

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【C++】Microsoft C++、C 和匯編程式檔案

    ......

    uj5u.com 2020-09-10 00:57:23 more
  • 例外宣告

    相比于斷言適用于排除邏輯上不可能存在的狀態,例外通常是用于邏輯上可能發生的錯誤。 例外宣告 Item 1:當函式不可能拋出例外或不能接受拋出例外時,使用noexcept 理由 如果不打算拋出例外的話,程式就會認為無法處理這種錯誤,并且應當盡早終止,如此可以有效地阻止例外的傳播與擴散。 示例 //不可 ......

    uj5u.com 2020-09-10 00:57:27 more
  • Codeforces 1400E Clear the Multiset(貪心 + 分治)

    鏈接:https://codeforces.com/problemset/problem/1400/E 來源:Codeforces 思路:給你一個陣列,現在你可以進行兩種操作,操作1:將一段沒有 0 的區間進行減一的操作,操作2:將 i 位置上的元素歸零。最終問:將這個陣列的全部元素歸零后操作的最少 ......

    uj5u.com 2020-09-10 00:57:30 more
  • UVA11610 【Reverse Prime】

    本人看到此題沒有翻譯,就附帶了一個自己的翻譯版本 思考 這一題,它的第一個要求是找出所有 $7$ 位反向質數及其質因數的個數。 我們應該需要質數篩篩選1~$10^{7}$的所有數,這里就不慢慢介紹了。但是,重讀題,我們突然發現反向質數都是 $7$ 位,而將它反過來后的數字卻是 $6$ 位數,這就說明 ......

    uj5u.com 2020-09-10 00:57:36 more
  • 統計區間素數數量

    1 #pragma GCC optimize(2) 2 #include <bits/stdc++.h> 3 using namespace std; 4 bool isprime[1000000010]; 5 vector<int> prime; 6 inline int getlist(int ......

    uj5u.com 2020-09-10 00:57:47 more
  • C/C++編程筆記:C++中的 const 變數詳解,教你正確認識const用法

    1、C中的const 1、區域const變數存放在堆疊區中,會分配記憶體(也就是說可以通過地址間接修改變數的值)。測驗代碼如下: 運行結果: 2、全域const變數存放在只讀資料段(不能通過地址修改,會發生寫入錯誤), 默認為外部聯編,可以給其他源檔案使用(需要用extern關鍵字修飾) 運行結果: ......

    uj5u.com 2020-09-10 00:58:04 more
  • 【C++犯錯記錄】VS2019 MFC添加資源不懂如何修改資源宏ID

    1. 首先在資源視圖中,添加資源 2. 點擊新添加的資源,復制自動生成的ID 3. 在解決方案資源管理器中找到Resource.h檔案,編輯,使用整個專案搜索和替換的方式快速替換 宏宣告 4. Ctrl+Shift+F 全域搜索,點擊查找全部,然后逐個替換 5. 為什么使用搜索替換而不使用屬性視窗直 ......

    uj5u.com 2020-09-10 00:59:11 more
  • 【C++犯錯記錄】VS2019 MFC不懂的批量添加資源

    1. 打開資源頭檔案Resource.h,在其中預先定義好宏 ID(不清楚其實ID值應該設定多少,可以先新建一個相同的資源項,再在這個資源的ID值的基礎上遞增即可) 2. 在資源視圖中選中專案資源,按F7編輯資源檔案,按 ID 型別 相對路徑的形式添加 資源。(別忘了先把檔案拷貝到專案中的res檔案 ......

    uj5u.com 2020-09-10 01:00:19 more
  • C/C++編程筆記:關于C++的參考型別,專供新手入門使用

    今天要講的是C++中我最喜歡的一個用法——參考,也叫別名。 參考就是給一個變數名取一個變數名,方便我們間接地使用這個變數。我們可以給一個變數創建N個參考,這N + 1個變數共享了同一塊記憶體區域。(參考型別的變數會占用記憶體空間,占用的記憶體空間的大小和指標型別的大小是相同的。雖然參考是一個物件的別名,但 ......

    uj5u.com 2020-09-10 01:00:22 more
  • 【C/C++編程筆記】從頭開始學習C ++:初學者完整指南

    眾所周知,C ++的學習曲線陡峭,但是花時間學習這種語言將為您的職業帶來奇跡,并使您與其他開發人員區分開。您會更輕松地學習新語言,形成真正的解決問題的技能,并在編程的基礎上打下堅實的基礎。 C ++將幫助您養成良好的編程習慣(即清晰一致的編碼風格,在撰寫代碼時注釋代碼,并限制類內部的可見性),并且由 ......

    uj5u.com 2020-09-10 01:00:41 more
最新发布
  • Rust中的智能指標:Box<T> Rc<T> Arc<T> Cell<T> RefCell<T> Weak

    Rust中的智能指標是什么 智能指標(smart pointers)是一類資料結構,是擁有資料所有權和額外功能的指標。是指標的進一步發展 指標(pointer)是一個包含記憶體地址的變數的通用概念。這個地址參考,或 ” 指向”(points at)一些其 他資料 。參考以 & 符號為標志并借用了他們所 ......

    uj5u.com 2023-04-20 07:24:10 more
  • Java的值傳遞和參考傳遞

    值傳遞不會改變本身,參考傳遞(如果傳遞的值需要實體化到堆里)如果發生修改了會改變本身。 1.基本資料型別都是值傳遞 package com.example.basic; public class Test { public static void main(String[] args) { int ......

    uj5u.com 2023-04-20 07:24:04 more
  • [2]SpinalHDL教程——Scala簡單入門

    第一個 Scala 程式 shell里面輸入 $ scala scala> 1 + 1 res0: Int = 2 scala> println("Hello World!") Hello World! 檔案形式 object HelloWorld { /* 這是我的第一個 Scala 程式 * 以 ......

    uj5u.com 2023-04-20 07:23:58 more
  • 理解函式指標和回呼函式

    理解 函式指標 指向函式的指標。比如: 理解函式指標的偽代碼 void (*p)(int type, char *data); // 定義一個函式指標p void func(int type, char *data); // 宣告一個函式func p = func; // 將指標p指向函式func ......

    uj5u.com 2023-04-20 07:23:52 more
  • Django筆記二十五之資料庫函式之日期函式

    本文首發于公眾號:Hunter后端 原文鏈接:Django筆記二十五之資料庫函式之日期函式 日期函式主要介紹兩個大類,Extract() 和 Trunc() Extract() 函式作用是提取日期,比如我們可以提取一個日期欄位的年份,月份,日等資料 Trunc() 的作用則是截取,比如 2022-0 ......

    uj5u.com 2023-04-20 07:23:45 more
  • 一天吃透JVM面試八股文

    什么是JVM? JVM,全稱Java Virtual Machine(Java虛擬機),是通過在實際的計算機上仿真模擬各種計算機功能來實作的。由一套位元組碼指令集、一組暫存器、一個堆疊、一個垃圾回收堆和一個存盤方法域等組成。JVM屏蔽了與作業系統平臺相關的資訊,使得Java程式只需要生成在Java虛擬機 ......

    uj5u.com 2023-04-20 07:23:31 more
  • 使用Java接入小程式訂閱訊息!

    更新完微信服務號的模板訊息之后,我又趕緊把微信小程式的訂閱訊息給實作了!之前我一直以為微信小程式也是要企業才能申請,沒想到小程式個人就能申請。 訊息推送平臺🔥推送下發【郵件】【短信】【微信服務號】【微信小程式】【企業微信】【釘釘】等訊息型別。 https://gitee.com/zhongfuch ......

    uj5u.com 2023-04-20 07:22:59 more
  • java -- 緩沖流、轉換流、序列化流

    緩沖流 緩沖流, 也叫高效流, 按照資料型別分類: 位元組緩沖流:BufferedInputStream,BufferedOutputStream 字符緩沖流:BufferedReader,BufferedWriter 緩沖流的基本原理,是在創建流物件時,會創建一個內置的默認大小的緩沖區陣列,通過緩沖 ......

    uj5u.com 2023-04-20 07:22:49 more
  • Java-SpringBoot-Range請求頭設定實作視頻分段傳輸

    老實說,人太懶了,現在基本都不喜歡寫筆記了,但是網上有關Range請求頭的文章都太水了 下面是抄的一段StackOverflow的代碼...自己大修改過的,寫的注釋挺全的,應該直接看得懂,就不解釋了 寫的不好...只是希望能給視頻網站開發的新手一點點幫助吧. 業務場景:視頻分段傳輸、視頻多段傳輸(理 ......

    uj5u.com 2023-04-20 07:22:42 more
  • Windows 10開發教程_編程入門自學教程_菜鳥教程-免費教程分享

    教程簡介 Windows 10開發入門教程 - 從簡單的步驟了解Windows 10開發,從基本到高級概念,包括簡介,UWP,第一個應用程式,商店,XAML控制元件,資料系結,XAML性能,自適應設計,自適應UI,自適應代碼,檔案管理,SQLite資料庫,應用程式到應用程式通信,應用程式本地化,應用程式 ......

    uj5u.com 2023-04-20 07:22:35 more