袁凱 李俊娥,2 劉開(kāi)培 陸秋余,2 倪明 羅劍波
電力廣域保護(hù)系統(tǒng)的測(cè)量數(shù)據(jù)上傳、執(zhí)行報(bào)文下發(fā)以及各個(gè)區(qū)域之間的信息交換需要可靠與實(shí)時(shí)的通信保障[1?3],否則可能導(dǎo)致執(zhí)行單元發(fā)生拒動(dòng)或者誤動(dòng),威脅電力系統(tǒng)的安全穩(wěn)定運(yùn)行[4?7].目前電網(wǎng)大多采用點(diǎn)對(duì)點(diǎn)的信息傳輸方式,這種傳輸方式投資大,不能適應(yīng)大規(guī)模的廣域保護(hù)系統(tǒng)應(yīng)用需求.采用基于TCP/IP 協(xié)議的交換網(wǎng)實(shí)現(xiàn)互聯(lián)電網(wǎng)的廣域信息交換是未來(lái)電網(wǎng)保護(hù)與控制的必然發(fā)展趨勢(shì).
廣域保護(hù)與控制系統(tǒng)的通信范圍廣、通信距離長(zhǎng),其通信網(wǎng)絡(luò)受到攻擊的可能性大,容易出現(xiàn)擁塞狀態(tài).傳輸控制協(xié)議(Transmission control protocol,TCP)通過(guò)確認(rèn)與超時(shí)重傳機(jī)制為應(yīng)用程序提供可靠的傳輸服務(wù),但其擁塞控制機(jī)制可能導(dǎo)致報(bào)文時(shí)延增加.用戶數(shù)據(jù)報(bào)協(xié)議(User datagram protocol,UDP)沒(méi)有擁塞控制機(jī)制,無(wú)論網(wǎng)絡(luò)擁塞與否,都按照源站自身的能力以不變的速率發(fā)送報(bào)文,且大量的UDP 報(bào)文發(fā)送到信道上,會(huì)進(jìn)一步抑制TCP 的發(fā)送速率,從而具有信道資源搶占能力[8?9].
實(shí)時(shí)、可靠的通信系統(tǒng)是廣域保護(hù)系統(tǒng)的基礎(chǔ)[10?11].傳統(tǒng)的關(guān)于電力廣域保護(hù)系統(tǒng)通信實(shí)時(shí)性與可靠性保障方法的研究,主要采用優(yōu)化網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、基于多協(xié)議標(biāo)簽交換(Multi-protocol label switching,MPLS)的流量工程[12?13]與路由優(yōu)化[12,14]、針對(duì)不同優(yōu)先級(jí)業(yè)務(wù)優(yōu)化隊(duì)列調(diào)度算法[15]、基于區(qū)分服務(wù)體系結(jié)構(gòu)模型的服務(wù)質(zhì)量保障[13,15]等方法.如果傳輸層仍然使用TCP 協(xié)議,這些方法并不能解決同一數(shù)據(jù)流路徑上擁塞和出錯(cuò)重傳帶來(lái)的時(shí)延問(wèn)題.
有學(xué)者初步提出了基于UDP 傳輸可靠性要求高的工業(yè)控制報(bào)文.文獻(xiàn)[16]提出了基于UDP 傳輸協(xié)議的面向通用對(duì)象的變電站事件(Generic object oriented substation event,GOOSE)報(bào)文廣域互聯(lián)實(shí)時(shí)通信,但對(duì)可靠性保障只給出了應(yīng)用層報(bào)文重傳的機(jī)制和增加冗余信道的建議措施,且存在如下不足:所設(shè)計(jì)的報(bào)文重傳時(shí)間間隔較大,穩(wěn)定狀態(tài)時(shí)的重傳時(shí)間間隔為小于60 s,可選20 s,不能保證報(bào)文丟失或出錯(cuò)時(shí)的業(yè)務(wù)實(shí)時(shí)性,雖然事件發(fā)生后縮短了重傳間隔,但多次重傳仍然會(huì)超時(shí);冗余信道將極大增加投資成本,且不能避免攻擊引發(fā)的報(bào)文丟失和出錯(cuò)問(wèn)題.文獻(xiàn)[17] 提出基于UDP 協(xié)議傳輸局域網(wǎng)廣域測(cè)量系統(tǒng)(Wide area measurement system,WAMS)數(shù)據(jù)和在應(yīng)用層增加重發(fā)機(jī)制和實(shí)時(shí)插值機(jī)制來(lái)保障UDP 傳輸可靠性的策略,但是,其重傳是基于數(shù)據(jù)缺失檢查和請(qǐng)求應(yīng)答機(jī)制實(shí)現(xiàn)的,和TCP 類(lèi)似,多次重傳會(huì)導(dǎo)致時(shí)延超出實(shí)時(shí)性要求;而實(shí)時(shí)插值機(jī)制針對(duì)同步向量測(cè)量單元(Phasor measurement unit,PMU)數(shù)據(jù)特點(diǎn)提出,并不適用于所有的應(yīng)用.總之,上述文獻(xiàn)均未很好解決使用UDP 傳輸時(shí)通信業(yè)務(wù)的可靠性保障問(wèn)題.目前為止,未見(jiàn)將糾錯(cuò)、檢錯(cuò)和重發(fā)機(jī)制聯(lián)合用于實(shí)際通信的研究.
電力廣域保護(hù)控制通信體系依照分層分布的設(shè)計(jì)原則進(jìn)行構(gòu)建[18?20].廣域保護(hù)系統(tǒng)的業(yè)務(wù)報(bào)文主要包括兩大類(lèi):測(cè)量數(shù)據(jù)上傳報(bào)文和控制命令下發(fā)報(bào)文.廣域保護(hù)與控制系統(tǒng)的動(dòng)作時(shí)間(測(cè)量數(shù)據(jù)上傳和控制命令下發(fā)的動(dòng)作時(shí)延)范圍在100 ms到100 s 之間,具體時(shí)延要求與業(yè)務(wù)類(lèi)型、電網(wǎng)規(guī)模、元件位置有關(guān)[21].以失步保護(hù)為例,其測(cè)量數(shù)據(jù)上傳和控制命令下發(fā)的通信時(shí)延之和不能超過(guò)370 ms[22?23].
本文針對(duì)TCP 不能保障實(shí)時(shí)性而UDP 不能保障可靠性的問(wèn)題,提出一種基于UDP 傳輸?shù)膽?yīng)用層糾錯(cuò)、檢錯(cuò)和重發(fā)機(jī)制,以保障電力控制報(bào)文的實(shí)時(shí)性與可靠性,為廣域保護(hù)與控制系統(tǒng)走向IP 網(wǎng)絡(luò)通信提供參考.
考慮到計(jì)算復(fù)雜性,在應(yīng)用層報(bào)文中加入的糾錯(cuò)機(jī)制采用線性分組碼.
為保證使用UDP 傳輸時(shí)的可靠性,在設(shè)計(jì)糾錯(cuò)碼時(shí),應(yīng)考慮信道的誤碼率,即使用的糾錯(cuò)算法和在應(yīng)用層報(bào)文中加入的糾錯(cuò)碼,其糾錯(cuò)能力應(yīng)大于信道的誤碼率.
1)分組碼的校驗(yàn)元長(zhǎng)度約束條件
兩個(gè)等長(zhǎng)字符串對(duì)應(yīng)位置的不同字符的個(gè)數(shù),稱(chēng)為碼元距離,也稱(chēng)漢明距,記為d.各個(gè)碼字間距離的最小值稱(chēng)為最小碼距,記為d0,是衡量碼組檢錯(cuò)和糾錯(cuò)能力的依據(jù).分組碼的糾錯(cuò)或檢錯(cuò)能力如下[24]:
為檢測(cè)e個(gè)錯(cuò)碼,要求最小碼距為

