繼續(xù)講解!上堂課給出了例題!讓我們一起來看看解題過程。








請注意結論!







下堂課詳細講解漢明碼。
漢明碼(Hamming Code)是在電信領域的一種線性調(diào)試碼,以發(fā)明者理查德·衛(wèi)斯里·漢明的名字命名。漢明碼在傳輸?shù)南⒘髦胁迦腧炞C碼,當計算機存儲或移動數(shù)據(jù)時,可能會產(chǎn)生數(shù)據(jù)位錯誤,以偵測并更正單一比特錯誤。由于漢明編碼簡單,它們被廣泛應用于內(nèi)存(RAM)。通信領域里面也用它哦,比如:Lora里面就用到了。在本公眾號里面有漢明碼的編譯碼程序,歡迎大家前去了解。先了解一下漢明碼的歷史吧。
1940年,漢明在貝爾實驗室(Bell Labs)工作,使用貝爾模型V(Bell Model V)電腦(一個周期時間在幾秒鐘內(nèi)的機電繼電器機器)。輸入端是依靠打孔卡(Punched Card),這不免有些讀取錯誤。在平日,特殊代碼將發(fā)現(xiàn)錯誤并閃燈(flash lights),使得操作者能夠糾正這個錯誤。在周末和下班期間,在沒有操作者的情況下,機器只會簡單地轉移到下一個工作。漢明在周末工作,他對于不可靠的讀卡機發(fā)生錯誤后,總是必須重新開始項目變得愈來愈沮喪。在接下來的幾年中,他為了解決調(diào)試的問題,開發(fā)了功能日益強大的調(diào)試算法。在1950年,他發(fā)表了今日所稱的漢明碼?,F(xiàn)在漢明碼有著廣泛的應用。

再來看看漢明碼如何進行檢錯和糾錯?漢明碼(Hamming Code)是一個可以有多個校驗位,具有檢測并糾正一位錯誤代碼的糾錯碼,所以也僅用于信道特性比較好的環(huán)境中,如以太局域網(wǎng)。所以lora通信體制中采用了它。
它的檢錯、糾錯基本思路如下:
(1)將有效信息按某種規(guī)律分成若干組,每組安排一個校驗位通過異或運算進行校驗,得出具體的校驗碼;
(2)在接收端同樣通過異或運算看各組校驗結果是否正確,并觀察出錯的校校組,或者多個出錯的校驗組的共同校驗位,得出具體的出錯比特位;
(3)對錯誤位取反來將其糾正;
想看編譯碼程序嗎?公眾號《通信工程師專輯》中可以找到多種編譯碼的仿真程序!







編譯碼代碼可以在本公眾號里面找到!


在一組數(shù)的編碼中,若任意兩個相鄰的代碼只有一位二進制數(shù)不同,則稱這種編碼為格雷碼(Gray Code),另外由于最大數(shù)與最小數(shù)之間也僅一位數(shù)不同,即“首尾相連”,因此又稱循環(huán)碼或反射碼。在數(shù)字系統(tǒng)中,常要求代碼按一定順序變化。例如,按自然數(shù)遞增計數(shù),若采用8421碼,則數(shù)0111變到1000時四位均要變化,而在實際電路中,4位的變化不可能絕對同時發(fā)生,則計數(shù)中可能出現(xiàn)短暫的其它代碼(1100、1111等)。在特定情況下可能導致電路狀態(tài)錯誤或輸入錯誤。使用格雷碼可以避免這種錯誤。格雷碼有多種編碼形式。
格雷碼(Gray Code)曾用過Grey Code、葛萊碼、格萊碼、戈萊碼、循環(huán)碼、反射二進制碼、最小差錯碼等名字,它們有的不對,有的易與其它名稱混淆,建議不要再使用這些曾用名。請看清楚這兩個碼的差別,中文名稱一樣的,但英文不一樣哦。注意差別?。?!


太常用了!
本公眾號已經(jīng)給出了相關仿真程序!
調(diào)制和編碼相結合!







譯碼難度很大,當年讀研究生的時候花了好長時間來“咀嚼”這方面的知識!大家看完卷積碼的譯碼知識就知道這方面的難度了!維特比譯碼函數(shù)如何寫呢?后面會告知。



