求viterbi decoding的matlab,
- 提问者网友:寂寞撕碎了回忆
- 2021-03-23 03:02
- 五星知识达人网友:人间朝暮
- 2021-03-23 03:51
打字中,等下 再答: function out = sovadec( msg, llr, trl, win )
% SOVADEC is an implementation of the soft input soft output Viterbi
% algorithm. The algorithm can be called using
% DEC = SOVADEC( MSG, LLR, TRELLIS, WIN )
% where MSG is the soft input (codeword), LLR is a priori information
% per bit about the bits (log likelihood ratios), TRELLIS is the
% trellis structure describing the convolutional encoder used to
% encode the original information message.
%
% The output of the function is the vector containing the soft
% estimates of the originally encoded information. The implementation
% is able to perform decoding using any trellis structure compatibile
% with the standard Matlab POLY2TRELLIS function.
%
% WIN describes the size of the trellis buffer used to perform the
% Viterbi algorithm. Thus, the decoder estimates the best path through
% the trellis and searches back within this buffer at every decoding
% time instant.
% If WIN is omitted, the trellis of length N+1 (where N is the size
% of the decoded message) is used.
%
% For the estimation of the reliability information only the second
% best path (competitor) is used, even if there are more than two
% paths merging at a particular state.
%
% The output of the decoding algorithm is of the following form
% out = sign(inp) * log( P(inp=1|out) ) / log( P(inp=-1|out) )
%
% See also: POLY2TRELLIS, CONVENCO, VITDEC
%% (c) 2003 Adrian Bohdanowicz
%% $Id: sovadec.m,v 1.16 2003/06/15 14:57:29 adrian Exp $
enc = trellis2enc( trl );
if( enc.k == 1 )
out = sovadec_1N( msg, llr, trl, win ); % use 1/N optimized code (2x faster)
else
out = sovadec_KN( msg, llr, trl, win ); % uset K/N generic code
end
return;
function enc = trellis2enc( trl ),
% put the trellis structure into a more user friendly manner
enc.k = log2( trl.numInputSymbols ); % number of inputs
enc.n = l
再问: 大神,有QQ或者微信没有?交个朋友,多多交流
再答: 有QQ
再问: 我们加个QQ吧,240586862,帮帮我以后在viterbi的问题吧,我可以把我的所有金币都给你,太需要你的帮助了