專利名稱:體全息存儲器用調制——陣列碼的編、譯碼方法及系統的制作方法
技術領域:
本發明涉及體全息存儲技術,設計了一種調制—陣列碼的編、譯碼方法及系統。
體全息存儲的理論極限為V/λ3(V是記錄介質體積,λ是工作波長),其理論存儲密度可達1012bits/cm3數量級;并且由于光束攜帶圖象信息,寫入讀出均為二維數據頁并行處理,能達到極高的數據存儲和讀取速度。因此體全息存儲系統以其鮮明的特點和潛力成為信息存儲領域的重要發展方向,并在近些年來取得了一定的成果。然而系統中復雜的噪聲干擾一直是其實用化過程中的重要障礙。
體全息存儲系統中不但噪聲的種類很多,而且對不同的存儲介質、系統配置、復用技術和數據存取方案,各種噪聲產生的影響不同,最終具有決定影響作用的噪聲源也不相同。噪聲的這些特點決定了進行簡單的閾值判斷不能滿足用戶對誤碼率的要求。因此,必然要引入糾錯編碼和調制編碼技術,但常用的調制碼的編碼結構決定了在譯碼時僅能利用一部分輸入信息完成碼元的極性判斷。因此在譯碼過程中會丟失大量的信息,不利于提高系統的信息利用率。反映到存儲方面就是不利于有效的存儲密度的提高。而且傳統的糾錯碼和調制碼在使用過程中都是獨立的,從而在譯碼過程中使數據攜帶的大量信息被調制碼譯碼器所阻斷,糾錯碼譯碼器不能充分利用接收數據所攜帶的信息。
通常碼元u傳統的軟判決度量經常用對數似然函數比L(u)來表示L(u)=logp(u=0)p(u=1)]]>在得到觀測值y的條件下碼元u的條件對數似然函數比為L(u|y)=L(y|u)+L(u)=Lc×y+L(u)L(y|u)=logp(y|u=0)p(y|u=1)]]>
對于相互獨立的碼元u1和u2有如下運算規則L(u1u2)≈sgn(L(u1))×sgn(L(u2))×min(|L(u1)|,|L(u2)|)其中P表示概率,sgn()是符號函數,min()是取最小值函數,Lc代表信道的各種復雜信息。由于體全息存儲系統中噪聲參數隨空間而變化,所以Lc也是隨空間而變化的,從而使L(u|y)難以計算,因此在信道的信噪比有起伏,并且噪聲參數難以統計的通信信道中使用效果不佳。
本發明的目的在于克服前述缺陷,提供一種適用于體全息存儲器讀寫數據處理的新的編碼方法、譯碼方法及其系統,從而能充分利用信號攜帶的信息量,最終降低用戶誤碼率,提高實際系統存儲容量。
本發明總體方案的設計是,提出一種適用于體全息存儲器讀寫數據處理的編碼結構,它是一種調制碼與糾錯碼緊密結合的編碼技術,它不同于傳統的由兩種糾錯碼級聯而成的級聯碼。我們稱具有這種編碼結構的碼為調制—陣列碼。同時使用了與其相適應的軟判決度量方法,在此基礎之上綜合調制碼探測、軟判決、陣列碼糾錯和Turbo碼譯碼原理,形成了一種新的迭代譯碼算法。本發明的具體技術方案表述如下本發明的一種體全息存儲器用的調制—陣列碼的編碼方法,含有調制編碼方法和糾錯編碼方法,其特征在于,它由以下步驟順次組成1)、使存儲數據通過等重碼編碼器進行等重碼編碼;2)、以等重碼作為輸入通過糾錯碼編碼器進行糾錯碼編碼,采用的糾錯碼是系統碼;3)、編碼后的碼元結構從左到右依次由調制碼部分和校驗元部分組成,其中,左邊調制碼部分為k×k個碼元,從左到右為{x(1,1),x(1,2),…x(1,k)},…{x(k,1),x(k,2),…x(k,k)}是k個nk調制碼碼字按順序排列,右邊校驗元部分k×2個碼元,其中,h(1),h(2),…h(k-1),h(k)與左邊碼的關系為h(i)=x(1,i)x(2,i)…x(k-1,i)x(k,i)1 i=1,2,…k-1,k,d(1),d(2),…d(k-1),d(k),與左邊碼的關系為d(i)=f(1,i)f(2,i)…f(k-1,i)f(k,i)1 i=1,2,…k-1,k,f(j,i)=x(j,((i+j-2)mod k)+1) j=1,2,…k-1,k。
參見圖3編碼裝置的裝置圖,根據前述的體全息存儲器用的調制—陣列碼的編碼方法,其特征在于等重碼采用6∶8等重碼,這種編碼器比較常見,是市售的。系統糾錯碼采用由兩個(9,8)奇偶校驗碼組成的改進型陣列碼,這種編碼器由于編碼結構變動,用DSP芯片按圖1C的編碼結構設計實現,DSP是通用的。
根據前述的體全息存儲器用的調制—陣列碼的編碼方法而設計的編碼系統,其特征在于它含有向6∶8等重碼編碼器提供存儲數據的數據源,向系統糾錯碼編碼器提供編碼數據的6∶8等重碼編碼器,向空間光調制器提供編碼數據的系統糾錯碼編碼器,向存儲晶體提供調制后的編碼數據的空間光調制器以及存儲晶體。
本發明的一種體全息存儲器用的調制—陣列碼的譯碼方法,含有軟判決度量算法,其特征在于本譯碼過程使用了與其編碼結構相適應的軟判決度量方法,在此基礎之上綜合調制碼探測、軟判決、陣列碼糾錯和Turbo碼譯碼原理,形成了一種新的迭代譯碼技術,它依次由以下步驟組成1)、從存儲晶體來的數據讀入數據卡;2)、計算機從數據卡讀一個碼字;3)、進入譯碼子程序;4)、把碼字中的調制碼部分的碼元以等重碼碼字為單位按接收到的幅度從大到小排序,統計全局判別閾值;5)、進入軟判決度量計算子程序首先分成兩部分碼元分別計算,其中調制碼部分碼元進入調制碼部分軟判決度量初步計算子程序,校驗元部分碼元進入校驗元部分軟判決度量計算子程序。二者計算結束后進入調制碼部分碼元軟判決度量修正子程序;6)、5)中所提到的調制碼部分軟判決度量初步計算子程序,其中初步計算公式為S(u|y)=c×|b+d×y|式中c代表將碼元判決為0或1時的正負極性信息,d和b代表信道的各種復雜信息,設接收數據經整理后最大值是Max,最小值是0,則邊界條件為判定u=1時,若y=0則判定的可信度最小,|S(u|y)|=0,若y=Max則判定的可信度最大,|S(u|y)|=Max,判定u=0時,若y=0則判定的可信度最大,|S(u|y)|=Max,若y=Max則判定的可信度最小,|S(u|y)|=0,得出 式中c1、c0表示碼元取1和0時S(u|y)的極性,其中c1×c0=-1;7)、5)所提到的校驗元部分軟判決度量計算子程序,其中閾值是4)中所提到的全局判決閾值,在調制碼部分碼元排序過程中,取出每一個等重碼碼字中的第m1和(m1-1)個碼元的幅度值,尋找到令這些碼元判別后誤碼最小的閾值,這就是統計出的調制碼部分碼元的最佳全局閾值,將其近似成校驗元部分碼元的判決閾值,于是校驗元部分軟判決度量計算公式為 8)、5)中所提到的調制碼部分碼元軟判決度量修正子程序至少分三步進行,其中首先進入調制碼部分碼元的軟判決度量第一步修正子程序,依次依據調制碼字中排序后的位置進行修正 其中 f(y,n)=y×g(n)n是碼元在調制碼字中排序后的位置,n=0,1,2,…,k-1,接著進入調制碼部分碼元軟判決度量第二步修正子程序,依據碼元的誤碼概率予以修正Sm1-1(u|y)=c1×min(|Sm1-1(u|y)|,|Sm1(u|y)|)Sm1(u|y)=c0×|Sm1-1(u|y)|式中m1表示調制碼碼字中1的個數,Sn(u|y)代表第n個碼元的軟判決度量,n是碼元在調制碼字中排序后的位置,n=0,1,2,…,k-1,然后進行調制碼部分碼元的軟判決度量第三步修正子程序,依據碼元的接收幅度值給予修正當第n,n+1,…,n+m個碼元的y值相同,而且這m+1個碼元極性相同,則Sn(u|y)=...=Sn+m(u|y)=sgn(Sn(u|y))×min(|Sn(u|y)|,...,|Sn+m(u|y)|)若m+1個碼元的極性不同,則Sn(u|y)=Sn+1(u|y)=...=Sn+m(u|y)=0從而得到調制碼部分碼元的條件軟判決度量值;9)、進行碼字的迭代譯碼,其中軟判決度量的運算規則如下S(u1u2)≈sgn(S(u1|y1))×sgn(S(u2|y2))×min(|S(u1|y1)|,|S(u2|y2)|)式中sgn()是取符號函數,min()是求最小值函數;10)、依據碼元的最終軟判決度量進行量化,其極性為c1的碼元為1,極性為c0的碼元為0,然后再對其進行等重碼譯碼,最后輸出譯碼后的判決結果數據;11)、判決結束后經數據卡將判決輸出,得到存儲數據。
其中5)中的軟判決度量計算子程序可由圖8和圖9的程序流程看出碼元的軟判決度量計算依據碼元的歸屬分別進行計算,調制碼部分的碼元進入調制碼部分軟判決度量初步計算子程序,校驗元部分的碼元進入校驗元部分軟判決度量計算子程序,當所有的碼元的軟判決度量計算結束后,再進行調制碼部分碼元軟判決度量修正子程序。修正至少分三步進行,具體流程參見圖12~圖15。修正完后我們就得到了所有碼元的軟判決度量,由圖8和圖9可知程序返回到迭代譯碼子程序進行迭代譯碼。
根據前述的體全息存儲器用的調制一陣列碼的譯碼方法而設計的譯碼系統,其特征在于,它包含存儲晶體,從存儲晶體掃描出接收數據的電荷耦合器件CCD,對CCD的輸出進行濾波的濾波器,依次與濾波器輸出端相連的計算機,計算機帶有接收和輸出數據的數據卡。
由前述可見本發明保留了傳統調制碼易于判斷接收碼元極性的優點,同時引入糾錯編碼技術,使它具有糾錯能力。譯碼時可以采用迭代譯碼算法,大大提高了糾錯能力。采用軟判決譯碼時,可以充分利用數據所包含的信息,即通過從調制碼獲得的信息,調整碼元的條件軟值,使輸出誤碼率進一步降低。
本發明所采用的軟判決度量的正負取值是通過充分利用本發明的碼字結構調制碼部分碼元是由等重碼碼字組成,從而利用一些邊界條件通過簡單的計算即可得到碼元的軟判決度量。可見在計算過程中繞過了信道統計信息的具體計算,但結果又能體現出信道的統計特性,所以相當于能動態的根據實際信道統計參數而自適應的修正計算參數,故本發明所述的軟判決度量能在信道的信噪比有起伏,并且噪聲參數難以統計的信道中使用,而且比較精確的反映碼元的極性和可信度。因此本發明中的新的軟判決度量不但適用于體全息存儲系統,它還可以在信道的信噪比有起伏,并且能在噪聲參數難以統計的通信信道中使用。
圖1A根據本發明所提出的編碼方法的原理框圖,1、存儲數據,2、等重碼編碼器,3、系統糾錯碼編碼器,4、編碼數據;圖1B傳統級聯碼的原理框圖,5、第一糾錯碼編碼器,6、第二糾錯碼編碼器;圖1C根據本發明所提出的編碼的碼元結構圖,7、調制碼部分,8、校驗元部分;圖2體全息存儲系統方框圖,9、數據源,10、空間光調制器,11、存儲晶體,12、CCD,13、濾波器,14、輸出數據,15、計算機,24、數據卡,A、編碼,B、譯碼;圖3本發明的編碼裝置的裝置圖,16、6∶8等重碼編碼器,17、緩存,18、(9,8)奇偶校驗碼編碼器,19、改進型陣列碼編碼器;圖4本發明的編碼過程的精簡編碼示意圖,C、原始數據,D、調制碼,E、調制—陣列碼;圖5譯碼裝置原理方框圖,20、接收數據,21、軟判決度量計算器,22、軟判決度量修正器,23、迭代譯碼及碼元判決器;圖6體全息存儲系統中實現譯碼過程的裝置圖;圖7譯碼的主程序流程圖;圖8譯碼子程序流程圖;圖9軟判決度量計算子程序流程圖;圖10調制碼部分軟判決度量初步計算子程序流程圖;圖11校驗元部分軟判決度量計算子程序流程圖;圖12調制碼部分碼元軟判決度量第一步修正子程序流程圖;圖13調制碼部分碼元軟判決度量第二步修正子程序流程圖;圖14調制碼部分碼元軟判決度量第三步修正子程序流程圖;圖15按start,end修正子程序流程圖;
圖16初步的實驗結果圖,G、輸入采用全局最佳閾值量化后的原始誤碼率,F、譯碼后的輸出誤碼率,R1、采用8×10調制—陣列碼的結果,R2、1∶2調制碼的結果,R3、6∶8調制碼的結果,R4、采用全局最佳閾值所得結果。
表1原始數據;表26∶8等重碼編碼后的數據;表3表2數據進行糾錯編碼后數據,也就是表1數據調制—陣列碼編碼后的數據;表4接收數據;表5碼元排序后數據(碼元末尾的數字表示碼元在碼字中由大到小的順序,例-0表示最大,-1表示第二大,-7表示最小);表6軟判決度量初步計算結果(由表5可得出閾值為134);表7調制碼部分碼元軟判決度量第一步修正后的結果;表8調制碼部分碼元軟判決度量第二步修正后的結果;表9調制碼部分碼元軟判決度量第三步修正后的結果;表10迭代譯碼后結果;表11碼元判決輸出結果。
現結合實施例對本發明所提出的方法和裝置作詳盡描繪。
采用前述的本發明的技術方案設計。其中編碼裝置的裝置圖請見圖3,等重碼采用6∶8等重碼,這種編碼器是市售的。系統糾錯碼采用由兩個(9,8)奇偶校驗碼組成的改進型陣列碼,這種編碼器采用DSP芯片按圖1C的編碼結構設計實現,DSP也是市售的。
為了便于清晰描述編碼過程,精簡編碼如圖4所示,其中等重碼選擇2∶4等重碼。奇偶校驗碼為(5,4)碼。
譯碼裝置原理方框圖請見圖5。圖6是在體全息存儲系統中實現譯碼過程的裝置圖。其中數據卡主要完成數據對計算機的輸入輸出,沒有太高要求,是市售的。計算機用的是PIII800的微型計算機。
本譯碼方法的全部實施過程見圖6~圖15。
譯碼的主要過程由計算機軟件實現,其實現的主程序流程圖如6所示。其中測量到的碼元幅度值為y,其最大值是Max,最小值是0。
下面結合表1-表11詳細描述一組數據的具體編、譯碼過程。
編碼過程表1是原始數據,經6∶8等重碼編碼后得到表2結果。例如表1的第一列數據{1,1,0,0,1,1}編碼成表2的第一列數據{1,1,0,0,1,1,0,0}。表3是表1最終調制—陣列碼編碼結果。例如第一行的第九列的元素,對應圖1C中的h(1),h(1)=100000001,所以h(1)=0。
譯碼過程表4是送到譯碼器要進行譯碼的接收數據,是一個調制—陣列碼碼字。最大值是255,最小值是0。表5是調制碼部分碼元以6∶8等重碼碼字為單位進行排序,末尾的數字表示碼元在碼字中由大到小的順序,例第一列碼元排序后幅度大小依次為162,149,135,107,55,0,0,0,所以表5第一列為{162-0,135-2,0-5,55-4,107-3,149-1,0-6,0-7}。同時可由每列的-3和-4元素{(107,55),(173,162),(155,79),(224,52),(255,88),(223,55),(255,77),(169,66)}得出閾值為134。表6是軟判決度量初步計算結果,例如第一列,由圖10可知表5的162-0和55-4分別計算出表6的162-0和-(255-55)-4,第九列,由圖11可知表5的83和199分別計算出表6的-(255-83)和199。表7是調制碼部分碼元軟判決度量第一步修正后的結果,如第一列,由圖12可知表6的162-0和-200-4修正為162-0和-320-4。表8是調制碼部分碼元軟判決度量第二步修正后的結果,如第一列,由圖13可知表7的171-3和-320-4修正為171-3和-171-4。表9是調制碼部分碼元軟判決度量第三步修正后的結果,如第一列,由圖14可知start=5和end=7,圖15可知表8的-357-5,-306-6和-255-7修正為-255-5,-255-6-0和-255-7。表10是迭代譯碼后結果,表11是碼元判決輸出結果。
表1
表2
表3
表4
表5
表6
表7
表8
表9
表10
表11
由圖16初步的實驗結果可以表明只要原始誤碼率(定義為采用全局最佳閾值量化后的誤碼率)低于4×10-2,8×10調制—陣列碼的使用效果就可與1∶2調制碼(二者碼率相當)的使用效果相當;當原始誤碼率低于1×10-2后,其使用效果顯著優于1∶2調制碼。所以本發明所提出的方法及裝置達到了預期目的。
權利要求
1.一種體全息存儲器用的調制——陣列碼的編碼方法,含有調制編碼方法和糾錯編碼方法,其特征在于,它由以下步驟順次組成1)使存儲數據通過等重碼編碼器進行等重碼編碼;2)以等重碼作為輸入通過糾錯碼編碼器進行糾錯碼編碼,采用的糾錯碼是系統碼;3)編碼后的碼元結構從左到右依次由調制碼部分和校驗元部分組成,其中,左邊調制碼部分為k×k個碼元,從左到右為{x(1,1),x(1,2),...x(1,k)},...{x(k,1),x(k,2),...x(k,k)}是k個nk調制碼碼字按順序排列。右邊校驗元部分k×2個碼元,其中h(1),h(2),...h(k-1),h(k)與左邊碼的關系為h(i)=x(1,i)x(2,i)...x(k-1,i)x(k,i)1 i=1,2,...k-1,k,d(1),d(2),...d(k-1),d(k),與左邊碼的關系為d(i)=f(1,i)f(2,i)...f(k-1,i)f(k,i)1 i=1,2,...k-1,k,f(j,i)=x(j,((i+j-2)mod k)+1) j=1,2,...k-1,k。
2.根據權利要求1所述的體全息存儲器用的調制——陣列碼的編碼方法,其特征在于在常規的編碼器中所述的等重碼采用6∶8等重碼。
3.根據權利要求1所述的體全息存儲器用的調制——陣列碼的編碼方法,其特征在于采用了DSP芯片設計成本發明所述編碼結構編碼器,所述的糾錯碼采用由兩個(9,8)奇偶校驗碼組成的改進型陣列碼。
4.根據權利要求1所述的體全息存儲器用的調制——陣列碼的編碼方法而設計的編碼系統,其特征在于它含有向6∶8等重碼編碼器提供存儲數據的數據源,向系統糾錯碼編碼器提供編碼數據的6∶8等重碼編碼器,向空間光調制器提供編碼數據的系統糾錯碼編碼器,向存儲晶體提供調制后的編碼數據的空間光調制器以及存儲晶體。
5.一種體全息存儲器用的調制——陣列碼的譯碼方法,含有軟判決度量算法,其特征在于它由以下步驟依次構成1)從存儲晶體來的數據讀入數據卡;2)計算機從數據卡讀一個碼字;3)進入譯碼子程序;4)把碼字中的調制碼部分的碼元以等重碼碼字為單位按接受到的幅度從大到小排序,統計全局判別閾值;5)進入軟判決度量計算子程序首先分成兩部分碼元分別計算,其中調制碼部分碼元進入調制碼部分軟判決度量初步計算子程序,校驗元部分碼元進入校驗元部分軟判決度量計算子程序,二者計算結束后進入調制碼部分碼元軟判決度量修正子程序;6)5)中所提到的調制碼部分軟判決度量初步計算子程序,其中初步計算公式為S(u|y)=c×|b+d×y|式中c代表將碼元判決為0或1時的正負極性信息,d和b代表信道的各種復雜信息,設接收數據經整理后最大值是Max,最小值是0,則邊界條件為判定u=1時,若y=0則判定的可信度最小,|S(u|y)|=0,若y=Max則判定的可信度最大,|S(u|y)|=Max,判定u=0時,若y=0則判定的可信度最大,|S(u|y)|=Max,若y=Max則判定的可信度最小,|S(u|y)|=0,得出 式中c1、c0表示碼元取1和0時S(u|y)的極性,其中c1×c0=-1;7)5)所提到的校驗元部分軟判決度量計算子程序,其中閾值是4)中所提到的全局判決閾值,在調制碼部分碼元排序過程中,取出每一個等重碼碼字中的第m1和(m1-1)個碼元的幅度值,尋找到令這些碼元判別后誤碼最小的閾值,這就是統計出的調制碼部分碼元的最佳全局閾值,將其近似成校驗元部分碼元的判決閾值,于是校驗元部分軟判決度量計算公式為 8)5)中所提到的調制碼部分碼元軟判決度量修正子程序至少分三步進行,其中首先進入調制碼部分碼元的軟判決度量第一步修正子程序,依次依據調制碼字中排序后的位置進行修正 其中f(y,n)=y×g(n)n是碼元在調制碼字中排序后的位置,n=0,1,2,...,k-1,接著進入調制碼部分碼元軟判決度量第二步修正子程序,依據碼元的誤碼概率予以修正Sm1-1(u|y)=c1×min(|Sm1-1(u|y)|,|Sm1(u|y)|)Sm1(u|y)=c0×|Sm1-1(u|y)|式中m1表示調制碼碼字中1的個數,Sn(u|y)代表第n個碼元的軟判決度量,n是碼元在調制碼字中排序后的位置,n=0,1,2,...,k-1,然后進行調制碼部分碼元的軟判決度量第三步修正子程序,依據碼元的接收幅度值給予修正當第n,n+1,...,n+m個碼元的y值相同,而且這m+1個碼元極性相同,則Sn(u|y)=...=Sn+m(u|y)=sgn(Sn(u|y))×min(|Sn(u|y)|,...,|Sn+m(u|y)|)若m+1個碼元的極性不同,則Sn(u|y)=Sn+1(u|y)=...=Sn+m(u|y)=0從而得到調制碼部分碼元的條件軟判決度量值;9)進行碼字的迭代譯碼,其中軟判決度量的運算規則如下S(u1u2)≈sgn(S(u1|y1))×sgn(S(u2|y2))×min(|S(u1|y1)|,|S(u2|y2)|)式中sgn()是取符號函數,min()是求最小值函數;10)依據碼元的最終軟判決度量進行量化,其極性為c1的碼元為1,極性為c0的碼元為0,然后再對其進行等重碼譯碼,最后輸出譯碼后的判決結果數據;11)判決結束后經數據卡將判決輸出,得到存儲數據。
6.根據權利要求5的體全息存儲器用的調制——陣列碼的譯碼方法而設計的譯碼系統,其特征在于它包含存儲晶體,從存儲晶體掃描出接收數據的電荷耦合器件CCD,對CCD的輸出進行濾波的濾波器,依次與濾波器輸出端相連的計算機,計算機帶有接收和輸出數據的數據卡。
全文摘要
一種體全息存儲器用的調制——陣列碼的編、譯碼方法及系統屬體全息存儲領域。本發明的編碼方法是將調制編碼方法和糾錯編碼方法結合在一起的一種編碼方法。其編碼系統主要包括6∶8等重碼編碼器和系統糾錯碼編碼器。本發明的譯碼方法是建立在與碼元結構相適應的軟判決度量算法基礎之上,綜合調制碼探測、軟判決、陣列碼糾錯和Turbo碼譯碼原理,形成的一種迭代譯碼算法。其譯碼主要通過計算機軟件實現。其譯碼系統中包含有存儲晶體,從存儲晶體接收數據的CCD,對CCD的輸出進行濾波的濾波器,與濾波器輸出端相連的計算機,計算機帶有接收和輸出數據的數據卡。本發明能適應于信道的信噪比有起伏、噪聲參數難以統計的體全息存儲系統中。
文檔編號G11B20/18GK1356778SQ0113974
公開日2002年7月3日 申請日期2001年11月29日 優先權日2001年11月29日
發明者賈克斌, 敦書波, 陶世荃, 沈蘭蓀 申請人:北京工業大學