Coding of 8psk signal in GNU radio and its decoding in Matlab

I record an 8PSK signal using the following scheme (1):


After that, I open the recorded signals in Matlab and add them (signal = re + 1i*Im):
After that, I demodulate.The original signal differs from the demodulated one. For demod i use comm.PSKDemodulator (8, ‘BitOutput’,true)
If I decode the signal in GNU radio, then the signals are the same.

Can you explain what the problem is and correct me?