為糾正t個(gè)錯(cuò)碼,要求最小碼距為

為糾正t個(gè)錯(cuò)碼,同時(shí)檢測(cè)e個(gè)錯(cuò)碼,要求最小碼距為

當(dāng)采用線性分組碼時(shí),每一組的校驗(yàn)元長(zhǎng)度r為[24]

2)考慮信道誤碼率的糾錯(cuò)碼理論長(zhǎng)度
假設(shè)應(yīng)用層報(bào)文的長(zhǎng)度字節(jié)數(shù)為μ,信道誤碼率為λ,設(shè)編碼時(shí)將報(bào)文分為N組,假定分組后每組報(bào)文長(zhǎng)度為整數(shù),則每組需要糾正的最大比特位數(shù)t為

根據(jù)式(2)和式(4),則加入的糾錯(cuò)碼長(zhǎng)度δ為

定義1.分組碼是把信源輸出的信息序列,以k個(gè)碼元?jiǎng)澐譃橐欢?通過(guò)編碼器為這k個(gè)信息元按一定規(guī)則產(chǎn)生r個(gè)校驗(yàn)(監(jiān)督) 元,則輸出碼長(zhǎng)為nk+r的一個(gè)碼組,表示為 (n,k) .每一碼組的校驗(yàn)元僅與本組的信息元有關(guān),而與其他組無(wú)關(guān)[24].
定義2.當(dāng)碼長(zhǎng)為n的分組碼中的r個(gè)校驗(yàn)元是由k個(gè)信元的線性組合來(lái)表達(dá)時(shí),則該分組碼稱(chēng)為線性分組碼[24].
線性分組碼主要包括漢明碼和BCH(Bose-Chaudhuri-Hocquenghem)碼.漢明碼只能糾正一位錯(cuò)誤,BCH 碼能夠糾正多位錯(cuò)誤.BCH 是迄今為止所發(fā)現(xiàn)的一種較好的線性糾錯(cuò)碼類(lèi),它的糾錯(cuò)能力非常強(qiáng),特別在短和中等碼長(zhǎng)下,其糾錯(cuò)性能幾乎接近理論值.BCH 碼中,當(dāng)碼長(zhǎng)n2m ?1 (m為正整數(shù))時(shí),稱(chēng)為本原BCH 碼.這一類(lèi)編碼簡(jiǎn)單,計(jì)算效率高[24].
定理1[24].對(duì)任意正整數(shù)m和t,一定存在一個(gè)二進(jìn)制BCH 碼,它以β,β2,···,β2t?1為根,其碼長(zhǎng)n2m ?1或是 2m ?1的因子,能糾正t個(gè)隨機(jī)錯(cuò)誤,校驗(yàn)位數(shù)目至多為mt個(gè).
1.2.1 本原BCH 碼的編譯碼規(guī)則
定義本原BCH 編碼的發(fā)送端的碼字矩陣為C n[c n?1,c n?2,c n?3,···,c1,c0],碼字的前k位為信息位,后r位為校驗(yàn)位(監(jiān)督位).因此,信息元矩陣Ck[c n?1,c n?2,c n?3,···,c n?k+1,c n?k],校驗(yàn)元矩陣Cr[c n?k?1,c n?k?2,c n?k?3,···,c1,c0]. 譯碼器收到的碼字矩陣為w[w n?1,w n?2,w n?3,···,w1,w0],信息在傳輸時(shí)發(fā)生隨機(jī)錯(cuò)誤,假定錯(cuò)誤矩陣為e[e n?1,e n?2,···,e1,e0],則wC n+e.
1)本原BCH 碼的編碼規(guī)則
步驟1.對(duì)于 (n,k) 分組碼,其生成多項(xiàng)式g(x)g0+xg1+x2g2+···x n?k?1g n?k?1+x n?k g n?k由xn ?1因式分解得到,即xn ?1g(x)h(x),則生成矩陣G[24]:

步驟2.對(duì)于本原BCH 碼,有GHT0 .由此可以得到校驗(yàn)矩陣H[24]:

步驟3.由本原BCH 碼的性質(zhì)可知即[24]

由于信息元cn?1~c n?k已知,則加入的校驗(yàn)元c n?k?1~c0可以通過(guò)上述公式得到.即

