簡體   English   中英

使用 vitdec 在軟判決維特比解碼中進行去穿孔

[英]De-puncturing in soft-decision Viterbi decoding using vitdec

我正在使用 Matlab 實現一個通信系統,我之前使用convenc對二進制 stream 進行了打孔卷積編碼。 但是,我檢查了vitdec (Viterbi 解碼)的文檔,這就是我發現的。

decoded = vitdec(code,trellis,tblen,opmode,dectype)
decoded = vitdec(code,trellis,tblen,opmode,'soft',nsdec)
decoded = ... vitdec(code,trellis,tblen,opmode,dectype,puncpat)
decoded = ... vitdec(code,trellis,tblen,opmode,dectype,puncpat,eraspat)
decoded = ... vitdec(...,'cont',...,initmetric,initstates,initinputs) 
[decoded,finalmetric,finalstates,finalinputs] = ... vitdec(...,'cont',...)

對於第二個 function 定義(帶軟解碼),穿孔模式向量沒有參數。 我怎么go一下這個?

以下 function 未在文檔中列出,但我試過了並且有效:

decoded = vitdec(code,trellis,tblen,opmode,'soft',nsdec,puncpat)

確保您了解現在code變量中的元素需要介於02^nsdec-1之間,而不是像硬決策模式那樣的01

根據 MA​​TLAB 文檔 ( https://www.mathworks.com/help/comm/ref/vitdec.html )

decoded = ... vitdec(code,trellis,tblen,opmode,dectype,puncpat)

dectype 指示解碼器做出的決策類型,並影響解碼器在代碼中期望的數據類型。

dectype 的選擇之一是“軟”。 似乎您只是在 puncpat 中放入了與 convenc 完全相同的穿孔模式。

假設code1是您的代碼,您可以使用此命令:

% trellis = poly2trellis(L, [n1 n2]); n1 and n2 is polynome order
% tbln = 1
c = vitdec(code1, trellis, tbln, 'trunc', 'hard')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM