本發(fā)明涉及密集型光波復(fù)用(DWDM,Dense Wavelength Division Multiplexing)高速光傳輸系統(tǒng),尤其涉及一種幀頭檢測的方法及裝置。
背景技術(shù):
通信系統(tǒng)中,由于收發(fā)器件的時(shí)延、信道的色散、信號(hào)處理等,導(dǎo)致接收數(shù)據(jù)與發(fā)送數(shù)據(jù)不同步。為了實(shí)現(xiàn)數(shù)據(jù)同步,在發(fā)送端,數(shù)據(jù)要以幀為單位發(fā)送,幀結(jié)構(gòu)包括幀頭、導(dǎo)頻序列、數(shù)據(jù);在接收端,要進(jìn)行幀頭檢測、定幀、刪除幀頭和導(dǎo)頻序列。
對于應(yīng)用在骨干網(wǎng)承載大容量數(shù)據(jù)傳輸?shù)腄WDM高速光傳輸系統(tǒng),例如100G PM-QPSK(偏振復(fù)用正交相位調(diào)制)系統(tǒng),相干接收機(jī)設(shè)計(jì)當(dāng)然也同樣存在幀定位的要求。除了信道、器件的影響外,數(shù)字信號(hào)處理(DSP,Digital Signal Processing)內(nèi)的數(shù)據(jù)緩存、插刪值等也影響幀頭的位置,另外,偏振態(tài)之間存在skew(時(shí)鐘偏移),各個(gè)偏振態(tài)的幀頭位置并不相同。因此,幀定位需要嚴(yán)格的設(shè)計(jì)要求和很好的穩(wěn)定性,只要定幀成功,數(shù)據(jù)就直接傳送。所以,幀定位是接收機(jī)中不可缺少的一個(gè)關(guān)鍵模塊,直接決定著系統(tǒng)是否正常。
一種應(yīng)用的100G PM-QPSK光傳輸系統(tǒng)結(jié)構(gòu)如圖1所示,光發(fā)送端激光器發(fā)射光經(jīng)過PBS分束器分為兩束偏振光,這兩束偏振光分別經(jīng)過與電信號(hào)的正交調(diào)制,得到兩組正交信號(hào)經(jīng)過PBC合束器,得到偏振復(fù)用的光信號(hào),經(jīng)過信道到達(dá)光接收端;相干接收機(jī)接收到光信號(hào)后,經(jīng)過PBS光分束器將兩路偏振光信號(hào)分開,并分別與本振激光器發(fā)射的光信號(hào)進(jìn)行解調(diào),經(jīng)光電轉(zhuǎn)換,模/數(shù)轉(zhuǎn)換器(ADC,Analog-to-Digital Converter)采集,得到四路數(shù)字信號(hào),并進(jìn)行數(shù)字信號(hào)處理。信號(hào)進(jìn)入到DSP中,經(jīng)過色散補(bǔ)償;對消除色散后的數(shù)據(jù)進(jìn)行時(shí)鐘恢復(fù)處理;通過自適應(yīng)均衡以便消除殘余的色散和偏振模色散,并將兩個(gè)偏振態(tài)進(jìn)行偏振解復(fù)用;由于本振激光器和發(fā)端激光器存在頻偏, 激光器本身存在線寬等因素,需要對數(shù)據(jù)進(jìn)行頻偏補(bǔ)償和相偏補(bǔ)償;經(jīng)過DSP均衡補(bǔ)償?shù)臄?shù)據(jù)已經(jīng)可以正?;謴?fù)出星座點(diǎn),所以將經(jīng)過均衡補(bǔ)償后的數(shù)據(jù)送入幀定位子系統(tǒng)進(jìn)行幀定位。
對于接收機(jī)中的幀定位方法,一般采用掃描整幀數(shù)據(jù)方法或者掃描部分?jǐn)?shù)據(jù)方法。但是,掃描整幀數(shù)據(jù)方法,需要對整幀的數(shù)據(jù)進(jìn)行預(yù)先存儲(chǔ),數(shù)據(jù)存儲(chǔ)量太大,尤其是對特定用途集成電路(ASIC,Application Specific Integrated Circuit)系統(tǒng),會(huì)占用大量存儲(chǔ)資源;另外,掃描部分?jǐn)?shù)據(jù)方法,也會(huì)增加了更多的邏輯資源。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種幀頭檢測的方法及裝置,通過對滑動(dòng)移位后的接收數(shù)據(jù)與幀頭序列進(jìn)行相關(guān)比較,檢測幀頭,以實(shí)現(xiàn)幀定位,避免了緩存大量數(shù)據(jù)和頻繁的滑動(dòng)搜索,節(jié)省了相關(guān)處理資源。
本發(fā)明實(shí)施例提供一種幀頭檢測的方法,包括:
接收幀數(shù)據(jù)的數(shù)據(jù)流,并按照M位的長度對接收到的數(shù)據(jù)進(jìn)行緩存,得到每組長度為M位的比特序列,其中,在接收第N組比特序列時(shí),丟棄緩存的第N-2組比特序列,所述N大于等于3,所述M小于所述幀數(shù)據(jù)的長度且大于等于幀頭的長度;
在每接收到一組比特序列后,將預(yù)存的幀頭序列與當(dāng)前串行數(shù)據(jù)中處于滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算,其中,所述當(dāng)前串行數(shù)據(jù)是由上一組比特序列與當(dāng)前接收到的比特序列拼接得到的;
根據(jù)所述相關(guān)運(yùn)算的結(jié)果檢測所述幀頭,其中,在檢測到所述幀頭之前,每接收到一幀長度的數(shù)據(jù)流后所述滑動(dòng)窗口滑動(dòng)移位一個(gè)比特位,在檢測到所述幀頭后所述滑動(dòng)窗口停止滑動(dòng)。
其中,所述幀數(shù)據(jù)的長度大于2M。
其中,所述接收幀數(shù)據(jù)的數(shù)據(jù)流包括:從M個(gè)并行處理支路上接收所述幀數(shù)據(jù),并將各個(gè)支路上接收到的數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換,得到所述幀數(shù)據(jù)的數(shù)據(jù)流。
其中,所述接收幀數(shù)據(jù)的數(shù)據(jù)流,并按照M位的長度對接收到的數(shù)據(jù)流 進(jìn)行緩存為:對所述幀數(shù)據(jù)的第一路分支進(jìn)行接收,并按照M位的長度進(jìn)行緩存;
在檢測到所述幀頭后,所述方法還包括:根據(jù)所述幀頭的位置,對所述幀數(shù)據(jù)的數(shù)據(jù)流的第二路分支進(jìn)行定幀處理,所述第一路分支和第二路分支為同一數(shù)據(jù)流的兩個(gè)分支。
其中,所述根據(jù)所述相關(guān)運(yùn)算的結(jié)果檢測所述幀頭,包括:
當(dāng)所述結(jié)果表示所述預(yù)存的幀頭序列中的數(shù)據(jù)與所述滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)的數(shù)據(jù)相同個(gè)數(shù)大于一預(yù)設(shè)門限值A(chǔ),則判斷在當(dāng)前滑動(dòng)窗口內(nèi)檢測到了幀頭;
當(dāng)所述結(jié)果表示所述預(yù)存的幀頭序列中的數(shù)據(jù)與所述滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)的數(shù)據(jù)相同個(gè)數(shù)小于或等于所述預(yù)設(shè)門限值A(chǔ),則判斷在當(dāng)前滑動(dòng)窗口內(nèi)未檢測到幀頭。
其中,所述幀數(shù)據(jù)為100G PM-QPSK光傳輸系統(tǒng)的幀數(shù)據(jù)。
本發(fā)明實(shí)施例提供一種幀頭檢測的裝置,包括:
接收模塊,用于接收幀數(shù)據(jù)的數(shù)據(jù)流,并按照M位的長度對接收到的數(shù)據(jù)進(jìn)行緩存,得到每組長度為M位的比特序列,其中,在接收第N組比特序列時(shí),丟棄緩存的第N-2組比特序列,所述N大于等于3,所述M小于所述幀數(shù)據(jù)的長度且大于等于幀頭的長度;
運(yùn)算模塊,用于在每接收到一組比特序列后,將預(yù)存的幀頭序列與當(dāng)前串行數(shù)據(jù)中處于滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算,其中,所述當(dāng)前串行數(shù)據(jù)是由上一組比特序列與當(dāng)前接收到的比特序列拼接得到的;
檢測模塊,用于根據(jù)所述相關(guān)運(yùn)算的結(jié)果檢測所述幀頭,其中,在檢測到所述幀頭之前,每接收到一幀長度的數(shù)據(jù)流后所述滑動(dòng)窗口滑動(dòng)移位一個(gè)比特位,在檢測到所述幀頭后所述滑動(dòng)窗口停止滑動(dòng)。
其中,所述接收模塊中所述幀數(shù)據(jù)的長度大于2M。
其中,所述接收模塊接收幀數(shù)據(jù)的數(shù)據(jù)流包括:從M個(gè)并行處理支路上接收所述幀數(shù)據(jù),并將各個(gè)支路上接收到的數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換,得到所述幀數(shù)據(jù)的數(shù)據(jù)流。
其中,所述接收模塊接收幀數(shù)據(jù)的數(shù)據(jù)流,并按照M位的長度對接收到 的數(shù)據(jù)流進(jìn)行緩存具體為:對所述幀數(shù)據(jù)的第一路分支進(jìn)行接收,并按照M位的長度進(jìn)行緩存;
在檢測到所述幀頭后,所述裝置還包括:定幀模塊,用于根據(jù)所述幀頭的位置,對所述幀數(shù)據(jù)的數(shù)據(jù)流的第二路分支進(jìn)行定幀處理,所述第一路分支和第二路分支為同一數(shù)據(jù)流的兩個(gè)分支。
其中,所述檢測模塊具體用于
當(dāng)所述結(jié)果表示所述預(yù)存的幀頭序列中的數(shù)據(jù)與所述滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)的數(shù)據(jù)相同個(gè)數(shù)大于一預(yù)設(shè)門限值A(chǔ),則判斷在當(dāng)前滑動(dòng)窗口內(nèi)檢測到了幀頭;以及
當(dāng)所述結(jié)果表示所述預(yù)存的幀頭序列中的數(shù)據(jù)與所述滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)的數(shù)據(jù)相同個(gè)數(shù)小于或等于所述預(yù)設(shè)門限值A(chǔ),則判斷在當(dāng)前滑動(dòng)窗口內(nèi)未檢測到幀頭。
其中,所述接收模塊中的所述幀數(shù)據(jù)為100G PM-QPSK光傳輸系統(tǒng)的幀數(shù)據(jù)。
本發(fā)明的上述技術(shù)方案至少具有如下有益效果:
本發(fā)明實(shí)施例幀頭檢測的方法,對幀數(shù)據(jù)的數(shù)據(jù)流按照一定長度進(jìn)行緩存,得到固定長度比特序列,將上一組比特序列與當(dāng)前比特序列拼接得到當(dāng)前串行數(shù)據(jù),丟棄之前緩存的比特序列,將預(yù)存的幀頭序列與當(dāng)前串行數(shù)據(jù)中處于滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算。通過對滑動(dòng)移位后的接收數(shù)據(jù)與幀頭序列進(jìn)行相關(guān)比較,檢測幀頭,可以實(shí)現(xiàn)幀定位,避免了緩存大量數(shù)據(jù)和頻繁的滑動(dòng)搜索,節(jié)省了相關(guān)處理資源。
附圖說明
圖1表示現(xiàn)有技術(shù)的100G PM-QPSK光傳輸系統(tǒng)結(jié)構(gòu)圖;
圖2表示本發(fā)明實(shí)施例幀頭檢測的方法的流程示意圖;
圖3表示本發(fā)明實(shí)施例幀頭檢測的方法中幀頭檢測位置滑動(dòng)相關(guān)示意圖;
圖4表示本發(fā)明實(shí)施例幀頭檢測的方法中幀數(shù)據(jù)的數(shù)據(jù)流分支示意圖;
圖5表示本發(fā)明實(shí)施例幀頭檢測的方法整體流程示意圖;
圖6表示本發(fā)明實(shí)施例幀頭檢測的裝置示意圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述。
本發(fā)明實(shí)施例提供一種幀頭檢測的方法,如圖2所示,包括:
步驟S100、接收幀數(shù)據(jù)的數(shù)據(jù)流,并按照M位的長度對接收到的數(shù)據(jù)進(jìn)行緩存,得到每組長度為M位的比特序列,其中,在接收第N組比特序列時(shí),丟棄緩存的第N-2組比特序列,所述N大于等于3,所述M小于所述幀數(shù)據(jù)的長度且大于等于幀頭的長度;
步驟S200、在每接收到一組比特序列后,將預(yù)存的幀頭序列與當(dāng)前串行數(shù)據(jù)中處于滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算,其中,所述當(dāng)前串行數(shù)據(jù)是由上一組比特序列與當(dāng)前接收到的比特序列拼接得到的;
步驟S300、根據(jù)所述相關(guān)運(yùn)算的結(jié)果檢測所述幀頭,其中,在檢測到所述幀頭之前,每接收到一幀長度的數(shù)據(jù)流后所述滑動(dòng)窗口滑動(dòng)移位一個(gè)比特位,在檢測到所述幀頭后所述滑動(dòng)窗口停止滑動(dòng)。
本發(fā)明實(shí)施例幀頭檢測的方法,可以通過對滑動(dòng)移位后的數(shù)據(jù)與幀頭序列進(jìn)行相關(guān)運(yùn)算,檢測幀頭,可以實(shí)現(xiàn)系統(tǒng)幀定位,避免了緩存大量數(shù)據(jù)和頻繁的滑動(dòng)搜索,節(jié)省了相關(guān)處理資源。
下面將以具體示例對以上方法作更為具體的描述。
例如,假設(shè)幀頭的長度為64位或32位,本示例中可以將接收到的幀數(shù)據(jù)的數(shù)據(jù)流按照64位的長度進(jìn)行緩存,得到每組長度為64位的比特序列。其中,在接收過程中,在接收第3組比特序列時(shí),可以丟棄緩存的第1組比特序列,在接收第4組比特序列時(shí),可以丟棄緩存的第2組比特序列,比特序列長度小于幀數(shù)據(jù)的長度。下面對這兩種情況進(jìn)行分析。
當(dāng)幀頭的長度為64位時(shí):
如圖3所示,在接收到一組64位的比特序列后,將上一組64位的比特序列與當(dāng)前接收到的64位的比特序列進(jìn)行拼接得到128位的當(dāng)前串行數(shù)據(jù)。將128位當(dāng)前串行數(shù)據(jù)中處于滑動(dòng)窗口內(nèi)的64位數(shù)據(jù)與預(yù)存的幀頭序列的64位數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算,進(jìn)行幀頭的檢測。需要說明的是,滑動(dòng)窗口內(nèi)的數(shù)據(jù)長度等于幀頭的長度。在檢測到幀頭之前,每接收到一幀長度的數(shù)據(jù)流后滑動(dòng)窗口 在當(dāng)前串行數(shù)據(jù)中的位置將滑動(dòng)移位一個(gè)比特位。例如,假設(shè)當(dāng)前滑動(dòng)窗口初始定位在當(dāng)前串行數(shù)據(jù)的1-64位,將預(yù)存幀頭序列與滑動(dòng)窗口內(nèi)的數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算,若相關(guān)運(yùn)算的結(jié)果表明未檢測到幀頭,則在下一個(gè)串行數(shù)據(jù)到來時(shí)繼續(xù)針對下一個(gè)串行數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算。其中,若下一個(gè)串行數(shù)據(jù)到來時(shí)已接收到的數(shù)據(jù)長度達(dá)到一個(gè)幀的長度,則將滑動(dòng)窗口移動(dòng)一個(gè)比特位,即將滑動(dòng)窗口定位在當(dāng)前串行數(shù)據(jù)的2-65位并進(jìn)行相關(guān)運(yùn)算,以此類推。若相關(guān)運(yùn)算的結(jié)果表明在當(dāng)前滑動(dòng)窗口內(nèi)檢測到幀頭,則停止窗口的滑動(dòng)。通過分析可以看出,在檢測到幀頭前,最多可能接收到64個(gè)幀長度的數(shù)據(jù)。也就是說,本發(fā)明實(shí)施例可以在M幀內(nèi)檢測到幀頭。
當(dāng)幀頭的長度為32位時(shí):
在接收到一組64位的比特序列后,將上一組64位的比特序列與當(dāng)前接收到的64位的比特序列進(jìn)行拼接得到128位的當(dāng)前串行數(shù)據(jù)。將128位當(dāng)前串行數(shù)據(jù)中處于滑動(dòng)窗口內(nèi)的32位數(shù)據(jù)與預(yù)存的幀頭序列的32位數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算,進(jìn)行幀頭的檢測。在檢測到幀頭之前,每接收到一幀長度的數(shù)據(jù)流后滑動(dòng)窗口在當(dāng)前串行數(shù)據(jù)中的位置將滑動(dòng)移位一個(gè)比特位。例如,假定當(dāng)前滑動(dòng)窗口初始定位在當(dāng)前串行數(shù)據(jù)的1-32位,將預(yù)存幀頭序列與滑動(dòng)窗口內(nèi)的數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算,若相關(guān)運(yùn)算的結(jié)果表明未檢測到幀頭,則在下一個(gè)串行數(shù)據(jù)到來時(shí)繼續(xù)針對下一個(gè)串行數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算。其中,若下一個(gè)串行數(shù)據(jù)到來時(shí)已接收到的數(shù)據(jù)長度達(dá)到一個(gè)幀的長度,則將滑動(dòng)窗口移動(dòng)一個(gè)比特位,即將滑動(dòng)窗口定位在當(dāng)前串行數(shù)據(jù)的2-33位并進(jìn)行相關(guān)運(yùn)算,以此類推。若相關(guān)運(yùn)算的結(jié)果表明在當(dāng)前滑動(dòng)窗口內(nèi)檢測到幀頭,則停止窗口的滑動(dòng)。通過分析可以看出,在檢測到幀頭前,最多可能接收到64個(gè)幀長度的數(shù)據(jù)。也就是說,本發(fā)明實(shí)施例可以在M幀內(nèi)檢測到幀頭。
需要說明的是,當(dāng)當(dāng)前組的比特序列為第一組比特序列時(shí),因?yàn)樵诖酥皼]有比特序列,所以無法將當(dāng)前組比特序列與上一組比特序列進(jìn)行拼接,需要將當(dāng)前組比特序列進(jìn)行緩存,與下一組比特序列進(jìn)行拼接。
在本發(fā)明上述實(shí)施例中,步驟S100中所述幀數(shù)據(jù)的長度為M的整數(shù)倍,最好大于2M,具體可以根據(jù)實(shí)際芯片和應(yīng)用場景來進(jìn)行選擇,在M越小時(shí),對緩存資源和相關(guān)運(yùn)算的處理資源的要求較小,但檢測到幀頭所需時(shí)間(或接 收到的數(shù)據(jù)長度)越多;反之,M越大,則對緩存資源和相關(guān)運(yùn)算的處理資源的要求較大,但檢測到幀頭所需時(shí)間(或接收到的數(shù)據(jù)長度)越少。
在本發(fā)明上述實(shí)施例中,在接收幀數(shù)據(jù)的數(shù)據(jù)流時(shí),獲取兩個(gè)偏振態(tài)的軟數(shù)據(jù)流,需要對每個(gè)偏振態(tài)的軟數(shù)據(jù)流進(jìn)行幀頭檢測。由于兩個(gè)偏振態(tài)的數(shù)據(jù)流檢測幀頭的方法、相關(guān)處理都一致,因此本方案中僅針對一個(gè)偏振態(tài)的軟數(shù)據(jù)流進(jìn)行相關(guān)處理及幀頭檢測的介紹。
接收到的數(shù)據(jù)流為偏振態(tài)的軟數(shù)據(jù)流,在對數(shù)據(jù)流進(jìn)行緩存之前,還需要對數(shù)據(jù)流進(jìn)行硬判決,得到二進(jìn)制的比特流,其中每個(gè)數(shù)據(jù)流分別包括I和Q兩路數(shù)據(jù)。對數(shù)據(jù)流進(jìn)行硬判決,包括:
對I路和Q路中的數(shù)據(jù)分別進(jìn)行判定,當(dāng)I路和Q路數(shù)據(jù)中的某位數(shù)據(jù)大于等于0時(shí),則判定bit值為0;當(dāng)I路和Q路數(shù)據(jù)中的某位數(shù)據(jù)小于0時(shí),則判定bit值為1,得到兩路比特流。
對經(jīng)過硬判決后的數(shù)據(jù)流中的I和Q兩路比特流分別進(jìn)行差分解碼,此時(shí)得到的數(shù)據(jù)不存在頻偏和相偏模糊。
在本發(fā)明上述實(shí)施例中,步驟S100接收幀數(shù)據(jù)的數(shù)據(jù)流包括:從M個(gè)并行處理支路上接收所述幀數(shù)據(jù),并將各個(gè)支路上接收到的數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換,得到所述幀數(shù)據(jù)的數(shù)據(jù)流。
具體的,可以利用DSP芯片提供M路并行數(shù)據(jù)處理支路,然后,將在各個(gè)支路上接收到的數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換,得到串行的數(shù)據(jù)流,然后可以對上述串行的數(shù)據(jù)流進(jìn)行本發(fā)明實(shí)施例的上述處理過程,以進(jìn)行幀頭定位。
在本發(fā)明上述實(shí)施例中,步驟S100接收幀數(shù)據(jù)的數(shù)據(jù)流,并按照M位的長度對接收到的數(shù)據(jù)流進(jìn)行緩存為:對所述幀數(shù)據(jù)的第一路分支進(jìn)行接收,并按照M位的長度進(jìn)行緩存;
在檢測到所述幀頭后,所述方法還包括:根據(jù)所述幀頭的位置,對所述幀數(shù)據(jù)的數(shù)據(jù)流的第二路分支進(jìn)行定幀處理,所述第一路分支和第二路分支為同一數(shù)據(jù)流的兩個(gè)分支。
具體的,如圖4所示,經(jīng)過DSP芯片均衡補(bǔ)償后的數(shù)據(jù)流分為兩路分支,首先對幀數(shù)據(jù)的數(shù)據(jù)流的第一路分支,進(jìn)行硬判決和差分解碼。然后按照M位的長度進(jìn)行緩存,將接收到的數(shù)據(jù)按照M位的長度來進(jìn)行緩存,然后做拼 接處理和相關(guān)檢測,經(jīng)過滑動(dòng)偏移位置檢測到幀頭。在檢測到幀頭后,對與第一路分支位于相同幀數(shù)據(jù)的數(shù)據(jù)流的第二路分支進(jìn)行定幀。
在本發(fā)明上述實(shí)施例中,步驟S200將預(yù)存的幀頭序列與當(dāng)前串行數(shù)據(jù)中處于滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算,具體為:
將所述預(yù)存的幀頭序列中的數(shù)據(jù)與處于所述滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)一一進(jìn)行比較。
具體的,將滑動(dòng)窗口定位在當(dāng)前串行數(shù)據(jù)的某一區(qū)域,然后將處于滑動(dòng)窗口內(nèi)的數(shù)據(jù)與預(yù)先存儲(chǔ)的幀頭序列中的數(shù)據(jù)進(jìn)行比較,由于處于滑動(dòng)窗口內(nèi)的數(shù)據(jù)與預(yù)先存儲(chǔ)的幀頭序列中的數(shù)據(jù)的位數(shù)相同,將處于滑動(dòng)窗口內(nèi)的數(shù)據(jù)與預(yù)先存儲(chǔ)的幀頭序列中的數(shù)據(jù)一一進(jìn)行比較,進(jìn)行相關(guān)運(yùn)算。
在本發(fā)明上述實(shí)施例中,步驟S300根據(jù)所述相關(guān)運(yùn)算的結(jié)果檢測所述幀頭,包括:
當(dāng)所述結(jié)果表示所述預(yù)存的幀頭序列中的數(shù)據(jù)與所述滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)的數(shù)據(jù)相同個(gè)數(shù)大于一預(yù)設(shè)門限值A(chǔ),則判斷在當(dāng)前滑動(dòng)窗口內(nèi)檢測到了幀頭;
當(dāng)所述結(jié)果表示所述預(yù)存的幀頭序列中的數(shù)據(jù)與所述滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)的數(shù)據(jù)相同個(gè)數(shù)小于或等于所述預(yù)設(shè)門限值A(chǔ),則判斷在當(dāng)前滑動(dòng)窗口內(nèi)未檢測到幀頭。
具體的,將處于滑動(dòng)窗口內(nèi)的數(shù)據(jù)與預(yù)先存儲(chǔ)的幀頭序列中的數(shù)據(jù)一一進(jìn)行比較時(shí),如果兩者中相同的數(shù)據(jù)位數(shù)大于預(yù)先設(shè)置的門限值時(shí),則表明檢測到幀頭。如果兩者中相同的數(shù)據(jù)位數(shù)小于或等于預(yù)先設(shè)置的門限值時(shí),則表明仍未檢測到幀頭,需要繼續(xù)檢測。當(dāng)再次接收一幀長度的數(shù)據(jù)時(shí),滑動(dòng)窗口滑動(dòng)移位一個(gè)比特位,進(jìn)行相關(guān)運(yùn)算。
在本發(fā)明上述實(shí)施例中,所述幀數(shù)據(jù)為100G PM-QPSK光傳輸系統(tǒng)的幀數(shù)據(jù)。
本發(fā)明實(shí)施例的整體流程如圖5所示:
步驟S101、接收幀數(shù)據(jù)的數(shù)據(jù)流。
步驟S102、對數(shù)據(jù)流進(jìn)行硬判決。由于接收到的數(shù)據(jù)流為偏振態(tài)的軟數(shù)據(jù)流,還需要對數(shù)據(jù)流進(jìn)行硬判決,得到二進(jìn)制的比特流。在硬判決時(shí)對每個(gè) 數(shù)據(jù)流包括的I和Q兩路數(shù)據(jù)進(jìn)行判決。
步驟S103、對經(jīng)過硬判決后的數(shù)據(jù)流進(jìn)行差分解碼。經(jīng)過差分解碼后的數(shù)據(jù)不存在頻偏和相偏模糊。
步驟S104、按照M位的長度對幀數(shù)據(jù)進(jìn)行緩存,得到多個(gè)M位的比特序列。
步驟S105、將當(dāng)前比特序列與上一比特序列進(jìn)行數(shù)據(jù)拼接,得到當(dāng)前串行數(shù)據(jù)。
步驟S106、進(jìn)行相關(guān)運(yùn)算。在進(jìn)行相關(guān)運(yùn)算時(shí),將預(yù)存的幀頭序列與當(dāng)前串行數(shù)據(jù)中處于滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算。在檢測到幀頭之前,每接收到一幀長度的數(shù)據(jù)流后滑動(dòng)窗口滑動(dòng)移位一個(gè)比特位,在檢測到幀頭后滑動(dòng)窗口停止滑動(dòng)。
步驟S107、判斷是否檢測到幀頭,若檢測到幀頭,則進(jìn)行下一步驟S108,若未檢測到,則需要回到步驟S106進(jìn)行相關(guān)運(yùn)算。
步驟S108、記錄幀頭的位置。
步驟S109、數(shù)據(jù)定幀。
步驟S110、退出幀定位。流程結(jié)束。
本發(fā)明實(shí)施例提供一種幀頭檢測的裝置,如圖6所示,包括:
接收模塊10,用于接收幀數(shù)據(jù)的數(shù)據(jù)流,并按照M位的長度對接收到的數(shù)據(jù)進(jìn)行緩存,得到每組長度為M位的比特序列,其中,在接收第N組比特序列時(shí),丟棄緩存的第N-2組比特序列,所述N大于等于3,所述M小于所述幀數(shù)據(jù)的長度且大于等于幀頭的長度;
運(yùn)算模塊20,用于在每接收到一組比特序列后,將預(yù)存的幀頭序列與當(dāng)前串行數(shù)據(jù)中處于滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算,其中,所述當(dāng)前串行數(shù)據(jù)是由上一組比特序列與當(dāng)前接收到的比特序列拼接得到的;
檢測模塊30,用于根據(jù)所述相關(guān)運(yùn)算的結(jié)果檢測所述幀頭,其中,在檢測到所述幀頭之前,每接收到一幀長度的數(shù)據(jù)流后所述滑動(dòng)窗口滑動(dòng)移位一個(gè)比特位,在檢測到所述幀頭后所述滑動(dòng)窗口停止滑動(dòng)。
在本發(fā)明上述實(shí)施例中,所述接收模塊10中所述幀數(shù)據(jù)的長度大于2M。
在本發(fā)明上述實(shí)施例中,所述接收模塊10接收幀數(shù)據(jù)的數(shù)據(jù)流包括:從 M個(gè)并行處理支路上接收所述幀數(shù)據(jù),并將各個(gè)支路上接收到的數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換,得到所述幀數(shù)據(jù)的數(shù)據(jù)流。
在本發(fā)明上述實(shí)施例中,所述接收模塊10接收幀數(shù)據(jù)的數(shù)據(jù)流,并按照M位的長度對接收到的數(shù)據(jù)流進(jìn)行緩存具體為:對所述幀數(shù)據(jù)的第一路分支進(jìn)行接收,并按照M位的長度進(jìn)行緩存;
在檢測到所述幀頭后,如圖6所示,所述裝置還包括:定幀模塊40,用于根據(jù)所述幀頭的位置,對所述幀數(shù)據(jù)的數(shù)據(jù)流的第二路分支進(jìn)行定幀處理,所述第一路分支和第二路分支為同一數(shù)據(jù)流的兩個(gè)分支。
在本發(fā)明上述實(shí)施例中,所述檢測模塊30具體用于
當(dāng)所述結(jié)果表示所述預(yù)存的幀頭序列中的數(shù)據(jù)與所述滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)的數(shù)據(jù)相同個(gè)數(shù)大于一預(yù)設(shè)門限值A(chǔ),則判斷在當(dāng)前滑動(dòng)窗口內(nèi)檢測到了幀頭;以及
當(dāng)所述結(jié)果表示所述預(yù)存的幀頭序列中的數(shù)據(jù)與所述滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)的數(shù)據(jù)相同個(gè)數(shù)小于或等于所述預(yù)設(shè)門限值A(chǔ),則判斷在當(dāng)前滑動(dòng)窗口內(nèi)未檢測到幀頭。
在本發(fā)明上述實(shí)施例中,所述接收模塊10中的所述幀數(shù)據(jù)為100G PM-QPSK光傳輸系統(tǒng)的幀數(shù)據(jù)。
本發(fā)明實(shí)施例幀頭檢測的方法,對幀數(shù)據(jù)的數(shù)據(jù)流按照一定長度進(jìn)行緩存,得到固定長度比特序列,將上一組比特序列與當(dāng)前比特序列拼接得到當(dāng)前串行數(shù)據(jù),丟棄之前緩存的比特序列,將預(yù)存的幀頭序列與當(dāng)前串行數(shù)據(jù)中處于滑動(dòng)窗口內(nèi)的對應(yīng)數(shù)據(jù)進(jìn)行相關(guān)運(yùn)算。通過對滑動(dòng)移位后的接收數(shù)據(jù)與幀頭序列進(jìn)行相關(guān)比較,檢測幀頭,可以實(shí)現(xiàn)幀定位,避免了緩存大量數(shù)據(jù)和頻繁的滑動(dòng)搜索,節(jié)省了相關(guān)處理資源。
需要說明的是,本發(fā)明提供的幀頭檢測的裝置是應(yīng)用上述方法的裝置,則上述方法的所有實(shí)施例均適用于該裝置,且均能達(dá)到相同或相似的有益效果。
以上所述的是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出對于本技術(shù)領(lǐng)域的普通人員來說,在不脫離本發(fā)明所述的原理前提下還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也在本發(fā)明的保護(hù)范圍內(nèi)。