2)本原BCH 碼的譯碼規(guī)則
步驟1.根據(jù)碼長(zhǎng)n和信息元長(zhǎng)度k計(jì)算校驗(yàn)矩陣H.
步驟2.計(jì)算矩陣w的伴隨矩陣Sw HT.
步驟3.由于Sw HT(C n+e)HTeHT,可以估計(jì)錯(cuò)誤矩陣
步驟4.譯碼器輸出的估計(jì)碼字
1.2.2 一種本原BCH 碼分組方法
假設(shè)本原BCH 編碼用二進(jìn)制數(shù)實(shí)現(xiàn),通過(guò)分析本原BCH 碼的編譯碼過(guò)程,可以計(jì)算編譯碼的時(shí)間,編碼和譯碼的移位運(yùn)算次數(shù)分別為kr和nlog2n[24],當(dāng)采用硬件進(jìn)行編譯碼時(shí),一次移位運(yùn)算的時(shí)間非常短,此時(shí)編譯碼的時(shí)間基本可以忽略不計(jì).
對(duì)應(yīng)用層報(bào)文進(jìn)行分組和糾錯(cuò)碼長(zhǎng)度計(jì)算時(shí)需要考慮如下問(wèn)題:
1)本原BCH 碼的性能在碼長(zhǎng)小于等于1 023比特時(shí)較好,特別在短碼時(shí)糾錯(cuò)性能更好,隨著碼長(zhǎng)的增加,糾錯(cuò)性能變壞.因此,為了有較好的糾錯(cuò)性能,分組后每組碼長(zhǎng)應(yīng)不超過(guò)1 023 比特[24].
2)根據(jù)信道的誤碼率和應(yīng)用層報(bào)文長(zhǎng)度可以計(jì)算信道的誤比特?cái)?shù).因此,為了保障信息在傳輸過(guò)程中的可靠性,必須滿足整個(gè)編碼的糾錯(cuò)位數(shù)大于或者等于報(bào)文在信道傳輸過(guò)程中的誤比特?cái)?shù).
3)當(dāng)原始的數(shù)據(jù)長(zhǎng)度不滿足本原BCH 碼編碼規(guī)則時(shí),需要用零補(bǔ)齊.
假設(shè)光纖的誤碼率為 1×10?3時(shí),可以確定本原BCH 碼分組規(guī)則如表1 所示.
1.2.3 應(yīng)用舉例
設(shè)有數(shù)據(jù)D,長(zhǎng)度為200 字節(jié).
依據(jù)表1,應(yīng)當(dāng)將數(shù)據(jù)分成N8 組,每組信息元長(zhǎng)度為k200×8/8200位,數(shù)據(jù)D[d1,d2,···,d8],其中每一組信息元d i為1×200 的矩陣

其中,d ij0 或1.
根據(jù)定理1,本原BCH 碼的碼長(zhǎng)必須為2m ?1(m為正整數(shù)),因此,對(duì)于200 比特的信息元,編碼后的碼長(zhǎng)應(yīng)為n255,若期望糾錯(cuò)能力t1,則校驗(yàn)元長(zhǎng)度rmt8,信息元長(zhǎng)度k′247. 因此需要對(duì)原始數(shù)據(jù)d i進(jìn)行補(bǔ)零,補(bǔ)零的長(zhǎng)度為k′′k′?k47,則補(bǔ)零后的數(shù)據(jù),每一組信息元為1×247 的矩陣

每一組校驗(yàn)元矩陣

其中,C rij0 或1.

并將的每一組用零補(bǔ)齊到247 位,得到對(duì)應(yīng)組的譯碼前每組信息矩陣為1×247 的矩陣

按照本原BCH 碼譯碼規(guī)則對(duì)c i進(jìn)行譯碼,得到對(duì)應(yīng)組的錯(cuò)誤圖樣ei,則譯碼后碼字
1.2.4 實(shí)驗(yàn)驗(yàn)證
為了驗(yàn)證上述編譯碼規(guī)則和分組規(guī)則的正確性,進(jìn)行了編程實(shí)現(xiàn),實(shí)驗(yàn)程序流程如圖1 所示,實(shí)驗(yàn)程序偽代碼見(jiàn)附錄A.對(duì)應(yīng)表1,分別選取應(yīng)用層報(bào)文長(zhǎng)度為1、30、59、60、80、115、116、160、231、232、320、462、463、800、1 400 字節(jié)作為實(shí)驗(yàn)程序的輸入,實(shí)驗(yàn)結(jié)果表明對(duì)所有選取的報(bào)文長(zhǎng)度均能準(zhǔn)確地進(jìn)行BCH 編碼和譯碼,且當(dāng)信道隨機(jī)錯(cuò)誤小于糾錯(cuò)碼的糾錯(cuò)能力時(shí),都可以得到糾正,即能得到正確的原始報(bào)文信息.

圖1 糾錯(cuò)算法實(shí)驗(yàn)程序流程圖Fig.1 Flowchart of the experiment program for error correction algorithm

表1 一種本原BCH 碼分組方法Table 1 A grouping method of original BCH code
為了進(jìn)一步驗(yàn)證糾錯(cuò)碼的糾錯(cuò)能力,對(duì)相同長(zhǎng)度的應(yīng)用層報(bào)文加入不同的錯(cuò)誤圖樣進(jìn)行了實(shí)驗(yàn).應(yīng)用層報(bào)文長(zhǎng)度取200 個(gè)字節(jié)、加入1 位錯(cuò)誤時(shí)的實(shí)驗(yàn)結(jié)果見(jiàn)附錄B,表明當(dāng)信道隨機(jī)錯(cuò)誤小于糾錯(cuò)碼的糾錯(cuò)能力時(shí),信道誤碼可以得到糾正.應(yīng)用層報(bào)文長(zhǎng)度取200 個(gè)字節(jié)、加入2 位錯(cuò)誤時(shí)的實(shí)驗(yàn)結(jié)果見(jiàn)附錄C,表明當(dāng)信道隨機(jī)錯(cuò)誤大于糾錯(cuò)碼的糾錯(cuò)能力時(shí),信道誤碼不能得到糾正.
應(yīng)用層加入糾錯(cuò)機(jī)制后,對(duì)通信業(yè)務(wù)的端到端時(shí)延影響主要有如下兩個(gè)方面:1)加入的糾錯(cuò)碼會(huì)增加報(bào)文的長(zhǎng)度,從而增加報(bào)文的發(fā)送時(shí)延;2)糾錯(cuò)碼的編碼和譯碼會(huì)增加發(fā)送端和接收端的處理時(shí)延.
1.3.1 加入糾錯(cuò)碼后增加的通信時(shí)延
假設(shè)通信報(bào)文糾錯(cuò)碼的字節(jié)數(shù)為δ,通信網(wǎng)絡(luò)的發(fā)送速率為M,報(bào)文的發(fā)送時(shí)延為τ,則單個(gè)節(jié)點(diǎn)增加的報(bào)文發(fā)送時(shí)延為

