2008年4月19日 星期六

使用C語言實現旋積碼的編解碼器

根據(n,k,m)=(2,1,2)可得知為2 output, 1 input , 2 memory
根據接線可得知
g(1)=101
g(2)=111
有接線為1 無則為0

下圖為Encoder for (2,1,2)convolutional code

根據上圖可求出下列狀態機

根據狀態機可求出格狀圖,裡面記載所有的輸入輸出資料


下圖為使用C語言撰寫encoder的流程圖



下圖為執行結果


下圖為Viterbi decoding 流程圖:



下圖為HDD流程圖:

下圖為手動運算的步驟:


由下圖可求出最小漢明距離,以及必須刪除的部份

下圖為最後的解碼結果

使用C語言執行後的結果如下:









沒有留言: