This is an example of using gr-trellis in grc. Two users are transmitting simultaneously using convolutionally encoded QPSK, each with power P1=alpha*P and P2=(1-alpha)*P. The combined signal is observed in noise and four different receivers are considered: 1) A viterbi decoder decoding user 1 assuming user 2 is noise 2) A viterbi decoder decoding user 2 assuming user 1 is noise 3) A viterbi decoder decoding user 1 first and then reencoding this signal, subtracting it from the observation and then running a Viterbi decoder decoding user 2 4) A viterbi decoder decoding user 2 first and then reencoding this signal, subtracting it from the observation and then running a Viterbi decoder decoding user 1 You can change the signal to noise ratio P/sigma^2 and the allocation of power to the two users, alpha. Enjoy.