編碼和譯碼的時(shí)延與其編譯碼算法復(fù)雜度和編譯碼器的處理器速率等因素有關(guān).假定算法復(fù)雜度和處理器確定的情況下,編碼和譯碼的時(shí)延分別為T(mén)1和T2,編碼和譯碼的總時(shí)延T為

1.3.2 實(shí)例分析
1)增加的發(fā)送時(shí)延
為了比較可能增加的最大通信時(shí)延,應(yīng)用層報(bào)文的長(zhǎng)度取256 字節(jié).依據(jù)表1,采用應(yīng)用層糾錯(cuò)和UDP 方案時(shí),傳輸層的報(bào)文長(zhǎng)度為256+16+8=280 Bytes,其中16 字節(jié)是增加的糾錯(cuò)碼長(zhǎng)度,8 字節(jié)是UDP 報(bào)文首部長(zhǎng)度;采用TCP 傳輸方案(無(wú)應(yīng)用層糾錯(cuò)) 時(shí),傳輸層的報(bào)文長(zhǎng)度大于等于256+20=276 Bytes,其中20 為T(mén)CP 報(bào)文的固定首部長(zhǎng)度.可見(jiàn),傳輸時(shí)延在單個(gè)節(jié)點(diǎn)最多增加τ=(280?276)×8/M=32/M,M為鏈路的發(fā)送速率,取M=100 Mbps 時(shí),τ=32 bits/100 Mbps=0.32 μs. 電力控制報(bào)文的轉(zhuǎn)發(fā)跳數(shù)不可能多,一個(gè)省級(jí)調(diào)度數(shù)據(jù)網(wǎng)的報(bào)文轉(zhuǎn)發(fā)跳數(shù)通常是3~4 跳,以5 跳計(jì)算,增加的總發(fā)送時(shí)延為0.32×5=1.6 μs,仍然非常小,幾乎可以忽略不計(jì).
2)增加的編譯碼時(shí)延
應(yīng)用層糾錯(cuò)碼的編譯碼只發(fā)生在源端和目的端,即通信過(guò)程中只增加一次編碼時(shí)延和一次譯碼時(shí)延.當(dāng)采用硬件進(jìn)行編譯碼時(shí),編譯碼的時(shí)間基本可以忽略不計(jì).
1.3.3 仿真驗(yàn)證
1)未增加糾錯(cuò)機(jī)制的報(bào)文端到端時(shí)延
為了驗(yàn)證TCP 和UDP 對(duì)應(yīng)用層業(yè)務(wù)報(bào)文實(shí)時(shí)性的影響,下面以圖2 所示的某省級(jí)電力調(diào)度數(shù)據(jù)網(wǎng)為例仿真TCP 和UDP 傳輸方式下的端到端最大時(shí)延.假設(shè)其由省調(diào)雙核心、備調(diào)雙備份和10個(gè)地調(diào)組成,其主網(wǎng)是4 個(gè)155/1 000 Mbps 環(huán)型鏈的雙歸網(wǎng)絡(luò).

圖2 一個(gè)省級(jí)電力調(diào)度數(shù)據(jù)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 The structure of a provincial power dispatch data network
以測(cè)量數(shù)據(jù)報(bào)文上傳業(yè)務(wù)為例.綜合各類(lèi)文獻(xiàn),取測(cè)量數(shù)據(jù)的應(yīng)用層報(bào)文長(zhǎng)度為典型值256 字節(jié),測(cè)量數(shù)據(jù)上傳的頻率為50 Hz,即測(cè)量設(shè)備以20 ms的間隔持續(xù)向控制中心發(fā)送測(cè)量數(shù)據(jù).
設(shè)定網(wǎng)絡(luò)暢通和擁塞兩種情況,仿真?zhèn)鬏攲臃謩e使用TCP 和UDP 時(shí),統(tǒng)計(jì)相應(yīng)的測(cè)量數(shù)據(jù)報(bào)文上傳端到端的最大時(shí)延,結(jié)果如圖3 和圖4 所示.從圖中可以看出,在網(wǎng)絡(luò)正常情況下,TCP 和UDP傳輸方式下的業(yè)務(wù)時(shí)延相差不大,都能夠滿足實(shí)時(shí)性要求.但在網(wǎng)絡(luò)擁塞狀況下,采用TCP 時(shí),隨著仿真時(shí)間的增加,時(shí)延急劇增加,達(dá)到數(shù)秒甚至十余秒(第5 分鐘時(shí)達(dá)到40 s),不能滿足大部分廣域保護(hù)業(yè)務(wù)的實(shí)時(shí)性需求;而UDP 傳輸方式下,業(yè)務(wù)最大時(shí)延穩(wěn)定在80 ms 左右,能滿足大部分廣域保護(hù)業(yè)務(wù)的實(shí)時(shí)性需求.

圖3 網(wǎng)絡(luò)暢通時(shí)采用TCP 和UDP 的業(yè)務(wù)最大時(shí)延Fig.3 Maximum delays of messages using TCP and UDP when the network is uncongested

圖4 網(wǎng)絡(luò)擁塞時(shí)采用TCP 和UDP 的業(yè)務(wù)最大時(shí)延Fig.4 Maximum delays of messages using TCP and UDP when the network is congested
2)增加糾錯(cuò)機(jī)制后的報(bào)文端到端時(shí)延
為了驗(yàn)證采用本文糾錯(cuò)方案后報(bào)文的端到端時(shí)延是否滿足電力業(yè)務(wù)的實(shí)時(shí)性要求,本文根據(jù)上文設(shè)計(jì)的BCH 編碼算法參數(shù)進(jìn)行了仿真,且為便于比較分析,仍以圖2 所示的某省電力調(diào)度數(shù)據(jù)網(wǎng)絡(luò)為例,網(wǎng)絡(luò)狀況也分為暢通和擁塞兩種情況.
仿真中,增加糾錯(cuò)碼后報(bào)文長(zhǎng)度變化增加的發(fā)送時(shí)延已通過(guò)設(shè)定報(bào)文大小而包含在仿真結(jié)果中,由于編譯碼時(shí)間可以忽略,仿真的端到端時(shí)延就是采用應(yīng)用層糾錯(cuò)和UDP 傳輸方案的總時(shí)延.
仿真方法及參數(shù)設(shè)置與前文類(lèi)似,不同之處僅僅是UDP 傳輸時(shí)因增加了應(yīng)用層糾錯(cuò)機(jī)制而增加了報(bào)文長(zhǎng)度.應(yīng)用層報(bào)文的長(zhǎng)度仍取256 字節(jié),則TCP 報(bào)文的數(shù)據(jù)區(qū)長(zhǎng)度為256 字節(jié),UDP 報(bào)文的數(shù)據(jù)區(qū)由于加入16 個(gè)字節(jié)的糾錯(cuò)碼,其長(zhǎng)度為272字節(jié).
網(wǎng)絡(luò)暢通時(shí),報(bào)文的端到端時(shí)延如圖5 所示.網(wǎng)絡(luò)暢通時(shí),UDP 傳輸方式下報(bào)文端到端時(shí)延和TCP 傳輸方案相當(dāng),報(bào)文時(shí)延在1.3 ms 左右,遠(yuǎn)遠(yuǎn)小于廣域保護(hù)測(cè)量數(shù)據(jù)上傳和控制命令下發(fā)所要求的時(shí)延100 ms.

