Turbo码编码举例计算
Turbo碼的結構與編碼
編碼器包含兩個并聯的遞歸系統卷積碼編碼器和一個交織器
兩個編碼器生成的校驗比特在刪除器中按一定規則進行刪除,最后和信息比特復用,得到編碼序列
Turbo編碼舉例
CDMA2000采用的成員編碼器是八狀態RSC編碼器:
在一開始計算時,由于遞歸的原因,輸出信息進入輸入,計算搞得一塌糊涂,以成員編碼器1為例,介紹一下我現在的想法:
假設輸入序列:
[1,0,1,0,0,1,0,0]\ [1,0,1,0,0,1,0,0]\,?[1,0,1,0,0,1,0,0]x(t)\ x(t) \,?x(t)即為輸入序列,所以
x(t)=[1,0,1,0,0,1,0,0]\ x(t)=[1,0,1,0,0,1,0,0]\,?x(t)=[1,0,1,0,0,1,0,0]對于y0(t)\ y_0(t) \,?y0?(t)
編碼器可簡化為如圖形式
- 橙線為反饋線路,輸入信號需要先于后兩位移位寄存器中的數據摩爾加后,才正常輸入。
- 綠線為正常卷積碼形式,可使用卷積碼的方式計算,但是由于反饋的存在,理論推導會比較麻煩。
通過橙線,1\ 1\,?1與[?、0、0]\ [*、0、0]\,?[?、0、0]摩爾加,得到1\ 1\,?1,則編碼器下一狀態為[1、0、0]\ [1、0、0]\,?[1、0、0]
1\ 1\,?1繼續通過綠線摩爾加,使用原狀態,即1\ 1\,?1與[0、?、0]\ [0、*、0]\,?[0、?、0]摩爾加,則輸出為1.
通過橙線,0\ 0\,?0與[?、0、0]\ [*、0、0]\,?[?、0、0]摩爾加,得到0\ 0\,?0,則編碼器下一狀態為[0、1、0]\ [0、1、0]\,?[0、1、0]
0\ 0\,?0繼續通過綠線摩爾加,使用原狀態,即0\ 0\,?0與[1、?、0]\ [1、*、0]\,?[1、?、0]摩爾加,則輸出為1.
通過橙線,1\ 1\,?1與[?、1、0]\ [*、1、0]\,?[?、1、0]摩爾加,得到0\ 0\,?0,則編碼器下一狀態為[0、0、1]\ [0、0、1]\,?[0、0、1]
反饋的體現
由于反饋,此時下一狀態不是卷積碼的[1、0、1]0\ 0\,?0繼續通過綠線摩爾加,使用原狀態,即0\ 0\,?0與[0、?、0]\ [0、*、0]\,?[0、?、0]摩爾加,則輸出為0.
5. 按照條件,繼續運算,得到y0(t)=[1、1、0、0、1、0、0、1]\ y_0(t)=[1、1、0、0、1、0、0、1]\,?y0?(t)=[1、1、0、0、1、0、0、1]
刪余
假設刪余碼如此工作:
| x(t)\ x(t)\,?x(t) | 00 |
| y0(t)\ y_0(t)\,?y0?(t) | 10 |
| y1(t)\ y_1(t)\,?y1?(t) | 00 |
0\ 0\,?0表示需要刪除,1\ 1\,?1保留
那y1(t)\ y_1(t)\,?y1?(t)的輸出我們可以不用計算,最終我們只保留y0(t)\ y_0(t)\,?y0?(t)的每2bit\ 2bit\,?2bit首位,
那最終輸出為[1、?、0、?、1、?、0]\ [1、*、0、*、1、*、0]\,?[1、?、0、?、1、?、0]
復用
成員編碼器2進行同樣的運算,
他的刪余方式為:
| x′(t)\ x'(t)\,?x′(t) | 00 |
| y0′(t)\ y'_0(t)\,?y0′?(t) | 01 |
| y1′(t)\ y'_1(t)\,?y1′?(t) | 00 |
成員編碼器2的輸入,是經過交織器形成的,這里認為輸入是:
[1、1、0、0、0、0、1、0]\ [1、1、0、0、0、0、1、0]\,?[1、1、0、0、0、0、1、0]
最終輸出為[?、0、?、0、?、0、?、0]\ [*、0、*、0、*、0、*、0]\,?[?、0、?、0、?、0、?、0]
即
復用后結果為
總結
以上是生活随笔為你收集整理的Turbo码编码举例计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业管理培训PPT模板
- 下一篇: turbo码