this is a nice example of combining 2 FSMs to create a
bigger one that describes the overall system:
The DQPSK can be described as an FSM with inputs x and outputs y.
Both x,y are integers (not complex numbers).
Then the ISI channel can be thought of as another FSM with input
y and outputs z.
These 2 FSMs can be combined into a bigger one (more states)
with input x and output z (y has dissapeared from the description).
Then the output z is mapped to the actual waveform (or in the case of
DQPSK/ISI) the actual noiseless vector that is the combination of the
transmitted signal and ISI channel.
Regarding incorporating the known signals there are two issues:
The first 5 samples corresponding to the first 5 known signals can be
discarded since they do not carry any info for decoding (they will only
determine the starting state in the VA).
The last 5 signals are important and need to be processed as they carry
information about the info signals through the ISI tails. For this you
will either need to write your own “trellis_metrics_" function and use
the standard "trellis_viterbi_” block, or
change a bit the “trellis_viterbi_combined_**” block and in
particular the implementation of the “calc_metric” function.
I understand this is a high level description of what needs to be done,
but it seems you know the details.
If you need more help with the details let me know.