圖5 網(wǎng)絡(luò)暢通時(shí)TCP 和UDP 傳輸下報(bào)文的端到端最大時(shí)延Fig.5 Maximum end-to-end delays in TCP and UDP transmission modes when network is uncongested
為了觀察不同擁塞程度下的通信時(shí)延,對(duì)帶寬為155 Mbps 的鏈路,分別仿真擁塞流量為156 Mbps、168 Mbps、180 Mbps 以及192 Mbps 時(shí)TCP 傳輸方式和UDP 傳輸方式的端到端時(shí)延,結(jié)果如圖6所示.可見(jiàn),TCP 傳輸方式下的端到端時(shí)延隨著擁塞程度加重越來(lái)越大,延時(shí)在1~40 s 之間,不滿足廣域保護(hù)控制系統(tǒng)的實(shí)時(shí)性要求;而UDP 傳輸方式下報(bào)文的端到端時(shí)延跟網(wǎng)絡(luò)擁塞程度幾乎無(wú)關(guān),其時(shí)延穩(wěn)定在80 ms 左右,遠(yuǎn)小于TCP 傳輸方式,仍滿足廣域保護(hù)系統(tǒng)中對(duì)測(cè)量數(shù)據(jù)報(bào)文傳輸時(shí)延的要求.

圖6 4 種擁塞流量時(shí)TCP 和UDP 報(bào)文的端到端最大時(shí)延Fig.6 Maximum end-to-end delay of TCP and UDP packets in four types of congestion traffic
UDP 傳輸方式中加入了糾錯(cuò)碼,能夠確保報(bào)文在傳輸過(guò)程中具有高可靠性,避免了出錯(cuò)重傳引起的時(shí)延抖動(dòng).
UDP 傳輸方式下在應(yīng)用層報(bào)文中加入糾錯(cuò)碼,只能保障報(bào)文在傳輸過(guò)程中出現(xiàn)隨機(jī)錯(cuò)誤情況下的可靠傳輸,且其可靠性與糾錯(cuò)碼的糾錯(cuò)能力相關(guān),而當(dāng)錯(cuò)誤位較多或突發(fā)性誤碼率高而超出糾錯(cuò)碼能力、或整個(gè)報(bào)文丟失時(shí),報(bào)文的可靠性則無(wú)法保證.為此本文提出:1)對(duì)于報(bào)文到達(dá)了接收端的情形,為了進(jìn)一步提高報(bào)文的可靠性,在應(yīng)用層報(bào)文中增加檢錯(cuò)機(jī)制;2)為防止報(bào)文在傳輸過(guò)程中丟失,增加報(bào)文的重發(fā)機(jī)制.
在應(yīng)用層增加檢錯(cuò)機(jī)制的目的,是判斷接收端經(jīng)過(guò)糾錯(cuò)算法譯碼后的信息是否為正確的數(shù)據(jù).因此,本文將檢錯(cuò)范圍設(shè)計(jì)為包括信息元和糾錯(cuò)碼兩者.
設(shè)檢錯(cuò)編碼算法為f,則在發(fā)送端和接收端的檢錯(cuò)碼編碼和譯碼策略分別如式(9)和式(10).

式中,Cs為發(fā)送端檢錯(cuò)碼,Ck為發(fā)送端信息元,C r為發(fā)送端糾錯(cuò)碼.

式中,CR為接收端檢錯(cuò)碼,為譯碼后的信息元,為譯碼后的糾錯(cuò)碼.
如果Cs與CR相同,則認(rèn)為糾錯(cuò)碼糾正了錯(cuò)誤,否則認(rèn)為糾錯(cuò)失敗.
本文建議采用與TCP 校驗(yàn)和相同的算法進(jìn)行檢錯(cuò).則檢錯(cuò)碼的長(zhǎng)度為2 字節(jié),幾乎不增加發(fā)送時(shí)延.同時(shí),由于TCP 校驗(yàn)和計(jì)算簡(jiǎn)單,處理時(shí)延也可以忽略不計(jì).實(shí)際中,在應(yīng)用層糾錯(cuò)方案中,由于UDP 校驗(yàn)和需要禁用,減少了UDP 計(jì)算校驗(yàn)和的時(shí)間,從而在應(yīng)用層增加這種檢錯(cuò)機(jī)制并不會(huì)增加時(shí)延.
這樣,在報(bào)文到達(dá)接收端的情況下,其可靠性遠(yuǎn)大于TCP 傳輸方案.但是仍不能解決報(bào)文丟失情況下的可靠性問(wèn)題,因此,本文引入下一節(jié)討論通過(guò)重發(fā)機(jī)制來(lái)解決這一問(wèn)題.
為了避免報(bào)文丟失,可以在廣域保護(hù)系統(tǒng)中采用將同一報(bào)文連續(xù)重復(fù)發(fā)送多次的策略.
電力通信網(wǎng)絡(luò)為專(zhuān)用網(wǎng)絡(luò),相對(duì)互聯(lián)網(wǎng)來(lái)說(shuō),其通信量遠(yuǎn)遠(yuǎn)小于信道的容量,且具有可預(yù)見(jiàn)性,因此,重復(fù)發(fā)送報(bào)文雖然增加了通信量,但是可以根據(jù)信道容量控制重發(fā)次數(shù)來(lái)避免引起網(wǎng)絡(luò)擁塞,還可以在網(wǎng)絡(luò)規(guī)劃時(shí)就考慮到重發(fā)報(bào)文增加的帶寬需求.
廣域保護(hù)與控制系統(tǒng)的動(dòng)作時(shí)延組成如式(11)所示.

