Help getting accurate AWGN SNR values


I have been trying to create a simulation with some basic PSK signals at varying SNR values by separately generating a signal and gaussian noise and adding them together. I am however having an issue at lower SNR’s where my measured SNR does not match what I observe in the waterfall or FFT. For example, when I have a signal power ratio of 0db, I can still see my signal several db above the noise floor. I used the gnuradio noise power example to setup my power measurements and noise generation, and it is fairly accurate until I get close to the noise floor. The specific issue seems to be that for some reason the amplitude of the noise also changes the peak amplitude of my psk signal. You can observe this in the following images where all I change is the noise power, yet the peak of my signal also moves. Data 0: is the spectral signal power, Data 1: is the spectral noise power, and Data 2: is the SNR or ratio of the signal and noise powers.
Top Left

Here is the same signal with a lower noise power. Note how the peak is ~4dB lower even though signal power is unchanged.
Top Middle

Here is a reference shot of a 10dB SNR signal to show that my measurements do work.

And here is my flowgraph for reference.

Here is the actual image, I had to composite since I can only post one image.

I would really appreciate any help with this. I feel I must be making a simple mistake somewhere since this is such an elementary task. As a note I have tried using the different channel model blocks, and different noise distributions which all had the same issue for me. Thanks in advance.

Vlad F,