維特比譯碼是一種最大似然譯碼算法,它不是比較所有可能的2的L次方個發(fā)送序列與接收序列之間的距離??疾炀矸e碼的網(wǎng)絡圖,在穩(wěn)定狀態(tài)時,每個節(jié)點都有若干個支路歸入,所以在譯碼過程中,不斷地考察到達每個節(jié)點的支路度量值,將該節(jié)點上已不可能獲得最大對數(shù)似然函數(shù)的路徑丟棄,然后在剩下的“幸存”路徑中重新選擇譯碼路徑,一直進行到最后第L級。
由于維特比算法較早地丟棄了那些不可能的路徑,從而大大減小運算量。來看看老師編寫的程序,感受一下這個算法!

管中窺豹!
%%% 卷積碼譯碼函數(shù)模塊程序
%%% File: function_trunk_conv_decoder.m %%%
%%% date: 2011-07-06 author: 算法工匠 %%%%%
%%%%%% 函數(shù)名 %%%%%%
function decoded_bits = function_trunk_conv_decoder(rx_bits,GenPoly,dect_type,tblen)
%%% 程序說明
% 實現(xiàn)連續(xù)方式下軟/硬判決Viterbi譯碼算法。
% 本程序到達回溯深度即開始判決已有比特,
% 輸出比特無延時輸出,加入輸入?yún)⒘縯blen。
% 在確定譯碼深度的情況下,可以選擇輸出比特是否有延時輸出。
% 本函數(shù)默認為無延時輸出方式。
% 只針對(2,1,m)方式
%%%% 程序要求
% 軟硬判決時,輸入數(shù)據(jù)為-1或1 和 [-2^(n-1) 2^(n-1)-1]
% n為量化比特數(shù) 形式,即輸入必須為雙極性信號;


寫出網(wǎng)格圖是關鍵!可以在本公眾號的文章里面找到這個程序!同學們慢慢細看和消化!這方面的代碼在網(wǎng)上獨一份,希望大家能夠珍惜!站在我的肩膀上,可以讓你的仿真能力快速提升!

程序在文章里面!

維特比譯碼確實比較復雜,當年花了半年時間才真正的寫好維特比譯碼函數(shù)。要考慮的內(nèi)容比較多,比如什么時候開始進行回溯譯碼比較合適?維特比譯碼的性能相比分組碼等其他編碼的譯碼性能究竟好在哪里,如何來評估?編碼約束度和監(jiān)督位數(shù)量對維特比譯碼的性能是如何產(chǎn)生影響?這里本來想描述一種優(yōu)雅高效的卷積碼譯碼方法,它避免我們對N個比特序列的2^N種可能的路徑組合做窮舉。該方法由Andrew Viterbi 發(fā)明,并以他的名字命名。但內(nèi)容太多,就以后再聊吧。安德魯·維特比(Andrew J. Viterbi),CDMA之父,IEEE Fellow ,高通公司創(chuàng)始人之一,高通首席科學家。他開發(fā)了卷積碼編碼的最大似然算法而享譽全球。現(xiàn)在知道高通為什么能這么牛了吧?華為正在迎頭趕上!無奈經(jīng)常被掐脖子!通信人要奮起直追啊,我只能喊喊口號了,不過公眾號里面的程序是實實在在的技術支持。

再來看看RS碼!

注意紅色字體!
突發(fā)錯和隨機錯的差異?。?!


想看譯碼過程嗎?

這里還有級聯(lián)碼的知識點!
復雜度增加了,
優(yōu)秀的本科生可以學習!

還有香農(nóng)極限碼,它們的代表有Turbo碼(TCC碼)、Turbo乘積碼(TPC碼)、低密度校驗碼(LDPC碼)。在碼長為107時,非正則LDPC碼的性能與香農(nóng)極限只差0.0045dB,這個性能是目前所有碼字中最好的。這些編譯碼的仿真程序將于2023年在公眾號里面推出,敬請期待!
TPC碼已作為Intelsat新一代衛(wèi)星通信地球站的標準(IESS-315),并已經(jīng)出現(xiàn)眾多商用設備。LDPC碼已作為第二代衛(wèi)星數(shù)字廣播系統(tǒng)(DVB-S2)的標準編碼方式。我國通信系統(tǒng)基本上都涉及這些編碼方式了。