式中,TG為廣域保護(hù)與控制系統(tǒng)總時(shí)延,T s為設(shè)備發(fā)送時(shí)延,T e為發(fā)送間隔時(shí)延,Tce為測(cè)量數(shù)據(jù)上傳通信時(shí)延,Tcr為控制命令下發(fā)通信時(shí)延,T j為控制命令決策時(shí)延.其中通信時(shí)延與網(wǎng)絡(luò)傳輸協(xié)議、網(wǎng)絡(luò)狀態(tài)和網(wǎng)絡(luò)結(jié)構(gòu)有關(guān).
在UDP 傳輸方式下,將報(bào)文連續(xù)發(fā)送N次,不需要等待接收端的確認(rèn),報(bào)文之間的時(shí)間間隔只受發(fā)送端處理能力和發(fā)送能力的限制.最壞情況下(前N ?1 個(gè)報(bào)文都丟失、只有最后一個(gè)報(bào)文到達(dá)),報(bào)文的端到端時(shí)延為第一個(gè)報(bào)文生成到最后一個(gè)報(bào)文在接收端譯碼完成的總時(shí)延,如圖7 所示,即

圖7 報(bào)文連續(xù)發(fā)送N 次的總時(shí)延構(gòu)成Fig.7 Composition of the total delay when the message is transmitted N copies

式中,TUDP為UDP 傳輸時(shí)應(yīng)用層報(bào)文總時(shí)延,T a為單個(gè)報(bào)文的端到端時(shí)延(含編譯碼處理時(shí)延、發(fā)送時(shí)延和鏈路傳播時(shí)延),T b為幀間間隔,T c為單個(gè)報(bào)文的發(fā)送時(shí)延,N為報(bào)文的發(fā)送次數(shù).
TCP 協(xié)議為了保障報(bào)文的可靠性,具有超時(shí)重傳的機(jī)制.假設(shè)TCP 報(bào)文重傳N ?1 次,相當(dāng)于報(bào)文發(fā)送了N次.TCP 報(bào)文的時(shí)延由超時(shí)重傳時(shí)間和報(bào)文的傳輸時(shí)延構(gòu)成,即

式中,TTCP為T(mén)CP 傳輸時(shí)應(yīng)用層報(bào)文的總時(shí)延,T d為單個(gè)報(bào)文的端到端時(shí)延(含發(fā)送時(shí)延和鏈路傳播時(shí)延),TRTO為超時(shí)重傳時(shí)間,T c為單個(gè)報(bào)文的發(fā)送時(shí)延.
TCP 報(bào)文為了實(shí)現(xiàn)超時(shí)重傳,在每發(fā)送完一個(gè)分組設(shè)置一個(gè)超時(shí)計(jì)時(shí)器,超時(shí)計(jì)時(shí)器的數(shù)值就是超時(shí)重傳時(shí)間.TCP 超時(shí)重傳時(shí)間為加權(quán)平均往返時(shí)間,是一個(gè)動(dòng)態(tài)值,通常會(huì)比數(shù)據(jù)在網(wǎng)絡(luò)中傳輸?shù)钠骄禃r(shí)間略長(zhǎng)一些,即通常TRTO>2T d,為了簡(jiǎn)化計(jì)算,取TRTO3T d.由于報(bào)文端到端時(shí)延T d的值會(huì)因網(wǎng)絡(luò)狀態(tài)和傳輸路徑的不同而改變,是一個(gè)不確定值,因此,TCP 超時(shí)重傳時(shí)間TRTO也是不確定的.
下面以如圖2 所示的通信網(wǎng)絡(luò)為例,對(duì)報(bào)文丟失情況下TCP 重傳和UDP 重發(fā)機(jī)制對(duì)時(shí)延的影響進(jìn)行分析.
1)TCP 傳輸方式下,在網(wǎng)絡(luò)暢通時(shí),根據(jù)前文的仿真結(jié)果,可知式(13)中的Td1.3 ms .應(yīng)用層報(bào)文為256 字節(jié),則TCP 傳輸時(shí)物理層的數(shù)據(jù)總長(zhǎng)度為(256+20+20+26)=322 bytes,其中,20 字節(jié)是TCP 報(bào)文固定首部長(zhǎng)度,20 字節(jié)是IP分組固定首部長(zhǎng)度(為了簡(jiǎn)化問(wèn)題,TCP 和IP 均忽略了選項(xiàng)字段),26 是以太網(wǎng)幀前導(dǎo)、首部和尾部的總長(zhǎng)度.選擇100 Mbps 以太網(wǎng),根據(jù)式(7),單個(gè)報(bào)文的發(fā)送時(shí)延為T(mén) c322×8 bits/100 Mbps25.76 μs.TCP 報(bào)文的超時(shí)重傳時(shí)間TRTO3.9 ms.網(wǎng)絡(luò)暢通時(shí),TCP 報(bào)文的時(shí)延為T(mén)TCPT d+(N?1)TRTO+(N?1)T c,當(dāng)N3時(shí),TTCP9.152 ms,根據(jù)式(11),TceT crTTCP,PMU 發(fā)送間隔T e20 ms,T GT s+T e+T ce+T cr+T j(T s+38.304+T j)ms,總時(shí)延大于38.304 ms,滿足大部分廣域保護(hù)控制系統(tǒng)報(bào)文的通信時(shí)延需求.
網(wǎng)絡(luò)擁塞時(shí),T d在1~30 s 之間.遠(yuǎn)遠(yuǎn)超過(guò)大部分廣域保護(hù)控制系統(tǒng)報(bào)文的最大時(shí)延需求.
2)UDP 傳輸方式下,在網(wǎng)絡(luò)暢通時(shí),根據(jù)前文的仿真結(jié)果,可知式(12)中的Ta1.3 ms. 應(yīng)用層報(bào)文為256 字節(jié),則UDP 傳輸時(shí)物理層的總長(zhǎng)度為(256+16+2+8+20+26)=328 bytes,其中16 字節(jié)是增加的糾錯(cuò)碼長(zhǎng)度,2 字節(jié)是增加的檢錯(cuò)碼長(zhǎng)度,8 字節(jié)是UDP 報(bào)文首部長(zhǎng)度,20 字節(jié)是IP 分組固定首部長(zhǎng)度(為了簡(jiǎn)化問(wèn)題,忽略了IP 選項(xiàng)字段),26 是以太網(wǎng)幀前導(dǎo)、首部和尾部的總長(zhǎng)度.選擇100 Mbp s 以太網(wǎng),根據(jù)式(7),單個(gè)報(bào)文的發(fā)送時(shí)延為T(mén) c328×8 bits/100 Mbps26.24 μs.兩幀之間最少要有96 bits 的發(fā)送時(shí)間間隔,則幀間間隔為T(mén)b96/1006s0.96 μs. 當(dāng)N=3 時(shí),應(yīng)用層報(bào)文的總時(shí)延為T(mén)UDP=1.3544 ms,遠(yuǎn)遠(yuǎn)小于廣域保護(hù)系統(tǒng)報(bào)文的時(shí)延需求.
網(wǎng)絡(luò)擁塞時(shí)Ta80 ms,假設(shè)N=3,則TUDP80.0544 ms,與單個(gè)報(bào)文的端到端時(shí)延幾乎一樣.
綜上,由于TCP 重傳時(shí)間遠(yuǎn)大于UDP 傳輸方式下的報(bào)文重發(fā)間隔,且TCP 重傳時(shí)間隨著網(wǎng)絡(luò)擁塞情況的惡化而急劇增大,使得丟包率相同的情況下,UDP 重發(fā)機(jī)制的實(shí)時(shí)性遠(yuǎn)高于TCP 重傳機(jī)制.
上文提出的糾錯(cuò)、檢錯(cuò)與重發(fā)機(jī)制,在電力廣域保護(hù)系統(tǒng)通信中聯(lián)合應(yīng)用的具體方法如算法1 和算法2.
算法1.發(fā)送端應(yīng)用層報(bào)文生成與封裝算法
輸入.原始應(yīng)用層報(bào)文μ,μ≤1 400 bytes;
輸出.UDP 報(bào)文X;

