function Dec_Channel = Macro_SCoMDP_Decoder(u,n,M,T,Channel)
Shift = M*T;
Conc_Channel = [zeros(1,Shift) Channel zeros(1,Shift)];
n_Stream = Conc_Channel;
u_Stream = Conc_Channel;

p_Available = 0;

for index = Shift+1:length(Conc_Channel);
    if Conc_Channel(index) == 0;
        if n_Stream(1:index) == 0;
        else
            if u_Stream(index-Shift) == 0;
                p_Available = p_Available + u;
            end
        end
    end
    if p_Available >= n*sum(n_Stream(1:index));
        n_Stream(1:index) = 0;
        u_Stream(index-M*T) = 0;
    end
end
Dec_Channel = double(or(u_Stream,n_Stream));
Dec_Channel = Dec_Channel(Shift+1:length(Conc_Channel)-Shift);