# Discussion of simulation results of a signal sequence: amplitude

I need your help in understanding if the simulation result is correct.

I have simulated a random BPSK sequence that was upsampled and filtered with a raised cosine filter. The length of the filter is 150 taps, sampling frequency 16, cut-off frequency 0.5 and transition bandwidth is 0.2. The noise was simulated with EbN0 = 10 with the following noise power:

SignalEnergy = (trapz(abs(filtered_signal_tx).^2))*(1/Fs);
Eb = SignalEnergy/(2*Nb);
N0 = Eb./(10.^(EbN0/10));
NoisePower = 2*N0*Fs;


The signal has a phase offset(shift): exp(1j*(2*pi*t+phase_offset));

As a result, I have got a signal, which has a small amplitude. It is less than 0.08...

I don't know if it is wrong or correct?!

What do you think? • Oversampling means adding a sample between zero samples, so the result is less amplitude. If your oversampling is 16, then 1/16=0.0625, which is about what I see there. You need to compensate with gain. Mar 2 at 18:26
• @aconcernedcitizen how to compensate? What do you mean? Mar 3 at 7:11
• If you're losing gain due to oversampling, then you need to add gain to compensate. You need to se the gain proportional to the oversampling rate. Mar 3 at 10:30
• @aconcernedcitizen can i normalise the filtered signal 'filtered_signal = filtered_signal * 10' Mar 9 at 15:40

Phase offset and time delay (time offset) are NOT the same and I think this may be a primary source of confusion (Given the OP's other recent posts dealing only with time offset but here the formula used introduces a carrier phase offset). Hopefully the following diagrams help distinguish the two.

No Time or Phase Error

Below is the constellation diagram and eye diagram for the (raised cosine) QPSK waveform in the receiver after the matched filter, with no phase or time offset and showing the decision locations in red: The eye diagram for the real component of the signal is shown below and should be clear that the imaginary component would look identical:

The blue circles are samples with 4 samples per symbol, one of which is at the ideal sampling location (at sample number 3 and 7 specifically; this eye diagram spans over two symbols). TIME OFFSET

Next a small time offset (timing error) of about 1/3 of a sample is introduced to show the effect of time offset alone.  PHASE OFFSET

With the time offset back to 0, a phase offset of $$\pi/10$$ is introduced showing it's effect on the constellation and eye diagram.  Conclusion

Phase Offset and Time Offset are two different parameters that each independently need to be corrected (one can exist without the other). Further, phase offset is typically changing with time, which specifically then when changing at a linear rate is a static carrier offset since frequency is the derivative of phase with time, and is corrected with a carrier recovery loop (while time offset is corrected with a timing recovery loop).

• how did you design the (raised cosine) QPSK waveform in the receiver ? Did you gengerate random sequence of 0 or 1 ( 1 or -1), modulate them, upsample, filter and then add phase offset? How does your implementation look? Mar 9 at 15:43
• @Ali23 I generate them in Python the way you described— zero insert and the RRC filter is the interpolation filter. Mar 9 at 17:15