算法2.接收端報(bào)文解封裝與處理算法
輸入.UDP 報(bào)文X′;
輸出.原始應(yīng)用層報(bào)文μ′′;

算法1 用于發(fā)送端通信程序的編寫(xiě),給出了從原始應(yīng)用層報(bào)文到UDP 報(bào)文發(fā)送過(guò)程中的報(bào)文生成與封裝方法及步驟:首先利用第1.2 節(jié)提出的BCH糾錯(cuò)編碼規(guī)則和分組方法對(duì)其進(jìn)行糾錯(cuò)編碼,并按照第2.1 節(jié)提出的檢錯(cuò)機(jī)制計(jì)算校驗(yàn)和,然后將原始數(shù)據(jù)、糾錯(cuò)碼與校驗(yàn)和一起封裝到UDP 報(bào)文數(shù)據(jù)區(qū),并禁用該UDP 報(bào)文的校驗(yàn)和,最后依照第2.2 節(jié)中的重發(fā)機(jī)制對(duì)該UDP 報(bào)文進(jìn)行連續(xù)3 次重發(fā).需要說(shuō)明的是,為了避免出錯(cuò)報(bào)文在傳輸層被丟棄,算法中增加了禁用UDP 自身差錯(cuò)校驗(yàn)的機(jī)制,即實(shí)現(xiàn)時(shí)應(yīng)將UDP 報(bào)文首部的“校驗(yàn)和”字段置為0.
算法2 用于接收端通信程序的編寫(xiě),給出了從UDP 報(bào)文接收到將原始應(yīng)用層報(bào)文提交給應(yīng)用程序的報(bào)文解封與處理方法及步驟:首先對(duì)接收到的UDP 報(bào)文解封裝得到未處理的應(yīng)用層報(bào)文,然后按照第1.2 節(jié)提出的BCH 糾錯(cuò)譯碼規(guī)則和分組方法對(duì)其進(jìn)行糾錯(cuò)譯碼,得到原始應(yīng)用層報(bào)文,再按照第2.1 節(jié)給出的檢錯(cuò)算法進(jìn)行檢錯(cuò),檢錯(cuò)通過(guò)則將原始應(yīng)用層報(bào)文提交給應(yīng)用程序,并且不再處理重復(fù)報(bào)文,否則丟棄該報(bào)文.
在相互通信的兩端,必須同時(shí)實(shí)現(xiàn)算法1 和算法2.
由于TCP 和UDP 報(bào)文在同樣的信道中傳輸,因此假定兩種報(bào)文在信道中傳輸發(fā)生錯(cuò)誤的概率為P.報(bào)文錯(cuò)誤類(lèi)型可以分為隨機(jī)的誤碼錯(cuò)誤和報(bào)文丟失錯(cuò)誤,假設(shè)報(bào)文在傳輸時(shí)誤碼率為PSER,丟包率為PPLR.
TCP 通過(guò)校驗(yàn)和的檢錯(cuò)機(jī)制對(duì)誤碼錯(cuò)誤進(jìn)行校驗(yàn),通過(guò)超時(shí)重傳來(lái)提供出錯(cuò)和丟失報(bào)文的可靠性.假設(shè)校驗(yàn)和不能檢錯(cuò)的概率為P1,則TCP 報(bào)文重發(fā)N?1 次的可靠性PTCP為

UDP 傳輸方式下,應(yīng)用層報(bào)文同時(shí)具有檢錯(cuò)和糾錯(cuò)能力,實(shí)現(xiàn)對(duì)誤碼錯(cuò)誤的糾正或校驗(yàn),同時(shí)通過(guò)連續(xù)多次重發(fā)來(lái)為超出糾錯(cuò)能力的錯(cuò)誤報(bào)文和丟失的報(bào)文提供可靠性.假設(shè)校驗(yàn)和不能校驗(yàn)錯(cuò)誤的概率為P2,糾錯(cuò)碼不能糾正錯(cuò)誤的概率為P3,如果UDP 快速發(fā)N次,則使用快速多發(fā)機(jī)制的UDP協(xié)議報(bào)文的可靠性PUDP為

