本發(fā)明涉及電力線載波通信領(lǐng)域,具體而言,涉及一種電力載波通信的數(shù)據(jù)傳輸方法和裝置。
背景技術(shù):
電力線網(wǎng)絡(luò)是當(dāng)今世界上信道資源最豐富的網(wǎng)絡(luò),也是通信潛力最大的網(wǎng)絡(luò)。但是,由于電力線本身不是為通信設(shè)計(jì)的,因此其特性在很多方面難以直接滿足載波通信的要求。
低壓電力線信道的通信環(huán)境惡劣,存在變化的阻抗,不可預(yù)測(cè)的噪聲干擾,信號(hào)干擾等問(wèn)題,通信性能較差。而目前現(xiàn)有的技術(shù)基本是將待發(fā)送的數(shù)據(jù)進(jìn)行編碼;在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),對(duì)于編碼后的同一字節(jié)數(shù)據(jù),通過(guò)3個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送??傮w來(lái)講,通信性能力上還不是很理想。數(shù)據(jù)在傳輸時(shí),如果僅發(fā)送3次,周期性脈沖噪聲將非常容易被覆蓋,無(wú)法真正解決電力載波通信干擾問(wèn)題。在國(guó)內(nèi)電網(wǎng)中,電力線上傳輸?shù)碾娏π盘?hào)為220v,50hz的交流信號(hào),因此電力信號(hào)周期為20ms。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的是提供一種電力載波通信的數(shù)據(jù)傳輸方法,旨在解決現(xiàn)有的電力載波通信容易受到干擾,通信性能較差問(wèn)題,提升數(shù)據(jù)的魯棒性,提高通信能力。
本發(fā)明是這樣實(shí)現(xiàn)的,一種電力載波通信的數(shù)據(jù)發(fā)送方法,所述數(shù)據(jù)發(fā)送方法包括以下步驟:
s1,將待發(fā)送的數(shù)據(jù)進(jìn)行編碼;
s2,在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),對(duì)于編碼后的同一字節(jié)數(shù)據(jù),通過(guò)至少5個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送;
s3,在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),接收通過(guò)至少5個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送的同一字節(jié);
s4,對(duì)接收到的字節(jié)進(jìn)行解碼;
s5,對(duì)解碼后的字節(jié)進(jìn)行校驗(yàn),并根據(jù)校驗(yàn)結(jié)果選擇至少5個(gè)字節(jié)中的一個(gè)作為正確接收到的解碼數(shù)據(jù)。
s1中,設(shè)數(shù)據(jù)發(fā)送端在10ms的發(fā)送周期內(nèi)發(fā)送的字節(jié)數(shù)據(jù)編碼后的16bits數(shù)據(jù)流為h,將五次發(fā)送的數(shù)據(jù)流標(biāo)記為h1,h2,h3,h4,h5,表征為h1(1:16),h2(1:16),h3(1:16),h4(1:16),h5(1:16)。
s4中,在數(shù)據(jù)接收端,對(duì)h1(1:16),h2(1:16),h3(1:16),h4(1:16),h5(1:16)五個(gè)數(shù)據(jù)流進(jìn)行解碼得到五個(gè)字節(jié)數(shù)據(jù),分別為p1,p2,p3,p4,p5;
并且將接收到的h1(1:16),h2(1:16),h3(1:16),h4(1:16),h5(1:16)數(shù)據(jù)流進(jìn)行重排,然后解碼,將其重新組合成5個(gè)新的數(shù)據(jù)流分別為:
h6(1:16)=[h1(1:8),h3(9:16)]
h7(1:16)=[h2(1:8),h4(9:16)]
h8(1:16)=[h3(1:8),h2(9:16)]
h9(1:16)=[h4(1:8),h2(9:16)]
h10(1:16)=[h5(1:8),h2(9:16)]
對(duì)h6,h7,h8,h9,h10進(jìn)行解碼同樣得到5個(gè)字節(jié)數(shù)據(jù),分別為p6,p7,p8,p9,p10。
包括字節(jié)對(duì)比和解碼誤差步長(zhǎng)對(duì)比;字節(jié)對(duì)比對(duì)解碼后的所有字節(jié)進(jìn)行逐個(gè)對(duì)比,判斷是否存在數(shù)值相同的兩個(gè)以上字節(jié),如果存在,則將數(shù)值相同的字節(jié)作為正確接收到的解碼數(shù)據(jù),如果不存在,則調(diào)用解碼誤差步長(zhǎng)對(duì)比模塊;
解碼誤差步長(zhǎng)對(duì)比將解碼后的所有字節(jié)對(duì)應(yīng)的解碼誤差步長(zhǎng)進(jìn)行對(duì)比,選取最小的解碼誤差步長(zhǎng)對(duì)應(yīng)的字節(jié)作為正確接收到的解碼數(shù)據(jù)。
一種電力載波通信的數(shù)據(jù)傳輸?shù)难b置,
包括數(shù)據(jù)冗余發(fā)送模塊、數(shù)據(jù)冗余接收模塊、字節(jié)對(duì)比模塊和解碼誤差步長(zhǎng)對(duì)比模塊;
數(shù)據(jù)冗余發(fā)送模塊,將待發(fā)送的數(shù)據(jù)進(jìn)行編碼,在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),對(duì)于編碼后的同一字節(jié)數(shù)據(jù),通過(guò)至少5個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送;
冗余數(shù)據(jù)接收模塊,用于在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),接收通過(guò)至少5個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送的同一字節(jié);
字節(jié)對(duì)比模塊,用于對(duì)解碼后的所有字節(jié)進(jìn)行逐個(gè)對(duì)比;
解碼誤差步長(zhǎng)對(duì)比模塊,用于將解碼后的所有字節(jié)對(duì)應(yīng)的解碼誤差步長(zhǎng)進(jìn)行對(duì)比,選取最小的解碼誤差步長(zhǎng)對(duì)應(yīng)的字節(jié)作為正確接收到的解碼數(shù)據(jù)。
在本發(fā)明中,對(duì)數(shù)據(jù)進(jìn)行編碼,在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi)冗余發(fā)送同一字節(jié)至少5次,數(shù)據(jù)接收后,再對(duì)數(shù)據(jù)流進(jìn)行相應(yīng)解碼、校驗(yàn)。這樣,數(shù)據(jù)在傳輸時(shí),周期性脈沖噪聲總是無(wú)法覆蓋至少一個(gè)有效信號(hào),從而有效地解決了電力載波通信容易受到干擾,通信性能較差的問(wèn)題。
在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi)冗余發(fā)送同一字節(jié)至少5次,提升數(shù)據(jù)的魯棒性,提高了通信能力。若在數(shù)據(jù)發(fā)送周期取電力信號(hào)周期時(shí)長(zhǎng)的一半,將10ms時(shí)間再進(jìn)行5等分作為一個(gè)字節(jié)數(shù)據(jù)的數(shù)據(jù)傳輸時(shí)隙,冗余發(fā)送次數(shù)5次則為最佳狀態(tài),若發(fā)送次數(shù)高于5次則顯得多余。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供的電力載波通信的數(shù)據(jù)發(fā)送方法的流程圖;
圖2是本發(fā)明實(shí)施例提供的電力載波通信的數(shù)據(jù)接收方法的流程圖;
圖3是本發(fā)明實(shí)施例提供的電力載波通信的數(shù)據(jù)接收裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面通過(guò)具體的實(shí)施例子并結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的詳細(xì)描述。
一種電力載波通信的數(shù)據(jù)發(fā)送方法,所述數(shù)據(jù)發(fā)送方法包括以下步驟:
s1,將待發(fā)送的數(shù)據(jù)進(jìn)行編碼;
s2,在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),對(duì)于編碼后的同一字節(jié)數(shù)據(jù),通過(guò)至少5個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送;
s3,在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),接收通過(guò)至少5個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送的同一字節(jié);
s4,對(duì)接收到的字節(jié)進(jìn)行解碼;
s5,對(duì)解碼后的字節(jié)進(jìn)行校驗(yàn),并根據(jù)校驗(yàn)結(jié)果選擇至少5個(gè)字節(jié)中的一個(gè)作為正確接收到的解碼數(shù)據(jù)。
s1中,設(shè)數(shù)據(jù)發(fā)送端在10ms的發(fā)送周期內(nèi)發(fā)送的字節(jié)數(shù)據(jù)編碼后的16bits數(shù)據(jù)流為h,將五次發(fā)送的數(shù)據(jù)流標(biāo)記為h1,h2,h3,h4,h5,表征為h1(1:16),h2(1:16),h3(1:16),h4(1:16),h5(1:16)。
s4中,在數(shù)據(jù)接收端,對(duì)h1(1:16),h2(1:16),h3(1:16),h4(1:16),h5(1:16)五個(gè)數(shù)據(jù)流進(jìn)行解碼得到五個(gè)字節(jié)數(shù)據(jù),分別為p1,p2,p3,p4,p5;
并且將接收到的h1(1:16),h2(1:16),h3(1:16),h4(1:16),h5(1:16)數(shù)據(jù)流進(jìn)行重排,然后解碼,將其重新組合成5個(gè)新的數(shù)據(jù)流分別為:
h6(1:16)=[h1(1:8),h3(9:16)]
h7(1:16)=[h2(1:8),h4(9:16)]
h8(1:16)=[h3(1:8),h2(9:16)]
h9(1:16)=[h4(1:8),h2(9:16)]
h10(1:16)=[h5(1:8),h2(9:16)]
對(duì)h6,h7,h8,h9,h10進(jìn)行解碼同樣得到5個(gè)字節(jié)數(shù)據(jù),分別為p6,p7,p8,p9,p10。
包括字節(jié)對(duì)比和解碼誤差步長(zhǎng)對(duì)比;字節(jié)對(duì)比對(duì)解碼后的所有字節(jié)進(jìn)行逐個(gè)對(duì)比,判斷是否存在數(shù)值相同的兩個(gè)以上字節(jié),如果存在,則將數(shù)值相同的字節(jié)作為正確接收到的解碼數(shù)據(jù),如果不存在,則調(diào)用解碼誤差步長(zhǎng)對(duì)比模塊;
解碼誤差步長(zhǎng)對(duì)比將解碼后的所有字節(jié)對(duì)應(yīng)的解碼誤差步長(zhǎng)進(jìn)行對(duì)比,選取最小的解碼誤差步長(zhǎng)對(duì)應(yīng)的字節(jié)作為正確接收到的解碼數(shù)據(jù)。
一種電力載波通信的數(shù)據(jù)傳輸?shù)难b置,
包括數(shù)據(jù)冗余發(fā)送模塊、數(shù)據(jù)冗余接收模塊、字節(jié)對(duì)比模塊和解碼誤差步長(zhǎng)對(duì)比模塊;
數(shù)據(jù)冗余發(fā)送模塊,將待發(fā)送的數(shù)據(jù)進(jìn)行編碼,在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),對(duì)于編碼后的同一字節(jié)數(shù)據(jù),通過(guò)至少5個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送;
冗余數(shù)據(jù)接收模塊,用于在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),接收通過(guò)至少5個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送的同一字節(jié);
字節(jié)對(duì)比模塊,用于對(duì)解碼后的所有字節(jié)進(jìn)行逐個(gè)對(duì)比;
解碼誤差步長(zhǎng)對(duì)比模塊,用于將解碼后的所有字節(jié)對(duì)應(yīng)的解碼誤差步長(zhǎng)進(jìn)行對(duì)比,選取最小的解碼誤差步長(zhǎng)對(duì)應(yīng)的字節(jié)作為正確接收到的解碼數(shù)據(jù)。
圖1示出了本發(fā)明實(shí)施例提供的電力載波通信的數(shù)據(jù)發(fā)送方法的流程,詳述如下:
首先,將待發(fā)送的數(shù)據(jù)進(jìn)行編碼。然后在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),對(duì)于編碼后的同一字節(jié)數(shù)據(jù),通過(guò)至少5個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送。
在國(guó)內(nèi)電網(wǎng)中,電力線上傳輸?shù)碾娏π盘?hào)為220v,50hz的交流信號(hào),因此電力信號(hào)周期為20ms。
作為本發(fā)明的實(shí)施例,本發(fā)明的數(shù)據(jù)發(fā)送周期取電力信號(hào)周期時(shí)長(zhǎng)的一半,為10ms。在該數(shù)據(jù)發(fā)送周期內(nèi),將10ms時(shí)間再進(jìn)行5等分作為一個(gè)字節(jié)數(shù)據(jù)的數(shù)據(jù)傳輸時(shí)隙,因此每個(gè)字節(jié)的數(shù)據(jù)傳輸時(shí)隙為2ms。
一個(gè)字節(jié)數(shù)據(jù)對(duì)應(yīng)二進(jìn)制為8bit,通過(guò)卷積編碼可以對(duì)應(yīng)生成16bits的數(shù)據(jù)流w。w的數(shù)據(jù)流模式為:
w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12,w13,w14,w15,w16。
為了達(dá)到更好的防干擾的目的,將16bits的數(shù)據(jù)流按照以下方式進(jìn)行交織編碼形成ww,經(jīng)過(guò)交織變換后數(shù)據(jù)流ww的模式為:
w1,w6,w11,w16,w2,w7,w12,w3,w8,w13,w4,w9,w14,w5,w10,w15。
在本發(fā)明中,碼速率設(shè)定為10kbps,則ww數(shù)據(jù)流發(fā)送的時(shí)間為:t=16*t=16*(1/10kbps)=1.6ms。
圖2示出了本發(fā)明實(shí)施例提供的電力載波通信的數(shù)據(jù)接收方法的流程,詳述如下:
它的步驟為,在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),接收通過(guò)至少5個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送的同一字節(jié)。
接著,對(duì)接收到的字節(jié)進(jìn)行解碼。
然后,對(duì)解碼后的字節(jié)進(jìn)行校驗(yàn),并根據(jù)校驗(yàn)結(jié)果選擇至少5個(gè)字節(jié)中的一個(gè)作為正確接收到的解碼數(shù)據(jù)。
作為本發(fā)明的實(shí)施例,在接收端,則采取viterbi(維特比)解碼方式,但是不是單純的采取單個(gè)字節(jié)解碼模式,而是采取多次循環(huán)解碼模式來(lái)進(jìn)行。
假設(shè)數(shù)據(jù)發(fā)送端在10ms的發(fā)送周期內(nèi)發(fā)送的字節(jié)數(shù)據(jù)編碼后的16bits數(shù)據(jù)流為h,進(jìn)行5次循環(huán)發(fā)送,雖然在5個(gè)時(shí)隙內(nèi)發(fā)送的數(shù)據(jù)完全一致,但是為了區(qū)分時(shí)間的不同,我們將五次發(fā)送的數(shù)據(jù)流標(biāo)記為h1,h2,h3,h4,h5,那么五次數(shù)據(jù)流的每一位可以表征為h1(1:16),h2(1:16),h3(1:16),h4(1:16),h5(1:16)。在數(shù)據(jù)接收端,我們將不僅對(duì)h1(1:16),h2(1:16),h3(1:16),h4(1:16),h5(1:16)五個(gè)數(shù)據(jù)流進(jìn)行解碼得到五個(gè)字節(jié)數(shù)據(jù),分別為p1,p2,p3,p4,p5。
同時(shí),也需要將接收到的h1(1:16),h2(1:16),h3(1:16),h4(1:16),h5(1:16)數(shù)據(jù)流進(jìn)行重排,然后解碼,將其重新組合成5個(gè)新的數(shù)據(jù)流分別為:
h6(1:16)=[h1(1:8),h3(9:16)]
h7(1:16)=[h2(1:8),h4(9:16)]
h8(1:16)=[h3(1:8),h2(9:16)]
h9(1:16)=[h4(1:8),h2(9:16)]
h10(1:16)=[h5(1:8),h2(9:16)]
對(duì)h6,h7,h8,h9,h10進(jìn)行解碼同樣得到5個(gè)字節(jié)數(shù)據(jù),分別為p6,p7,p8,p9,p10。
通過(guò)對(duì)p1,p1,p3,p4,p5,p6,p7,p8,p9,p10這十個(gè)字節(jié)的數(shù)據(jù)進(jìn)行校驗(yàn),獲取最大概率的字節(jié)數(shù)作為正確接收到的解碼數(shù)據(jù),從而有效解決了電力線網(wǎng)絡(luò)普遍存在的周期干擾信號(hào)對(duì)電力載波通信性能下降的現(xiàn)場(chǎng)應(yīng)用難題。
圖3示出了本發(fā)明實(shí)施例提供的電力載波通信的數(shù)據(jù)接收裝置的結(jié)構(gòu)。
所述數(shù)據(jù)接收裝置包括:冗余數(shù)據(jù)發(fā)送模塊、冗余數(shù)據(jù)接收模塊、字節(jié)對(duì)比模塊,以及解碼誤差步長(zhǎng)對(duì)比模塊。
數(shù)據(jù)冗余發(fā)送模塊,將待發(fā)送的數(shù)據(jù)進(jìn)行編碼,在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),對(duì)于編碼后的同一字節(jié)數(shù)據(jù),通過(guò)至少5個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送。
冗余數(shù)據(jù)接收模塊,用于在一個(gè)數(shù)據(jù)發(fā)送周期內(nèi),接收通過(guò)至少5個(gè)數(shù)據(jù)傳輸時(shí)隙分別冗余發(fā)送的同一字節(jié);
字節(jié)對(duì)比模塊,用于對(duì)解碼后的所有字節(jié)進(jìn)行逐個(gè)對(duì)比;
解碼誤差步長(zhǎng)對(duì)比模塊,用于將解碼后的所有字節(jié)對(duì)應(yīng)的解碼誤差步長(zhǎng)進(jìn)行對(duì)比,選取最小的解碼誤差步長(zhǎng)對(duì)應(yīng)的字節(jié)作為正確接收到的解碼數(shù)據(jù)。
在本發(fā)明的實(shí)施例中,字節(jié)對(duì)比模塊以及解碼誤差步長(zhǎng)對(duì)比模塊。具體的校驗(yàn)過(guò)程為:字節(jié)對(duì)比模塊對(duì)解碼后的所有字節(jié)進(jìn)行逐個(gè)對(duì)比,判斷是否存在數(shù)值相同的兩個(gè)以上字節(jié),如果存在,則將數(shù)值相同的字節(jié)作為正確接收到的解碼數(shù)據(jù),如果不存在,則調(diào)用解碼誤差步長(zhǎng)對(duì)比模塊。解碼誤差步長(zhǎng)對(duì)比模塊將解碼后的所有字節(jié)對(duì)應(yīng)的解碼誤差步長(zhǎng)進(jìn)行對(duì)比,選取最小的解碼誤差步長(zhǎng)對(duì)應(yīng)的字節(jié)作為正確接收到的解碼數(shù)據(jù)。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。