作業(yè)來了。
解釋編碼增益的概念;編寫B(tài)CH碼結合BPSK的仿真程序;編寫卷積碼結合BPSK的仿真程序;上交仿真報告。
建議:現(xiàn)在網(wǎng)上找相關的仿真程序,然后慢慢消化。這是掌握知識的捷徑。未完,后續(xù)更精彩!

Lora知識分享

Lora wan網(wǎng)絡結構
終端節(jié)點并不與特定的網(wǎng)關連接。由終端發(fā)出的數(shù)據(jù)通??梢员欢鄠€網(wǎng)關接收,每個網(wǎng)關再通過TCP/IP網(wǎng)絡(可以是GPRS, WIFI、衛(wèi)星或以太網(wǎng))將接收到的數(shù)據(jù)包發(fā)往云網(wǎng)絡服務器,服務器將通過時間表來剔除多個網(wǎng)關發(fā)來的重復數(shù)據(jù)。如果一個終端是移動的,那么此功能可以保證數(shù)據(jù)的正常收發(fā),并且可以偵測到靜止終端的非正常移動,保證了資產(chǎn)安全,除此之外,服務器還會執(zhí)行安全檢查和自適應數(shù)據(jù)速率等,將智能性和復雜性轉移到服務器,使設備得到簡化。
LoRa調(diào)制解調(diào)器具有兩種數(shù)據(jù)包模式:顯示模式和隱式模式。
區(qū)別在于,顯示數(shù)據(jù)包模式有一個包含字節(jié)數(shù)、編碼率以及數(shù)據(jù)包是否啟用CRC等信息的報頭。如下圖所示的數(shù)據(jù)包結構圖,主要包含前導碼、可選報頭、數(shù)據(jù)有效負載和負載的CRC校驗。

前導碼用于保持接收機與接收數(shù)據(jù)流之間的同步。其長度是一個可通過編程來設置的變量,默認長度為12個符號,設置范圍在6到65536之間。在接收數(shù)據(jù)量較大的應用中,可通過縮短前導碼的長度,縮短終端接收的占空比。前導碼最小允許長度就可以滿足通信需求,其可變長度主要應用在喚醒設備。這些概念很重要?。?!

終端會定期檢測發(fā)射機信號的前導碼,接收機只有檢測到前導碼長度等于自身設定的長度時才會開始接收數(shù)據(jù),并向CPU發(fā)出中斷或者將中斷寄存器置1,以供CPU定時查詢該寄存器,否則保持休眠態(tài)。

修訂記錄
20190219 完成初稿;
20230111修訂內(nèi)容v2;
原文標題:衛(wèi)星通信v2 第四章 傳輸技術(4)
文章出處:【微信公眾號:通信工程師專輯】歡迎添加關注!文章轉載請注明出處。
-
通信網(wǎng)絡
+關注
關注
22文章
2105瀏覽量
54382
原文標題:衛(wèi)星通信v2 第四章 傳輸技術(4)
文章出處:【微信號:gh_30373fc74387,微信公眾號:通信工程師專輯】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
衛(wèi)星通信:開啟未來通信新紀元
淺談衛(wèi)星通信的運作流程
AI賦能6G與衛(wèi)星通信:開啟智能天網(wǎng)新時代
海格通信推動衛(wèi)星通信導航技術商業(yè)化應用落地
華為衛(wèi)星通信專利公布
芯靈通科技助力衛(wèi)星通信技術發(fā)展
廣電計量成功自研4G IOT衛(wèi)星通信集成測試系統(tǒng)
【「DeepSeek 核心技術揭秘」閱讀體驗】--全書概覽
相控陣波束賦形芯片對衛(wèi)星通信的必要性
從衛(wèi)星通信設計到測試方案全流程解析
科普|衛(wèi)星通信地球站有哪些種類?
干貨|衛(wèi)星通信與地面通信調(diào)制方式的區(qū)別
衛(wèi)星通信v2 第四章 傳輸技術(4)
評論