📄 st_trellis_dec_c.m
字号:
function outputs = ... st_trellis_dec_C(Data_received,ST_NextState,Output_mod_1, ... Output_mod_2,Lut_InfBits,... alpha_channel,fading_gains,TerminateF,NRx);%------------------------------------------------------------------------------% Decode received space-time trellis coded data matrix.%% Format:% -------%% outputs = ...% st_trellis_dec(Data_received,ST_NextState,ST_Output,Lut_InfBits,ModMap,...% alpha_channel,fading_gains,TerminateF,NRx)% % Author: MVe% Date: 27.08.2002%------------------------------------------------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- Initialisations -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Length of the received symbol/data vectorLData = length(Data_received);% Extract most used variables from struct 'Trellis'% n = size(ST_Output{1,1},2); % # of outputs/antennak_bits = log2(size(ST_NextState,2)); % # input bits to encoderm_bits = log2(size(ST_NextState,1)); % encoder memory (in bits)m = ceil(m_bits/k_bits); % encoder memory (in "symbols")number_of_states = size(ST_NextState,1);%% -- fading_gains = ('tx_antenna','time','rx_antenna') -- %%%% De-interleave data and fading (same interleaving assumed for all channels)Data_received(:,alpha_channel) = Data_received;fading_gains(:,alpha_channel) = fading_gains;%keyboardfinal_state_path = st_dec_CC(Data_received, ST_NextState, Output_mod_1,... Output_mod_2, fading_gains, m);%keyboard% Convert state path to info bit sequenceout_tmp = cell(1,length(final_state_path)-1);for i1 = 1:length(out_tmp) out_tmp(i1) = ... Lut_InfBits(final_state_path(i1),final_state_path(i1+1));end % for i1 = 1:2:length(Data_received)outputs = [out_tmp{:}];%keyboard% Remove tail bitsif TerminateF outputs = outputs(1:end-k_bits*(ceil(log2(number_of_states)/k_bits)));end % if TerminateF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -