本發明涉及電力線載波通信技術領域,并且更具體地,涉及一種基于正交頻分復用的時頻分集拷貝方法。
背景技術:
電力線載波通信是利用電力布線來傳送和接收通信信號的有線通信技術。由于電力線網絡分布廣泛,因此使用電力線作為通信媒質無需在室內打孔布線重新構建通信網絡,具有成本低廉,連接方便等優點,在智能電網和寬帶接入方面受到越來越多的關注。
正交頻分復用(orthogonalfrequencydivisionmultiplexing,ofdm)是一種將可用傳輸信道帶寬再分為多個彼此重疊和正交的離散信道或載波的擴展頻譜技術。數據以具有特定持續時間和包括一定數量載頻的碼元的形式發送。利用二相移位鍵控(binaryphaseshiftkeying,bpsk)或四相移位鍵控(quadraturephaseshiftkeying,qpsk)之類的慣用方案可以對這些ofdm載波發送的數據進行編碼。
通信信道是通信的基礎,與無線通信相同,電力線通信的性能主要受到電力線通信信道的制約。低壓電力網不是為傳輸高速數據而設計的,其構成電力網的組件是按照輸送電能的損失最小并保證可靠地傳輸低頻電流而設計的,因此,在低壓線上進行信號傳輸時,可能在信道上產生差錯突發的脈沖噪聲和造成頻率選擇性衰落的延遲擴展,從而導致接收端無法正確地解調出發送信號,故采用分集技術十分必要。
技術實現要素:
為了解決背景技術存在的上述問題,本發明提供一種基于正交頻分復用的時頻分集拷貝方法,其特征在于,所述方法包括:
步驟1、物理層接收介質訪問控制層信息,并生成物理層需要傳輸的原始數據;
步驟2、根據拷貝次數確定交織器個數;
步驟3、根據所述介質訪問控制層信息和確定的交織器個數計算時頻分集拷貝的參數,所述參數包括拷貝時實際使用的子載波個數、每部分數據的載波個數、每部分數據的比特數目、需要的正交頻分復用符號數目、每個正交頻分復用符號的比特數目、最后一個正交頻分復用符號的比特數目、每個交織器對應的子載波個數和最后一部分數據的比特數目;
步驟4、判斷最后一部分數據的比特數目是否大于0,若是,則執行步驟5,否則,執行步驟6;
步驟5、根據拷貝時每部分數據的比特數目和最后一部分數據的比特數目計算需要添加的數據長度,并獲取新的數據序列;
步驟6、根據拷貝次數和最后一個正交頻分復用符號的比特數目計算時頻分集拷貝的移位參數;
步驟7、根據拷貝時每個交織器對應的子載波個數和交織器個數計算交織偏移步長,并根據交織偏移步長確定每個交織器的交織步長,最后根據交織步長計算每個交織器的交織地址;以及
步驟8、按照拷貝次數,根據移位參數、交織器的交織地址,物理層的編碼速率依次進行時頻分集拷貝。
進一步地,分集拷貝在時域和頻域同時進行,頻域表現在將需傳輸的數據拷貝在不同子載波上,時域表現在將需傳輸的數據拷貝在不同的正交頻分復用符號上。
進一步地,物理層接收的介質訪問控制層信息包含載波映射表索引,所述載波映射表索引規定了物理層的編碼速率,拷貝次數,物理塊大小,并根據物理塊大小計算出物理層可傳輸的原始數據長度。
進一步地,根據拷貝次數確定交織器個數包括:
當拷貝次數是2次時,交織器個數是8個,每次拷貝交織器個數是4個;
當拷貝次數是4次時,交織器個數是8個,每次拷貝交織器個數是2個;
當拷貝次數是5次時,交織器個數是10個,每次拷貝交織器個數是2個;
當拷貝次數是7次時,交織器個數是14個,每次拷貝交織器個數是2個;以及
當拷貝次數是11次時,交織器個數是11個,每次拷貝交織器個數是1個。
進一步地,根據所述介質訪問控制層信息和確定的交織器個數計算時頻分集拷貝的參數的公式包括:
計算拷貝時實際使用的子載波個數n_real_carrier:
其中,n_real_carrier表示拷貝時實際使用的子載波個數,internum表示拷貝次數對應的交織器個數,n_carrier表示可使用的子載波個數,
計算拷貝時每部分的載波個數carriersperpart:
其中,carriersperpart表示拷貝時每部分的載波個數,n_real_carrier表示拷貝時實際使用的子載波個數,n_copies表示拷貝次數,
計算拷貝時每部分的比特數目bitsperpart:
bitsperpart=bpc*carrierperpart
其中,bitsperpart表示拷貝時每部分的比特數目,bpc表示物理層編碼速率,carriersperpart表示拷貝時每部分的載波個數;
計算拷貝時需要的正交頻分復用(正交頻分復用符號)符號數目n_symbol;
其中,n_symbol表示拷貝時需要的正交頻分復用符號數目,n_data表示原始數據長度,bitsperpart表示拷貝時每部分的比特數目,
計算拷貝時每個正交頻分復用符號的比特數目bitspersymbol:
bitspersymbol=bpc*n_real_carrier
其中,bitspersymbol表示拷貝時每個正交頻分復用符號的比特數目,bpc表示物理層編碼速率,n_real_carrier表示拷貝時實際使用的子載波個數;
計算最后一個正交頻分復用符號的比特數目bitsinlastofdm:
其中,bitsinlastofdm表示最后一個正交頻分復用符號的比特數目,n_data表示原始數據長度,bitspersymbol表示拷貝時每個正交頻分復用符號的比特數目,
計算拷貝時每個交織器對應的子載波個數carriersperinterleaver:
其中,carriersperinterleaver表示拷貝時每個交織器對應的子載波個數,n_real_carrier表示拷貝時實際使用的子載波個數,internum表示拷貝次數對應的交織器個數;
計算拷貝時數據最后一部分的比特數目bitsinlastpart:
bitsinlastpart=n_data-(n_symbol-1)*bitsperpart
其中,bitsinlastpart表示拷貝時數據最后一部分的比特數目,n_data表示原始數據長度,n_symbol表示拷貝時需要的正交頻分復用符號數目,bitsperpart表示拷貝時每部分的比特數目。
進一步地,根據拷貝時每部分數據的比特數目和最后一部分數據的比特數目計算需要添加的數據長度,并獲取新的數據序列包括:
步驟1、計算需要添加的數據長度n_add:
n_add=bitsperpart-bitsinlastpart
其中,n_add表示需要添加的數據長度,bitsperpart表示拷貝時每部分的比特數目,bitsinlastpart表示拷貝時數據最后一部分的比特數目;
步驟2、每次拷貝添加n_add長度數據,添加原則為:第一次拷貝的n_add長度數據來自原始數據的1至n_add個比特,第二次拷貝的n_add長度數據來自原始數據的(n_add+1)至2n_add個比特,依次類推,直至第n次拷貝的n_add長度數據來自原始數據的[(n-1)*n_add+1]個至n*n_add個比特;以及
步驟3、更新數據長度n_data_actual,計算公式如下:
n_data_actual=n_data+n_add
其中,n_data_actual表示更新的數據長度,n_data表示原始數據長度,n_add表示需要添加的數據長度。
進一步地,根據拷貝次數和最后一個正交頻分復用符號的比特數目計算時頻分集拷貝的移位參數的規則包括:
當拷貝次數為1時,移位參數cyclicshift=0;
當拷貝次數為2時,若最后一個正交頻分復用符號的比特數目bitsinlastofdm不大于拷貝時每部分的比特數目bitsperpart,移位參數cyclicshift=[0,0],否則移位參數cyclicshift=[0,1];
當拷貝次數為4時,bitsinlastofdm≤bitsperpart,移位參數cyclicshift=[0,0,0,0],bitsperpart<bitsinlastofdm≤2×bitsperpart,移位參數cyclicshift=[0,0,1,1],2×bitsperpart<bitsinlastofdm≤3×bitsperpart,移位參數cyclicshift=[0,0,0,0],3×bitsperpart<bitsinlastofdm≤4×bitsperpart,移位參數cyclicshift=[0,1,2,3];
當拷貝次數為5時,bitsinlastofdm≤4×bitsperpart,移位參數cyclicshift=[0,0,0,0,0],否則,移位參數cyclicshift=[0,1,2,3,4];
當拷貝次數為7時,bitsinlastofdm≤6×bitsperpart,移位參數cyclicshift=[0,0,0,0,0,0,0],否則,移位參數cyclicshift=[0,1,2,3,4,5,6];
當拷貝次數為11時,bitsinlastofdm≤10×bitsperpart,移位參數cyclicshift=[0,0,0,0,0,0,0,0,0,0,0],否則,移位參數cyclicshift=[0,1,2,3,4,5,6,7,8,9,10]。
進一步地,根據拷貝時每個交織器對應的子載波個數和交織器個數計算交織偏移步長,并根據交織偏移步長確定每個交織器的交織步長,最后根據交織步長計算每個交織器的交織地址包括:
步驟1、計算交織偏移步長interstep:
其中,interstep表示交織偏移步長,carriersperinterleaver表示拷貝時每個交織器對應的子載波個數,internum表示拷貝次數對應的交織器個數,
步驟2、根據交織偏移步長確定每個交織器的交織步長,其對應關系如下:
當interstep<1時,intershiftstep等于0;
當1≤interstep<2時,intershiftstep等于1;
當2≤interstep<4時,intershiftstep等于2;
當4≤interstep<8時,intershiftstep等于4;
當8≤interstep<16時,intershiftstep等于8;
步驟3、根據交織步長計算每個交織器的交織地址包括:
每個交織器在進行交織時,均采用行進列出的方式,首先將原始地址按照行進的方式存儲在一個n行m列的矩陣中,再將矩陣中的元素按照列的順序讀取出來,讀取之后,再將每個交織器進行循環移位,得到最終的交織結果,具體計算公式如下:
在第i個交織器進行交織時,其交織器的矩陣列數m(i)
m(i)=i*intershiftstep
其中,m(i)表示第i個交織器交織時的矩陣列數,intershiftstep表示交織器的交織步長,
在第i個交織器進行循環移位時,其循環移位參數cyc(i)為:
cyc(i)=2*(i-1)*intershiftstep
其中,cyc(i)表示第i個交織器的循環移位參數,intershiftstep表示交織器的交織步長。
進一步地,根據移位參數、交織器的交織地址,物理層的編碼速率依次進行時頻分集拷貝包括:
在進行第n次拷貝時,先按照移位參數對拷貝的部分進行移位,其中n大于1;
將每部分數據分成與每次拷貝所需交織器個數數量相同的塊;
在拷貝時,比特和子載波根據物理層的編碼速率進行映射。
根據本發明的另一方面,本發明提供一種基于正交頻分復用的時頻分集拷貝系統,其特征在于,所述系統包括:
數據形成單元,其用于通過物理層接收介質訪問控制層信息,并生成物理層需要傳輸的原始數據;
交織器確定單元,其用于根據拷貝次數確定交織器個數;
時頻分集拷貝參數確定單元,其用于根據所述介質訪問控制層信息和確定的交織器個數計算時頻分集拷貝的參數,所述參數包括拷貝時實際使用的子載波個數、每部分數據的載波個數、每部分數據的比特數目、需要的正交頻分復用符號數目、每個正交頻分復用符號的比特數目、最后一個正交頻分復用符號的比特數目、每個交織器對應的子載波個數和最后一部分數據的比特數目;
數據長度判斷單元,其用于判斷傳輸的數據的最后一部分的比特數目
是否大于0;
新數據序列確定單元,其用于根據拷貝時每部分數據的比特數目和最后一部分數據的比特數目計算需要添加的數據長度,并獲取新的數據序列;
時頻分集拷貝移位參數計算單元,其用于根據拷貝次數和最后一個正交頻分復用符號的比特數目計算時頻分集拷貝的移位參數;
交織器交織地址計算單元,其用于根據拷貝時每個交織器對應的子載波個數和交織器個數計算交織偏移步長,并根據交織偏移步長確定每個交織器的交織步長,最后根據交織步長計算每個交織器的交織地址;以及
時頻分集拷貝單元,其用于按照拷貝次數,根據移位參數、交織器的交織地址,物理層的編碼速率依次進行時頻分集拷貝。
本發明提供的基于正交頻分復用的時頻分集拷貝方法和系統針對不同的數據長度、不同調制方式、不同的拷貝次數進行時頻分集拷貝,提高了系統的分集增益。
附圖說明
通過參考下面的附圖,可以更為完整地理解本發明的示例性實施方式:
圖1是本發明具體實施方式的基于正交頻分復用的時頻分集拷貝方法的流程圖;
圖2是本發明具體實施方式的通過計算得到的參數大小的示意圖;
圖3是本發明具體實施方式的交織器交織方式的示意圖;
圖4是本發明具體實施方式的時頻分集拷貝實施例的示意圖;
圖5是本發明具體實施方式的進行時頻分集拷貝時比特和載波的映射關系的局部示意圖;
圖6是本發明具體實施方式的基于正交頻分復用的時頻分集拷貝方法的實驗結果示意圖;
圖7是本發明具體實施方式的基于正交頻分復用的時頻分集拷貝方法的另一個實驗結果示意圖;以及
圖8是本發明具體實施方式的基于正交頻分復用的時頻分集拷貝系統的結構圖。
具體實施方式
現在參考附圖介紹本發明的示例性實施方式,然而,本發明可以用許多不同的形式來實施,并且不局限于此處描述的實施例,提供這些實施例是為了詳盡地且完全地公開本發明,并且向所屬技術領域的技術人員充分傳達本發明的范圍。對于表示在附圖中的示例性實施方式中的術語并不是對本發明的限定。在附圖中,相同的單元/元件使用相同的附圖標記。
除非另有說明,此處使用的術語(包括科技術語)對所屬技術領域的技術人員具有通常的理解含義。另外,可以理解的是,以通常使用的詞典限定的術語,應當被理解為與其相關領域的語境具有一致的含義,而不應該被理解為理想化的或過于正式的意義。
圖1是本發明具體實施方式的基于正交頻分復用的時頻分集拷貝方法的流程圖。如圖1所示,基于正交頻分復用的時頻分集拷貝方法從步驟s101開始。
在步驟s101,物理層接收介質訪問控制層信息,并生成物理層需要傳輸的原始數據。物理層接收的介質訪問控制層信息包含載波映射表索引,所述載波映射表索引規定了物理層的編碼速率,拷貝次數,物理塊大小,并根據物理塊大小計算出物理層可傳輸的原始數據長度。本實施例采用頻段0,載波映射表索引為2,編碼速率為2,采用qpsk,拷貝次數為5,可使用的子載波個數為411,物理塊為136,物理層可傳輸的數據長度n_data為1088。
在步驟s102,根據拷貝次數確定交織器個數。根據拷貝次數確定交織器個數包括:當拷貝次數是2次時,交織器個數是8個,每次拷貝交織器個數是4個;當拷貝次數是4次時,交織器個數是8個,每次拷貝交織器個數是2個;當拷貝次數是5次時,交織器個數是10個,每次拷貝交織器個數是2個;當拷貝次數是7次時,交織器個數是14個,每次拷貝交織器個數是2個;以及當拷貝次數是11次時,交織器個數是11個,每次拷貝交織器個數是1個。在本實施例中,由于拷貝次數為5,故交織器個數應為10,且每次拷貝交織器的個數是2個。
在步驟s103,根據所述介質訪問控制層信息和確定的交織器個數計算時頻分集拷貝的參數,所述參數包括拷貝時實際使用的子載波個數、每部分數據的載波個數、每部分數據的比特數目、需要的正交頻分復用符號數目、每個正交頻分復用符號的比特數目、最后一個正交頻分復用符號的比特數目、每個交織器對應的子載波個數和最后一部分數據的比特數目。每個參數的計算過程如下所示。
a)計算拷貝時實際使用的子載波個數n_real_carrier:
其中,n_real_carrier表示拷貝時實際使用的子載波個數,internum表示拷貝次數對應的交織器個數,n_carrier表示可使用的子載波個數,
b)計算拷貝時每部分的載波個數carriersperpart:
其中,carriersperpart表示拷貝時每部分的載波個數,n_real_carrier表示拷貝時實際使用的子載波個數,n_copies表示拷貝次數,
c)計算拷貝時每部分的比特數目bitsperpart:
bitsperpart=bpc*carrierperpart
其中,bitsperpart表示拷貝時每部分的比特數目,bpc表示物理層編碼速率,carriersperpart表示拷貝時每部分的載波個數,實施例中,物理層編碼速率為2,每部分的比特數目為2*82=164。
d)計算拷貝時需要的正交頻分復用(正交頻分復用符號)符號數目n_symbol;
其中,n_symbol表示拷貝時需要的正交頻分復用符號數目,n_data表示原始數據長度,bitsperpart表示拷貝時每部分的比特數目,
e)計算拷貝時每個正交頻分復用符號的比特數目bitspersymbol:
bitspersymbol=bpc*n_real_carrier
其中,bitspersymbol表示拷貝時每個正交頻分復用符號的比特數目,bpc表示物理層編碼速率,n_real_carrier表示拷貝時實際使用的子載波個數,實施例中,每個ofdm符號的比特數目為2*410=820。
f)計算最后一個正交頻分復用符號的比特數目bitsinlastofdm:
其中,bitsinlastofdm表示最后一個正交頻分復用符號的比特數目,,n_data表示原始數據長度,bitspersymbol表示拷貝時每個正交頻分復用符號的比特數目,
g)計算拷貝時每個交織器對應的子載波個數carriersperinterleaver:
其中,carriersperinterleaver表示拷貝時每個交織器對應的子載波個數,n_real_carrier表示拷貝時實際使用的子載波個數,internum表示拷貝次數對應的交織器個數,實施例中,每個交織器對應的子載波個數為410÷10=41。
h)計算拷貝時數據最后一部分的比特數目bitsinlastpart:
bitsinlastpart=n_data-(n_symbol-1)*bitsperpart
其中,bitsinlastpart表示拷貝時數據最后一部分的比特數目,n_data表示原始數據長度,n_symbol表示拷貝時需要的正交頻分復用符號數目,bitsperpart表示拷貝時每部分的比特數目,實施例中,最后一部分的比特數目為1088-6*164=104。
在步驟s104,判斷最后一部分數據的比特數目是否大于0,若是,則執行步驟s105,否則,執行步驟s106。在本實施例中,最后一部分數據的比特數目是104,故執行步驟s105。
在步驟s105,根據拷貝時每部分數據的比特數目和最后一部分數據的比特數目計算需要添加的數據長度,并獲取新的數據序列。在本實施例中,獲取新的數據序列的過程如下所示。
步驟1、計算需要添加的數據長度n_add:
n_add=bitsperpart-bitsinlastpart
其中,n_add表示需要添加的數據長度,bitsperpart表示拷貝時每部分的比特數目,bitsinlastpart表示拷貝時數據最后一部分的比特數目。本實施例的,添加的數據長度為164-104=60。
步驟2、每次拷貝添加n_add長度數據,添加原則為:第一次拷貝的n_add長度數據來自原始數據的1至n_add個比特,第二次拷貝的n_add長度數據來自原始數據的(n_add+1)至2n_add個比特,依次類推,直至第n次拷貝的n_add長度數據來自原始數據的[(n-1)*n_add+1]個至n*n_add個比特;以及
步驟3、更新數據長度n_data_actual,計算公式如下:
n_data_actual=n_data+n_add
其中,n_data_actual表示更新的數據長度,n_data表示原始數據長度,n_add表示需要添加的數據長度。在本實施例中,更新的數據長度為1088+60=1148個。
圖2是本發明具體實施方式的通過計算得到的參數大小的示意圖。如圖2所示,通過步驟s103和步驟s105的計算,本發明具體實施方式中進行時頻分集拷貝的參數的大小分別為:拷貝時實際使用的子載波個數是410個,每部分數據的載波個數是82個,每部分數據的比特數目是164個,需要的正交頻分復用符號數目是7個,每個正交頻分復用符號的比特數目是820個,最后一個正交頻分復用符號的比特數目是268個,每個交織器對應的子載波個數是41個,最后一部分數據的比特數目104,新的數據長度是1148。
在步驟s106,根據拷貝次數和最后一個正交頻分復用符號的比特數目計算時頻分集拷貝的移位參數。具體規則包括:
當拷貝次數為1時,移位參數cyclicshift=0;
當拷貝次數為2時,若最后一個正交頻分復用符號的比特數目bitsinlastofdm不大于拷貝時每部分的比特數目bitsperpart,移位參數cyclicshift=[0,0],否則移位參數cyclicshift=[0,1];
當拷貝次數為4時,bitsinlastofdm≤bitsperpart,移位參數cyclicshift=[0,0,0,0],bitsperpart<bitsinlastofdm≤2×bitsperpart,移位參數cyclicshift=[0,0,1,1],2×bitsperpart<bitsinlastofdm≤3×bitsperpart,移位參數cyclicshift=[0,0,0,0],3×bitsperpart<bitsinlastofdm≤4×bitsperpart,移位參數cyclicshift=[0,1,2,3];
當拷貝次數為5時,bitsinlastofdm≤4×bitsperpart,移位參數cyclicshift=[0,0,0,0,0],否則,移位參數cyclicshift=[0,1,2,3,4];
當拷貝次數為7時,bitsinlastofdm≤6×bitsperpart,移位參數cyclicshift=[0,0,0,0,0,0,0],否則,移位參數cyclicshift=[0,1,2,3,4,5,6];
當拷貝次數為11時,bitsinlastofdm≤10×bitsperpart,移位參數cyclicshift=[0,0,0,0,0,0,0,0,0,0,0],否則,移位參數cyclicshift=[0,1,2,3,4,5,6,7,8,9,10]。
在本實施例中,拷貝次數是5次,bitsinlastofdm是268,bitsperpart是164,滿足bitsinlastofdm≤4×bitsperpart,故移位參數為cyclicshift=[0,0,0,0,0]
在步驟s107,根據拷貝時每個交織器對應的子載波個數和交織器個數計算交織偏移步長,并根據交織偏移步長確定每個交織器的交織步長,最后根據交織步長計算每個交織器的交織地址。具體計算方法如下所示。
步驟1、計算交織偏移步長interstep:
其中,interstep表示交織偏移步長,carriersperinterleaver表示拷貝時每個交織器對應的子載波個數,internum表示拷貝次數對應的交織器個數,
步驟2、根據交織偏移步長確定每個交織器的交織步長,其對應關系如下:
當interstep<1時,intershiftstep等于0;
當1≤interstep<2時,intershiftstep等于1;
當2≤interstep<4時,intershiftstep等于2;
當4≤interstep<8時,intershiftstep等于4;
當8≤interstep<16時,intershiftstep等于8;
在本實施例中,交織偏移步長是2,交織步長也是2。
步驟3、根據交織步長計算每個交織器的交織地址包括:
每個交織器在進行交織時,均采用行進列出的方式,首先將原始地址按照行進的方式存儲在一個n行m列的矩陣中,再將矩陣中的元素按照列的順序讀取出來,讀取之后,再將每個交織器進行循環移位,得到最終的交織結果,具體計算公式如下:
在第i個交織器進行交織時,其交織器的矩陣列數m(i)
m(i)=i*intershiftstep
其中,m(i)表示第i個交織器交織時的矩陣列數,intershiftstep表示交織器的交織步長,
在第i個交織器進行循環移位時,其循環移位參數cyc(i)為:
cyc(i)=2*(i-1)*intershiftstep
其中,cyc(i)表示第i個交織器的循環移位參數,intershiftstep表示交織器的交織步長。
在本實施例中,共有10個交織器,對于第一個交織器,其矩陣列數m為2,對第二個交織器,其矩陣列數為4,對第十個交織器,其矩陣列數為20,通過10個交織器的交織,可以得到10個交織輸出結果。圖3是本發明具體實施方式的交織器交織方式的示意圖。如圖3所示,對于第三個交織器,其交織時矩陣的列數m為6,矩陣的行數n為7,循環移位參數為8,圖3中交織輸出的結果為[1,7,13,19,25,31,37,……,17,23,29,35,41,6,12,18,24,30,36],之后對交織結果進行循環移位,由于循環移位參數為8,故最終的交織器3的交織地址為[35,41,6,12,18,24,30,36,1,7,13,19,25,31,37,……,17,23,29]。
在步驟s108,按照拷貝次數,根據移位參數、交織器的交織地址,物理層的編碼速率依次進行時頻分集拷貝。
優選地,根據移位參數、交織器的交織地址,物理層的編碼速率依次進行時頻分集拷貝包括:
在進行第n次拷貝時,先按照移位參數對拷貝的部分進行移位,其中n大于1;
將每部分數據分成與每次拷貝所需交織器個數數量相同的塊;
在拷貝時,比特和子載波根據物理層的編碼速率進行映射。
圖4是本發明具體實施方式的時頻分集拷貝實施例的示意圖。如圖4所示,實施例中,拷貝5次,第一次拷貝時,每個部分均采用交織器1,2的交織地址,對于第一部分part1,其拷貝結果為p1_1(i1),p1_2(i2),p1_1表示part1的第一塊比特,在實施例中,為82個比特,p1_2表示part1的第二塊比特,在實施例中,同樣也為82個比特,i1表示交織器1的最終交織地址,i2表示交織器2的最終交織地址,對于第二部分,其拷貝結果為p2_1(i1),p2_2(i2),p2_1表示part2的第一塊比特,p2_2表示part2的第二塊比特,對于第一次拷貝的第i部分parti,其拷貝結果為pi_1(i1),pi_2(i2),pi_1表示parti的第一塊比特,pi_2表示parti的第二塊比特;第二次拷貝時,先按照移位參數對需要拷貝的部分進行移位,再將每部分采用交織器3,4的交織地址進行交織,實施例中移位參數的第二個元素為0,故不需要進行移位,每一部分進行交織時,同第一次拷貝情況類似,只是其交織地址采用交織器3,4的輸出結果,如圖5中所示對于第一部分part1,其拷貝結果為p1_1(i3),p1_2(i4),對于第二部分,其拷貝結果為p2_1(i3),p2_2(i4),對于第二次拷貝的第i部分parti,其拷貝結果為pi_1(i3),pi_2(i4);對于第j次拷貝,先按照移位參數中的第j個元素,對需要拷貝的7部分進行移位,再將每個部分按照交織器2j-1,2j的輸出進行交織,直至拷貝結束。
圖5是本發明具體實施方式的進行時頻分集拷貝時比特和載波的映射關系的局部示意圖。在拷貝時,比特和子載波根據bpc參數進行映射,若bpc為1,則每個子載波可映射1個比特,若bpc為2,則每個子載波可映射2個比特。在本實施例中,bpc為2,如圖5所示,第一個ofdm符號第三部分的第一塊比特p3_1中,比特和子載波的映射關系,在映射時,采用交織器1的交織器輸出i(1),圖6中,p3_1對應的比特編號為329~410,對于第329、330個比特,其映射對應的子載波編號應為164+i(1,1),其中,i(1,1)表示第一個交織器輸出的第一個交織結果,對于第(328+2m-1)、(328+2m)個比特,其映射對應的子載波編號應為164+i(1,m),其中,1≤m≤41,i(1,m)表示第一個交織器輸出的第m個交織結果。其他部分的比特和子載波映射關系同圖5類似,只是映射時對應的交織器不同。
優選地,分集拷貝在時域和頻域同時進行,頻域表現在將需傳輸的數據拷貝在不同子載波上,時域表現在將需傳輸的數據拷貝在不同的正交頻分復用符號上。
為了驗證本發明的效果,下面結合仿真實驗進行進一步的描述。
圖6是本發明具體實施方式的基于正交頻分復用的時頻分集拷貝方法的實驗結果示意圖。圖7是本發明具體實施方式的基于正交頻分復用的時頻分集拷貝方法的另一個實驗結果示意圖。圖6的仿真條件為:帶寬為1.953~11.96mhz,可用子載波個數為411,采用物理塊為136,數據長度為1088,調制方式為qpsk,拷貝5次;圖7的仿真條件為:帶寬為2.441~5.615mhz,可用子載波個數為131,同樣采用物理塊為136,數據長度為1088,調制方式為qpsk,拷貝5次。仿真時采用的信道為電力線信道,信道模型為4徑的衰落信道。圖6、7中的橫軸表示信噪比,單位為db,縱軸表示誤碼率。圖6和圖7中,以圓圈標示的曲線代表無分集拷貝的誤碼率曲線,以正方形標示的曲線代表本發明的誤碼率曲線。由圖6和圖7的仿真實驗結果可見,本發明和無分集情況相比,能夠提供較高的分集增益,很好地對抗了信道的頻率選擇性,極大的提升了系統的可靠性。
圖8是本發明具體實施方式的基于正交頻分復用的時頻分集拷貝系統的結構圖。如圖8所示,基于正交頻分復用的時頻分集拷貝系統包括數據形成單元801、交織器確定單元802、時頻分集拷貝參數確定單元803、數據長度判斷單元804、新數據序列確定單元805、時頻分集拷貝移位參數計算單元806、交織器交織地址計算單元807和時頻分集拷貝單元808。
數據形成單元801,其用于通過物理層接收介質訪問控制層信息,并生成物理層需要傳輸的原始數據;
交織器確定單元802,其用于根據拷貝次數確定交織器個數;
時頻分集拷貝參數確定單元803,其用于根據所述介質訪問控制層信息和確定的交織器個數計算時頻分集拷貝的參數,所述參數包括拷貝時實際使用的子載波個數、每部分數據的載波個數、每部分數據的比特數目、需要的正交頻分復用符號數目、每個正交頻分復用符號的比特數目、最后一個正交頻分復用符號的比特數目、每個交織器對應的子載波個數和最后一部分數據的比特數目;
數據長度判斷單元804,其用于判斷傳輸的數據的最后一部分的比特數目是否大于0;
新數據序列確定單元805,其用于根據拷貝時每部分數據的比特數目和最后一部分數據的比特數目計算需要添加的數據長度,并獲取新的數據序列;
時頻分集拷貝移位參數計算單元806,其用于根據拷貝次數和最后一個正交頻分復用符號的比特數目計算時頻分集拷貝的移位參數;
交織器交織地址計算單元807,其用于根據拷貝時每個交織器對應的子載波個數和交織器個數計算交織偏移步長,并根據交織偏移步長確定每個交織器的交織步長,最后根據交織步長計算每個交織器的交織地址;以及
時頻分集拷貝單元808,其用于按照拷貝次數,根據移位參數、交織器的交織地址,物理層的編碼速率依次進行時頻分集拷貝。
時頻分集拷貝單元808,其用于按照拷貝次數,根據移位參數、交織器的交織地址,物理層的編碼速率依次進行時頻分集拷貝。
已經通過上述實施方式描述了本發明。然而,本領域技術人員所公知的,正如附帶的專利權利要求所限定的,除了本發明以上公開的其他的實施例等同地落在本發明的范圍內。
通常地,在權利要求中使用的所有術語都根據他們在技術領域的通常含義被解釋,除非在其中被另外明確地定義。所有的參考“一個/所述/該【裝置、組件等】”都被開放地解釋為所述裝置、組件等中的至少一個實例,除非另外明確地說明。這里公開的任何方法的步驟都沒必要以公開的準確的順序運行,除非明確地說明。