本發(fā)明涉及的是一種通信領(lǐng)域的技術(shù),具體是一種基于定時(shí)中斷的卷積編碼方法。
背景技術(shù):
1、卷積編碼是一種常用的信道編碼技術(shù),用以提高數(shù)據(jù)傳輸?shù)目煽啃?,廣泛應(yīng)用于各種通信系統(tǒng)中,如衛(wèi)星通信等,現(xiàn)有卷積編碼的缺陷和不足在于:現(xiàn)有的卷積編碼大多基于fpga實(shí)現(xiàn)。相較于微控制器實(shí)現(xiàn),其成本更高,功耗更高,且靈活性較差。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明針對(duì)現(xiàn)有技術(shù)存在的上述不足,提出一種基于定時(shí)中斷的卷積編碼方法,結(jié)合嵌入式系統(tǒng)中微控制器定時(shí)中斷的特性和卷積編碼的結(jié)構(gòu)與輸入輸出的特性,顯著節(jié)省內(nèi)存空間的同時(shí),提高運(yùn)行速度,適應(yīng)多種編碼速率,以及易于擴(kuò)展。
2、本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:
3、本發(fā)明涉及一種基于定時(shí)中斷的卷積編碼方法,根據(jù)卷積編碼方案設(shè)置環(huán)形數(shù)組和輸出緩存數(shù)組的長(zhǎng)度并進(jìn)行初始化,設(shè)定與輸出數(shù)據(jù)流的速率匹配的定時(shí)器中斷的頻率;在一輪中每次定時(shí)器中斷觸發(fā)時(shí),輸出卷積編碼的結(jié)果;當(dāng)一輪結(jié)束時(shí),通過位運(yùn)算對(duì)輸入編碼器的并行信息進(jìn)行并串轉(zhuǎn)換,將待編碼的信息比特輸入環(huán)形數(shù)組,并完成移位寄存器的移位過程;根據(jù)卷積編碼方案的編碼器連接矢量或生成多項(xiàng)式,對(duì)相應(yīng)位置的比特值進(jìn)行連續(xù)異或運(yùn)算后生成輸出比特。
4、所述的方法具體包括:
5、步驟1、初始化環(huán)形數(shù)組a、輸出緩存數(shù)組b和定時(shí)器中斷:根據(jù)卷積編碼方案(n,k,k),設(shè)定環(huán)形數(shù)組的長(zhǎng)度為k*k,輸出緩存數(shù)組的長(zhǎng)度為n,并初始化為全0;定義環(huán)形數(shù)組的頭p作為編碼器輸入位置,初始化為0。設(shè)定定時(shí)中斷的頻率,與輸出數(shù)據(jù)流的速率匹配。
6、步驟2、以定時(shí)器中斷被觸發(fā)n次為一輪,m表示定時(shí)器中斷在一輪中已被觸發(fā)的次數(shù),在每次定時(shí)器中斷觸發(fā)時(shí),輸出卷積編碼的結(jié)果b[m-1],當(dāng)m=n時(shí)執(zhí)行步驟3和步驟4以進(jìn)行下一輪編碼,否則跳過。
7、步驟3、通過位運(yùn)算完成并串轉(zhuǎn)換,向環(huán)形數(shù)組輸入k個(gè)待編碼的信息比特,并進(jìn)行移位寄存器的移位過程:將輸入的每個(gè)信息比特替換數(shù)組a在p位置的值a[p],并進(jìn)行指針移位,即使頭位置向后移動(dòng)一位,即p=(p+k*k-1)mod(k*k),重復(fù)k次以輸入k個(gè)待編碼的信息比特。
8、步驟4、根據(jù)卷積編碼方案的編碼器連接矢量或生成多項(xiàng)式,對(duì)相應(yīng)位置的比特值進(jìn)行連續(xù)異或運(yùn)算來實(shí)現(xiàn)模2加法,并生成n個(gè)輸出比特,儲(chǔ)存在輸出緩存數(shù)組b[0]~b[n-1]中。
9、本發(fā)明涉及一種實(shí)現(xiàn)上述方法的系統(tǒng),包括:初始化單元、卷積控制單元、移位單元、編碼單元和輸出單元,其中:初始化單元根據(jù)卷積編碼方案(n,k,k)信息,初始化環(huán)形數(shù)組a、輸出緩存數(shù)組b和定時(shí)器中斷處理,得到長(zhǎng)度為k*k的環(huán)形數(shù)組,長(zhǎng)度為n的輸出緩存數(shù)組,定義環(huán)形數(shù)組的頭p作為編碼器輸入位置并將定時(shí)中斷的頻率設(shè)置為與輸入輸出數(shù)據(jù)流的速率匹配;卷積控制單元對(duì)定時(shí)器中斷觸發(fā)次數(shù)進(jìn)行統(tǒng)計(jì),并控制卷積編碼器在適當(dāng)?shù)挠|發(fā)輪次內(nèi)進(jìn)行編碼或輸出;移位單元根據(jù)輸入信息以及卷積控制單元的控制,在定時(shí)器中斷滿足在m=n時(shí)觸發(fā)輪次進(jìn)行位運(yùn)算完成并串轉(zhuǎn)換,向環(huán)形數(shù)組輸入k個(gè)待編碼的信息比特,并完成移位寄存器的移位過程;編碼單元根據(jù)卷積編碼方案的編碼器連接矢量或生成多項(xiàng)式信息以及卷積控制單元的控制,在m=n時(shí)觸發(fā)輪次進(jìn)行對(duì)相應(yīng)位置的比特值進(jìn)行連續(xù)異或運(yùn)算來實(shí)現(xiàn)模2加法,并生成n個(gè)輸出比特,儲(chǔ)存在輸出緩存數(shù)組b[0]~b[n-1]中,得到輸出比特結(jié)果;輸出單元根據(jù)輸出緩存數(shù)組b[0]~b[n-1]以及b單元的控制,在每一次定時(shí)器中斷觸發(fā)時(shí)進(jìn)行輸出。
10、技術(shù)效果
11、與現(xiàn)有技術(shù)相比,本發(fā)明占用更少的緩存空間:僅儲(chǔ)存編碼輸出數(shù)據(jù)流中的一組,節(jié)省了內(nèi)存空間。提高了運(yùn)行速度:使用環(huán)形數(shù)組模擬線性移位寄存器,通過位運(yùn)算完成了并串轉(zhuǎn)換,減少了編碼過程中的指令數(shù),提高了運(yùn)行速度。適應(yīng)多種編碼速率:通過調(diào)整定時(shí)中斷頻率和環(huán)形數(shù)組的長(zhǎng)度,可以匹配與適應(yīng)不同的編碼速率。易于擴(kuò)展:支持加入多種塊編碼(并串轉(zhuǎn)換前)與串行編碼(并串轉(zhuǎn)換后),如rs編碼、crc、偽隨機(jī)化和nrz-m變換等。
1.一種基于定時(shí)中斷的卷積編碼方法,其特征在于,根據(jù)卷積編碼方案設(shè)置環(huán)形數(shù)組和輸出緩存數(shù)組的長(zhǎng)度并進(jìn)行初始化,設(shè)定與輸出數(shù)據(jù)流的速率匹配的定時(shí)器中斷的頻率;在一輪中每次定時(shí)器中斷觸發(fā)時(shí),輸出卷積編碼的結(jié)果;當(dāng)一輪結(jié)束時(shí),通過位運(yùn)算對(duì)輸入編碼器的并行信息進(jìn)行并串轉(zhuǎn)換,將待編碼的信息比特輸入環(huán)形數(shù)組,并完成移位寄存器的移位過程;根據(jù)卷積編碼方案的編碼器連接矢量或生成多項(xiàng)式,對(duì)相應(yīng)位置的比特值進(jìn)行連續(xù)異或運(yùn)算后生成輸出比特。
2.根據(jù)權(quán)利要求1所述的基于定時(shí)中斷的卷積編碼方法,其特征是,所述的初始化是指:初始化環(huán)形數(shù)組a、輸出緩存數(shù)組b和定時(shí)器中斷:根據(jù)卷積編碼方案(n,k,k),設(shè)定環(huán)形數(shù)組的長(zhǎng)度為k*k,輸出緩存數(shù)組的長(zhǎng)度為n,并初始化為全0;定義環(huán)形數(shù)組的頭p作為編碼器輸入位置,初始化為0,設(shè)定定時(shí)中斷的頻率,與輸出數(shù)據(jù)流的速率匹配。
3.根據(jù)權(quán)利要求1所述的基于定時(shí)中斷的卷積編碼方法,其特征是,所述的中斷觸發(fā)是指:以定時(shí)器中斷被觸發(fā)n次為一輪,m表示定時(shí)器中斷在一輪中已被觸發(fā)的次數(shù),在每次定時(shí)器中斷觸發(fā)時(shí),輸出卷積編碼的結(jié)果b[m-1],當(dāng)m=n時(shí)進(jìn)行并串轉(zhuǎn)換和移位過程并進(jìn)行模2加法后輸出計(jì)算結(jié)果。
4.根據(jù)權(quán)利要求3所述的基于定時(shí)中斷的卷積編碼方法,其特征是,所述的并串轉(zhuǎn)換和移位過程是指:通過位運(yùn)算完成并串轉(zhuǎn)換,向環(huán)形數(shù)組輸入k個(gè)待編碼的信息比特,并進(jìn)行移位寄存器的移位過程:將輸入的每個(gè)信息比特替換數(shù)組a在p位置的值a[p],并進(jìn)行指針移位,即使頭位置向后移動(dòng)一位,即p=(p+k*k-1)mod(k*k),重復(fù)k次以輸入k個(gè)待編碼的信息比特。
5.根據(jù)權(quán)利要求3所述的基于定時(shí)中斷的卷積編碼方法,其特征是,所述的模2加法,根據(jù)卷積編碼方案的編碼器連接矢量或生成多項(xiàng)式,對(duì)相應(yīng)位置的比特值進(jìn)行連續(xù)異或運(yùn)算來實(shí)現(xiàn)模2加法,并生成n個(gè)輸出比特,儲(chǔ)存在輸出緩存數(shù)組b[0]~b[n-1]中。
6.根據(jù)權(quán)利要求1-5中任一所述的基于定時(shí)中斷的卷積編碼方法,其特征是,具體包括:
7.一種實(shí)現(xiàn)權(quán)利要求1-6中任一所述方法的基于定時(shí)中斷的卷積編碼系統(tǒng),其特征在于,包括:初始化單元、卷積控制單元、移位單元、編碼單元和輸出單元,其中:初始化單元根據(jù)卷積編碼方案(n,k,k)信息,初始化環(huán)形數(shù)組a、輸出緩存數(shù)組b和定時(shí)器中斷處理,得到長(zhǎng)度為k*k的環(huán)形數(shù)組,長(zhǎng)度為n的輸出緩存數(shù)組,定義環(huán)形數(shù)組的頭p作為編碼器輸入位置并將定時(shí)中斷的頻率設(shè)置為與輸入輸出數(shù)據(jù)流的速率匹配;卷積控制單元對(duì)定時(shí)器中斷觸發(fā)次數(shù)進(jìn)行統(tǒng)計(jì),并控制卷積編碼器在適當(dāng)?shù)挠|發(fā)輪次內(nèi)進(jìn)行編碼或輸出;移位單元根據(jù)輸入信息以及卷積控制單元的控制,在定時(shí)器中斷滿足在m=n時(shí)觸發(fā)輪次進(jìn)行位運(yùn)算完成并串轉(zhuǎn)換,向環(huán)形數(shù)組輸入k個(gè)待編碼的信息比特,并完成移位寄存器的移位過程;編碼單元根據(jù)卷積編碼方案的編碼器連接矢量或生成多項(xiàng)式信息以及卷積控制單元的控制,在m=n時(shí)觸發(fā)輪次進(jìn)行對(duì)相應(yīng)位置的比特值進(jìn)行連續(xù)異或運(yùn)算來實(shí)現(xiàn)模2加法,并生成n個(gè)輸出比特,儲(chǔ)存在輸出緩存數(shù)組b[0]~b[n-1]中,得到輸出比特結(jié)果;輸出單元根據(jù)輸出緩存數(shù)組b[0]~b[n-1]以及b單元的控制,在每一次定時(shí)器中斷觸發(fā)時(shí)進(jìn)行輸出。