91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-18
  • 語言: Matlab
  • 標簽:

資源簡介

這個是LT碼的MATLAB實現,作者把代碼寫的比較清楚,每個參數都有注釋,很容易理解

資源截圖

代碼片段和文件信息

function????output_data?=?LT_decode_(input_dataG_matrixlength_info)
%?*************************************************************************
%?Programmer:?chenjia
%?Date:?11/09/2010
%?Function?file:?LT_decode.m
%?Description:?完成對LT碼的譯碼過程
%?input?parameters:
%???input_data:?
%???????????????待譯碼的符號序列,1*N的向量
%???G_matrix:
%???????????????LT碼的編碼生成矩陣
%???length_info:
%???????????????信源比特信息的長度
%?output?parameters:
%???output_data:
%???????????????譯碼輸出的比特序列
%?usage:
%???????output_data?=?LT_decode_(input_dataG_matrixlength_info)
%?*************************************************************************

%?===========================?初始化處理?===================================
length_input?=?length(input_data);????????%?輸入數據的長度,即待譯碼數據的長度
length_output?=?length_info;??????????????%?譯碼輸出長度,即原始信息的長度,length((LT_gener_matrix(:1))‘);
%?--------------------------
%?定義四個數組
temp_decode?=?zeros(1length_info);???????%?記錄比特節點的當前值
temp_check?=?zeros(1length_input);???????%?記錄校驗節點的當前值
che2bit_info?=?zeros(1length_info);??????%?校驗節點傳遞給父節點的信息
bit2che_info?=?zeros(1length_input);?????%?比特節點傳遞給子節點的信息
%?---------------------------
temp_check?=?input_data;???????????????????%?初始化校驗節點信息
trans_matrix?=?G_matrix;????????????%?初始化信息傳遞矩陣,記錄每次更新后的tanner圖
%?=========================================================================

%?=============================?度操作?====================================
%?-----------------------------------
%?計算出每個編碼符號(校驗節點)的度數
for?i?=?1:length_input????????????????????%?初始化校驗節點的分配度數
????degree_checkbit(i)?=?length(find(trans_matrix(:i)));
end;????????%?找出生成矩陣中每一列的非零元素的個數,即為這一列對應的校驗符號的度
%?------------------------------------
locate_degree1?=?[];????????%?用于存儲度為1的校驗符號索引值
j?=?1;????????%?locate_degree1矩陣的索引指示
%?----------------------------------
%?統計度為1的校驗節點,并記錄其位置
for?i?=?1:length_input
????if?degree_checkbit(i)?==?1??????????????%?校驗節點i的度為1
????????locate_degree1(j)?=?i;??????????????%?記錄度數為1的校驗節點位置
????????j?=?j+1;
????end;????
end;????????????%?得知哪些校驗節點的度為1,并將它們存在locate_degree1中
%?------------------------------------
%?=========================================================================

%?==============================?譯碼?=====================================
%?具體的譯碼過程
%?---------------------------------------------
if?length(locate_degree1)?==?0????????????%?若無度數為1的校驗節點,則譯碼失敗
????output_data?=?zeros(1length_output);?%?譯碼失敗,輸出全0
????return;??????%?返回到函數的開始,重新觸發函數
%?---------------------------------------------????
else
????while?(locate_degree1?~=?0)???????????%?存在度為1的編碼符號
????????%?-----------------------------------------------------
????????%?找出度為1的校驗節點所對應的信源符號,并將與它相連的編碼符號的值賦給它
????????%?賦值:sj<=ti
????????for?i?=?1:length(locate_degree1)??????%?針對度數為1的校驗節點
????????????temp_vect_check(i)?=?find(trans_matrix(:locate_degree1(i)));??????????%?找到度為1的校驗節點對應的行標即找到與這個校驗節點相連的信源數據包
????????????????%?temp_vect_check:?存儲與locate_degree1中度為1的校驗節點所對應相連的信源數據包的索引值
??????

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????6077??2012-02-14?14:47??LT_decode_.m

?????文件???????7626??2012-02-14?14:45??LT_encode_.m

-----------?---------??----------?-----??----

????????????????13703????????????????????2


評論

共有 條評論

相關資源