由于P1P2,P3遠(yuǎn)小于1,因此PUDP>PTCP.
綜上所述,UDP 報(bào)文中加入檢錯(cuò)和糾錯(cuò)機(jī)制并采用快速重發(fā)多次的機(jī)制時(shí),其可靠性遠(yuǎn)大于TCP 報(bào)文的可靠性.
文獻(xiàn)[16?17]提出了基于UDP 協(xié)議的通信可靠性方案,本文方案與這兩個(gè)UDP 傳輸方案的對(duì)比如表2 所示.可見(jiàn),與已有方案相比,本文提出的方案在確保電力廣域保護(hù)系統(tǒng)通信業(yè)務(wù)實(shí)時(shí)性的同時(shí)具有更高的可靠性.

表2 本文方案與其他方案的對(duì)比Table 2 Comparison of the proposed scheme with others
目前沒(méi)有發(fā)現(xiàn)傳輸層使用UDP 并將糾錯(cuò)機(jī)制加入應(yīng)用層的相關(guān)研究,也未發(fā)現(xiàn)聯(lián)合使用糾錯(cuò)、檢錯(cuò)和重發(fā)機(jī)制的方案.
當(dāng)電力廣域保護(hù)系統(tǒng)的通信網(wǎng)絡(luò)擁塞時(shí),報(bào)文采用TCP 傳輸協(xié)議的時(shí)延會(huì)急劇增加,而已有UDP 傳輸方案不能保證報(bào)文的可靠性,因此,本文提出了一種新的廣域保護(hù)系統(tǒng)通信實(shí)時(shí)性與可靠性保障方案,該方案在傳輸層采用UDP 協(xié)議來(lái)保障報(bào)文的實(shí)時(shí)性,通過(guò)聯(lián)合采用應(yīng)用層糾錯(cuò)與檢錯(cuò)機(jī)制、和報(bào)文快速重發(fā)機(jī)制來(lái)保證報(bào)文的可靠性.針對(duì)電力廣域保護(hù)通信業(yè)務(wù)特點(diǎn),本文選擇本原BCH碼作為糾錯(cuò)編譯碼算法,并設(shè)計(jì)了分組方法;給出了檢錯(cuò)和重發(fā)的建議方案;設(shè)計(jì)了UDP 傳輸下的檢錯(cuò)、糾錯(cuò)與重發(fā)機(jī)制的聯(lián)合應(yīng)用算法.理論分析和仿真結(jié)果表明,本文方案在網(wǎng)絡(luò)擁塞時(shí)仍能保障絕大多數(shù)電力廣域保護(hù)業(yè)務(wù)的實(shí)時(shí)性,且可靠性高于TCP 傳輸方案及其他UDP 傳輸方案.在實(shí)際應(yīng)用中,可以進(jìn)一步聯(lián)合傳統(tǒng)實(shí)時(shí)性與可靠性保障方法,優(yōu)化網(wǎng)絡(luò)和業(yè)務(wù)系統(tǒng)結(jié)構(gòu),最終實(shí)現(xiàn)對(duì)所有業(yè)務(wù)的實(shí)時(shí)性和可靠性保障.
本文設(shè)計(jì)的糾錯(cuò)譯碼算法只是一種實(shí)現(xiàn)方法,在應(yīng)用中,也可以按照實(shí)際信道的誤碼率、算法的復(fù)雜性和通信設(shè)備的計(jì)算能力權(quán)衡考慮來(lái)設(shè)計(jì)適用的糾錯(cuò)算法.本文工作也可為其他工業(yè)控制系統(tǒng)參考.
附錄A 實(shí)驗(yàn)偽代碼


附錄B 加入1 位錯(cuò)誤時(shí)的實(shí)驗(yàn)結(jié)果
數(shù)據(jù)區(qū)的長(zhǎng)度為k=200 byte
輸入信息序列為y=DA 9F 9B 6B 78 D4 87 D2 15 D0 05 6B 6A 90 F2 B8 AC 0C FA 78 93 8E 29 EC 74
填充零后的輸入信息序列為M=DA 9F 9B 6B 78 D4 87 D2 15 D0 05 6B 6A 90 F2 B8 AC 0C FA 78 93 8E 29 EC 74 00 00 00 00 00 00
編碼后的信息序列C=8F 41 5D AF 1E 20 47 97 FE E8 A4 C8 D6 75 F2 0C 19 1E A2 96 84 54 99 D2 47 00 00 00 00 00 00 B5
錯(cuò)誤圖樣序列E=00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
譯碼序列為C'=8F 41 5D AF 1E 20 47 97 FE E8 A4 C8 D6 75 F2 0C 19 1E A2 96 84 54 99 D2 47 00 00 00 00 00 00 B5
填充零后信息恢復(fù)序列M'=DA 9F 9B 6B 78 D4 87 D2 15 D0 05 6B 6A 90 F2 B8 AC 0C FA 78 93 8E 29 EC 74 00 00 00 00 00 00
信息恢復(fù)序列y'=DA 9F 9B 6B 78 D4 87 D2 15 D0 05 6B 6A 90 F2 B8 AC 0C FA 78 93 8E 29 EC 74
附錄C 加入2 位錯(cuò)誤時(shí)的實(shí)驗(yàn)結(jié)果
數(shù)據(jù)區(qū)的長(zhǎng)度為k=200 byte
輸入信息序列為y=38 6A 39 89 6B 4F 69 7A 6D 49 21 99 43 83 09 23 7A 3E 10 66 A9 FF 8F 2C C1
填充零后的輸入信息序列為M=38 6A 39 89 6B 4F 69 7A 6D 49 21 99 43 83 09 23 7A 3E 10 66 A9 FF 8F 2C C1 00 00 00 00 00 00
編碼后的信息序列C=38 6A 39 89 6B 4F 69 7A 6D 49 21 99 43 83 09 23 7A 3E 10 66 A9 FF 8F 2C C1 00 00 00 00 00 00 FF
錯(cuò)誤圖樣序列E=00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 00 04 00 00 00 00 10 00 00 00 00 00 00 00 00
譯碼序列為C'=38 4A 39 89 6B 4F 69 7A 6D 49 21 99 43 83 09 23 7A 3E 10 E6 AB FF 8F 2C C1 00 00 00 00 00 00 BF
填充零后信息恢復(fù)序列M'=38 4A 39 89 6B 4F 69 7A 6D 49 21 99 43 83 09 23 7A 3E 10 E6 AB FF 8F 2C C1 00 00 00 00 00 00
信息恢復(fù)序列y'=38 4A 39 89 6B 4F 69 7A 6D 49 21 99 43 83 09 23 7A 3E 10 E6 AB FF 8F 2C C1