本發(fā)明屬于數(shù)字通信技術(shù)領(lǐng)域,涉及一種dbpsk解調(diào)方法,具體涉及一種基于多個神經(jīng)網(wǎng)絡(luò)的dbpsk解調(diào)方法,可用于衛(wèi)星通信、深空通信。
技術(shù)背景
為了使數(shù)字信號在帶通信道中傳輸,必須用數(shù)字基帶信號對載波進行調(diào)制,以使信號與信道的特性相匹配。這種用數(shù)字基帶信號控制載波,把數(shù)字基帶信號變換為數(shù)字帶通信號的過程稱為數(shù)字調(diào)制,在接收端通過解調(diào)器把帶通信號還原成數(shù)字基帶信號的過程稱為數(shù)字解調(diào)。數(shù)字調(diào)制包含psk、ask以及fsk等多種方式,其中bpsk是psk中最為簡單的一種,它利用兩種載波相位0和π分別表示二進制“1”和“0”。因此bpsk已調(diào)信號的時域表達式為:
其中,
bpsk信號的解調(diào)通常采用相干解調(diào)法,即在解調(diào)端產(chǎn)生與接收信號同頻同相的相干載波,使其與接收信號相乘并經(jīng)過低通濾波后,即可得到基帶信號。但是,在bpsk信號載波恢復過程中可能出現(xiàn)相干載波與接收信號完全反相的情況,此時解調(diào)出的數(shù)字基帶信號會與發(fā)送的數(shù)字基帶信號正好相反,判決器輸出的碼元符號全部出錯,為了避免這種現(xiàn)象,實際應用中常常使用差分相移鍵控,即dbpsk。這種調(diào)制方式在調(diào)制時對基帶信號進行差分編碼,然后解調(diào)時再對相鄰碼元進行異或處理,即可得到原數(shù)字基帶數(shù)據(jù)。
dbpsk調(diào)制方法是利用前后相鄰碼元的載波相對相位變化傳遞數(shù)字信息的,所以又稱相對相移鍵控。假設(shè)δq為當前碼元與前一碼元的載波相位差,可定義一種數(shù)字信息與δq之間的關(guān)系為:
由以上原理可知,dbpsk信號的相位并不直接代表基帶信號,而前后碼元相對相位的差才唯一決定信息符號。dbpsk信號的調(diào)制過程為:先對二進制數(shù)字基帶信號進行差分編碼,即把表示數(shù)字信息序列的絕對碼變換成相對碼,然后再根據(jù)相對碼進行絕對調(diào)相,即對相對碼進行普通bpsk調(diào)制,即可產(chǎn)生二進制差分相移鍵控信號。上述差分編碼的規(guī)則為:
式中:
其解調(diào)過程使用以上過程的逆過程,稱為差分譯碼,即:
解調(diào)時,先對dbpsk信號進行相干解調(diào),恢復出相對碼,再經(jīng)碼反變換器變換為絕對碼,從而恢復出發(fā)送的二進制數(shù)字信息。
onder等人2016年發(fā)表的論文《advancedneuralnetworkreceiverdesigntocombatmultiplechannelimpairments》(turkishjournalofelectricalengineeringandcomputersciences·january2016)中公開了一種使用單個神經(jīng)網(wǎng)絡(luò)進行mpsk信號的解調(diào)方法。此方法將已調(diào)信號的采樣點按照碼元周期分組,將每個碼元周期對應的采樣點作為神經(jīng)網(wǎng)絡(luò)的輸入向量,神經(jīng)網(wǎng)絡(luò)輸出向量代表對應的符號碼元,將輸出的符號碼元按時間順序排列成碼元序列,就得到了解調(diào)輸出。
使用onder等人公開的方法進行dbpsk解調(diào),神經(jīng)網(wǎng)絡(luò)解調(diào)得到的是相對碼,需要進行額外的差分譯碼過程,這樣會造成解調(diào)過程中速度的下降和系統(tǒng)復雜度的上升。并且本方法沒有考慮神經(jīng)網(wǎng)絡(luò)對采樣時刻的敏感性,在初始采樣時刻有偏差時神經(jīng)網(wǎng)絡(luò)無法準確判斷輸入向量對應的碼元,而在實踐中adc對已調(diào)信號采樣的初始時刻是隨機的,因此使用此方法進行解調(diào)會帶來較大誤碼。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)存在的不足,提供了一種基于多神經(jīng)網(wǎng)絡(luò)的dbpsk信號解調(diào)方法,使用多個神經(jīng)網(wǎng)絡(luò)結(jié)合搜索幀頭的方法來判斷初始采樣時刻,以兩個碼元周期對應的采樣點作為神經(jīng)網(wǎng)絡(luò)的輸入向量,然后神經(jīng)網(wǎng)絡(luò)直接輸出解調(diào)結(jié)果,用于解決現(xiàn)有dbpsk信號解調(diào)方法中誤碼率高的技術(shù)問題。
為實現(xiàn)上述的目的,本發(fā)明采取的技術(shù)方案包括如下步驟:
(1)獲取01隨機序列o和加噪信號r:
(1a)仿真軟件隨機產(chǎn)生01隨機序列o;
(1b)對01隨機序列o進行差分編碼,得到差分編碼序列;
(1c)對差分編碼序列進行bpsk調(diào)制,并對調(diào)制結(jié)果進行加性高斯白噪聲信道仿真,得到加噪信號r;
(2)獲取加噪信號r的采樣序列集θ1,θ2,…,θi,…,θm:
(2a)設(shè)加噪信號r初始采樣時刻分別為t1,t2,…,ti,…,tk,其中,ti為第i種初始采樣時刻,且ti=it/k,t為加噪信號r的碼元周期,k為加噪信號r初始采樣時刻的種數(shù),且k≥2;
(2b)利用加噪信號r初始采樣時刻t1,t2,…,ti,…,tk的每種時刻分別對加噪信號r進行采樣,得到加噪信號r的采樣序列集θ1,θ2,…,θi,…,θm,其中,m為采樣序列的個數(shù),且m=k,θi為第i個加噪信號r的采樣序列;
(3)設(shè)定神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):設(shè)定包含輸入層、隱藏層和輸出層的前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其中輸入層節(jié)點個數(shù)與待解調(diào)信號兩個碼元周期內(nèi)的采樣點個數(shù)相等,隱藏層節(jié)點個數(shù)等于輸入層節(jié)點個數(shù)的一半,輸出層節(jié)點個數(shù)為1,且隱藏層和輸出層的激活函數(shù)均采用sigmoid函數(shù);
(4)獲取m組神經(jīng)網(wǎng)絡(luò)訓練集:
(4a)以加噪信號r的采樣序列集θ1,θ2,…,θi,…,θm的各采樣序列中任意兩個相鄰碼元周期對應的采樣點作為神經(jīng)網(wǎng)絡(luò)的不同輸入向量,每個采樣序列中所有輸入向量組成一組輸入向量集,得到m組神經(jīng)網(wǎng)絡(luò)輸入向量集,其中的輸入向量的維度與設(shè)定的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的輸入層節(jié)點個數(shù)相同;
(4b)將01隨機序列o中各碼元作為神經(jīng)網(wǎng)絡(luò)的不同輸出向量,得到神經(jīng)網(wǎng)絡(luò)輸出向量集,其中的輸出向量的維度與設(shè)定的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的輸出層節(jié)點個數(shù)相同;
(4c)將m組神經(jīng)網(wǎng)絡(luò)輸入向量集中的每組向量集分別與輸出向量集合并,得到m組神經(jīng)網(wǎng)絡(luò)訓練集;
(5)訓練神經(jīng)網(wǎng)絡(luò):利用m組神經(jīng)網(wǎng)絡(luò)訓練集對設(shè)定的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進行訓練,得到已訓練的神經(jīng)網(wǎng)絡(luò)集n1,n2,…,ni,…,nn,其中,ni為第i個神經(jīng)網(wǎng)絡(luò),n為神經(jīng)網(wǎng)絡(luò)的數(shù)量,且n=m;
(6)對設(shè)定的待解調(diào)信號進行多神經(jīng)網(wǎng)絡(luò)解調(diào):
(6a)設(shè)定格式為基帶數(shù)據(jù)中每間隔一定數(shù)量的碼元插入一個幀頭c的待解調(diào)信號;
(6b)對設(shè)定的待解調(diào)信號進行ad采樣,獲得待解調(diào)信號采樣序列;
(6c)將待解調(diào)信號采樣序列中任意兩個相鄰碼元周期對應的采樣點作為神經(jīng)網(wǎng)絡(luò)的不同輸入向量,得到待解調(diào)信號輸入向量集;
(6d)將待解調(diào)信號輸入向量集中的輸入向量逐個分別輸入到神經(jīng)網(wǎng)絡(luò)集n1,n2,…,ni,…,nn的每一個神經(jīng)網(wǎng)絡(luò)中,得到n個神經(jīng)網(wǎng)絡(luò)輸出序列;
(6e)在n個神經(jīng)網(wǎng)絡(luò)輸出序列中搜索待解調(diào)信號所設(shè)定的幀頭c,并保留連續(xù)多次搜索到幀頭c的輸出序列對應的神經(jīng)網(wǎng)絡(luò),關(guān)閉其余神經(jīng)網(wǎng)絡(luò),得到保留的神經(jīng)網(wǎng)絡(luò)集n'1,n'2,…,n'q,其中,q為保留的神經(jīng)網(wǎng)絡(luò)集中的神經(jīng)網(wǎng)絡(luò)總數(shù);
(6f)將神經(jīng)網(wǎng)絡(luò)
本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點:
1.本發(fā)明在實現(xiàn)dbpsk解調(diào)的過程中,首先產(chǎn)生多組初始采樣時刻不同的訓練集,然后使用訓練集訓練多個神經(jīng)網(wǎng)絡(luò),并使用這些神經(jīng)網(wǎng)絡(luò)來處理未知初始采樣時刻的待解調(diào)信號采樣點,對于任意初始采樣時刻的待解調(diào)信號序列,都能選取匹配的網(wǎng)絡(luò)進行解調(diào),得到解調(diào)輸出,與現(xiàn)有技術(shù)相比,有效地降低了解調(diào)誤碼率。
2.本發(fā)明在實現(xiàn)dbpsk解調(diào)的過程中,采用的神經(jīng)網(wǎng)絡(luò)可以同時完成bpsk解調(diào)和差分譯碼的功能,與現(xiàn)有技術(shù)相比,簡化了解調(diào)系統(tǒng),且提高了解調(diào)速度。
3.本發(fā)明在實現(xiàn)dbpsk解調(diào)的過程中,使用多個神經(jīng)網(wǎng)絡(luò)來判斷采樣時刻,使解調(diào)系統(tǒng)可以更好的應對多普勒頻移和采樣時鐘誤差,因此具有較強的抗干擾性。
附圖說明
圖1是本發(fā)明的實現(xiàn)流程圖;
圖2是本發(fā)明dbpsk調(diào)制信號波形圖;
圖3是兩種不同采樣時刻的采樣點波形對比圖;
圖4是本發(fā)明神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖。
具體實施方式
下面結(jié)合附圖和具體實施例,對本發(fā)明作進一步說明。
參照圖1,一種基于多神經(jīng)網(wǎng)絡(luò)的dbpsk解調(diào)方法,包括如下步驟:
步驟1,獲取隨機序列o和加噪信號r:
步驟1a,仿真軟件隨機產(chǎn)生01隨機序列o,隨機序列o是包含20000個二進制碼元的隨機序列,o=(o1,o2,…,o20000)。
步驟1b,對其01隨機序列o進行差分編碼,起始碼元b0取1,得到包含20001個二進制碼元的差分編碼序列。假設(shè)01隨機序列起始的12個碼元為“011011000101”,則編碼后的差分編碼序列為“1101101111001”。
步驟1c,對編碼后序列進行bpsk調(diào)制,產(chǎn)生20001個碼元周期的調(diào)制信號,調(diào)制時碼元頻率為1mhz,載波頻率為1mhz,獲得調(diào)制信號的起始部分如圖2所示。并對調(diào)制結(jié)果進行加性高斯白噪聲信道仿真,信噪比為5db,得到加噪信號r。
步驟2,獲取加噪信號r的采樣序列集θ1,θ2,…,θi,…,θ32:
由于在解調(diào)過程中對調(diào)制信號進行采樣時,初始的采樣時刻是隨機的,而不同時刻采樣點對應的信號特征是不同的。所述的初始采樣時刻為,以加噪信號r的碼元周期的初始時刻為零時刻,采樣序列中第一個采樣點的采樣時刻。假設(shè)初始采樣時刻為t,則使用t=t0樣本訓練出的網(wǎng)絡(luò)無法對t=t1(t1≠t0)的數(shù)據(jù)進行精確解調(diào)。如圖3(a)和圖3(b)所示,假設(shè)碼元周期為t,t=0和t=17t/32的采樣點在特征上有較大區(qū)別。
為了解決這個問題,本發(fā)明采用多個神經(jīng)網(wǎng)絡(luò)進行解調(diào)。在步驟1產(chǎn)生加噪信號的基礎(chǔ)上,本實施例假設(shè)加噪信號r初始采樣時刻t分別為0,t/32,2t/32,…,it/32,…,31t/32,利用這些初始采樣時刻分別對加噪信號r進行采樣,采樣頻率fs為16mhz,得到加噪信號r的采樣序列集θ1,θ2,…,θi,…,θ32,其中,θi為第i組加噪信號采樣序列,其初始采樣時刻為it/32。
步驟3,設(shè)定神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):本發(fā)明設(shè)定的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如如圖4所示,設(shè)定包含輸入層、隱藏層和輸出層的前饋神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其中輸入層節(jié)點個數(shù)與待解調(diào)信號兩個碼元周期內(nèi)的采樣點個數(shù)相等,隱藏層節(jié)點個數(shù)等于輸入層節(jié)點個數(shù)的一半,輸出層節(jié)點個數(shù)為1。本實施例中待解調(diào)信號碼元頻率f為1mhz,載波頻率fc為1mhz,采樣頻率fs為16mhz,故所述待解調(diào)信號一個碼元周期內(nèi)的采樣點個數(shù)為16,所以輸入層節(jié)點個數(shù)為32,隱藏層節(jié)點個數(shù)為16,輸出層節(jié)點個數(shù)為1。隱藏層和輸出層的激活函數(shù)均采用sigmoid函數(shù)。
步驟4,獲取m組神經(jīng)網(wǎng)絡(luò)訓練集:
步驟4a,以加噪信號r的采樣序列集θ1,θ2,…,θi,…,θ32的采樣序列θi中任意兩個相鄰碼元周期對應的采樣點作為神經(jīng)網(wǎng)絡(luò)的不同輸入向量,每個加噪信號采樣序列中所有輸入向量組成一組輸入向量集,得到32組神經(jīng)網(wǎng)絡(luò)輸入向量集。由于加噪信號r的碼元頻率為1mhz,采樣頻率為16mhz,故一個碼元周期內(nèi)的采樣點個數(shù)為16,神經(jīng)網(wǎng)絡(luò)輸入向量的維度為32,與步驟3中所述的神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點個數(shù)相同。以采樣序列θ1為例,以采樣序列θ1前兩個碼元周期對應的采樣點即第1到32個采樣點作為第一個輸入向量,以第2、3個碼元周期對應的采樣點即第17到48個采樣點作為第二個輸入向量,以此類推,將θ1中所有采樣點轉(zhuǎn)換為神經(jīng)網(wǎng)絡(luò)的輸入向量,得到20000個輸入向量,組成了θ1對應的神經(jīng)網(wǎng)絡(luò)輸入向量集。
步驟4b,將01隨機序列o=(o1,o2,…o20000)中各碼元作為神經(jīng)網(wǎng)絡(luò)的不同輸出向量,其中o1為第1個輸出向量,o2為第2個輸出向量,以此類推,得到20000個神經(jīng)網(wǎng)絡(luò)輸出向量,組成一組神經(jīng)網(wǎng)絡(luò)輸出向量集。其中每個輸出向量的維度都是1,與步驟3中所述的神經(jīng)網(wǎng)絡(luò)輸出層節(jié)點個數(shù)相同。
步驟4c,將32組神經(jīng)網(wǎng)絡(luò)輸入向量集中的每組向量集分別與輸出向量集合并,得到32組神經(jīng)網(wǎng)絡(luò)訓練集。
步驟5,利用32組神經(jīng)網(wǎng)絡(luò)訓練集對設(shè)定的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進行訓練,得到神經(jīng)網(wǎng)絡(luò)集n1,n2,…,ni,…,n32,共包含32個訓練好的神經(jīng)網(wǎng)絡(luò),其中,ni為第i個神經(jīng)網(wǎng)絡(luò)。訓練神經(jīng)網(wǎng)絡(luò)實現(xiàn)步驟為:
步驟5a,對設(shè)定的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)各層節(jié)點的權(quán)值和偏置分別進行初始化。
步驟5b,設(shè)定神經(jīng)網(wǎng)絡(luò)訓練均方誤差的閾值,設(shè)定閾值為0.01。
步驟5c,將32組神經(jīng)網(wǎng)絡(luò)訓練集中的所有輸入向量輸入給神經(jīng)網(wǎng)絡(luò),得到神經(jīng)網(wǎng)絡(luò)實際輸出向量,并計算該神經(jīng)網(wǎng)絡(luò)實際輸出向量與神經(jīng)網(wǎng)絡(luò)訓練集中的輸出向量之間的均方誤差。
步驟5d,對神經(jīng)網(wǎng)絡(luò)實際輸出向量與神經(jīng)網(wǎng)絡(luò)訓練集中的輸出向量之間的均方誤差進行反向傳播,并利用反向傳播的結(jié)果對經(jīng)過初始化的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)各層節(jié)點的權(quán)值和偏置分別進行調(diào)整,得到神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)各層節(jié)點新的權(quán)值和偏置。
步驟5e,循環(huán)執(zhí)行步驟5c到步驟5d,當均方誤差小于設(shè)定的神經(jīng)網(wǎng)絡(luò)訓練均方誤差閾值0.01時停止循環(huán)執(zhí)行,此時步驟5c到步驟5d的循環(huán)次數(shù)為3057,得到神經(jīng)網(wǎng)絡(luò)集n1,n2,…,ni,…,n32。
步驟6,對設(shè)定的待解調(diào)信號進行多神經(jīng)網(wǎng)絡(luò)解調(diào):
步驟6a,設(shè)定格式為基帶數(shù)據(jù)中每間隔一定數(shù)量的碼元插入一個幀頭c的待解調(diào)信號,在本實施例中,所述間隔的碼元數(shù)量為1024,所述幀頭長度為32個碼元,內(nèi)容為二進制序列“0x5ce9ab43”。
步驟6b,待解調(diào)信號的載波頻率為1mhz,碼元頻率為1mhz,對設(shè)定的待解調(diào)信號進行ad采樣,采樣頻率為16mhz,獲得待解調(diào)信號采樣序列。
步驟6c,將待解調(diào)信號采樣序列中任意兩個相鄰碼元周期對應的采樣點作為神經(jīng)網(wǎng)絡(luò)的輸入向量,待解調(diào)信號一個碼元周期內(nèi)的采樣點個數(shù)為16,以待解調(diào)信號采樣序列前兩個碼元周期對應的采樣點即第1到32個采樣點作為的第一個輸入向量,以第2、3個碼元周期對應的采樣點即第17到48個采樣點作為第二個輸入向量,以此類推,將所有待解調(diào)信號采樣點轉(zhuǎn)換為神經(jīng)網(wǎng)絡(luò)的輸入向量,得到待解調(diào)信號輸入向量集。
步驟6d,將待解調(diào)信號輸入向量集中的輸入向量逐個分別輸入到神經(jīng)網(wǎng)絡(luò)集n1,n2,…,ni,…,n32的每一個神經(jīng)網(wǎng)絡(luò)中,得到32個神經(jīng)網(wǎng)絡(luò)輸出序列。以神經(jīng)網(wǎng)絡(luò)n1為例,將待解調(diào)信號輸入向量集中的一個輸入向量輸入給神經(jīng)網(wǎng)絡(luò)n1,得到一個神經(jīng)網(wǎng)絡(luò)n1的輸出向量,將神經(jīng)網(wǎng)絡(luò)n1的所有輸出向量按時間順序排列,得到個神經(jīng)網(wǎng)絡(luò)n1的輸出序列。所述的輸出序列就是基帶數(shù)據(jù)輸出,在本步驟中神經(jīng)網(wǎng)絡(luò)同時完成了解調(diào)和差分譯碼的功能。
步驟6e,在32個神經(jīng)網(wǎng)絡(luò)輸出序列中搜索待解調(diào)信號所設(shè)定的幀頭c“0x5ce9ab43”,并保留連續(xù)多次搜索到幀頭c的輸出序列對應的神經(jīng)網(wǎng)絡(luò),關(guān)閉其余神經(jīng)網(wǎng)絡(luò),在本實施例中,得到保留的神經(jīng)網(wǎng)絡(luò)集n7,n8,n9。
步驟6f,選取下標處于中間的神經(jīng)網(wǎng)絡(luò)n8作為選中的神經(jīng)網(wǎng)絡(luò),將神經(jīng)網(wǎng)絡(luò)n8的輸出序列作為解調(diào)結(jié)果,并輸出。
以上是對本發(fā)明的具體實施例進行了描述。需要理解的是,本發(fā)明并不局限于上述特定實施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求范圍內(nèi)做出各種變形或修改,這并不影響本發(fā)明的實質(zhì)內(nèi)容。