Simulating noise in OFDM I'd like to simulate a certain $E_s/N_0$ in a baseband OFDM MATLAB modem to generate SER curves.

I randomize 50 QAM symbols with $N$ subcarriers each in frequency domain, add null frequencies (guard bands) to each symbol, perform IFFT and then add CP. Then I convolve the "time domain" symbols with a certain channel with taps of my choice and then I want to add noise, but I'm not sure about how to normalize it so that I obtain the correct SNR as generally reported in theoretical curves.

I get funky results with just MATLAB's agwn function with the measured flag.
In theory, all you'd need to do is add Gaussian noise of the appropriate variance. Without seeing your code and without knowing what "funky" means, I would check for:


when you do the convolution, scale the result by $\Delta t$, the time differential
make sure the FFT scaling that Matlab performs is not throwing you off


One thing you can do, which is simple but not very elegant, is to add the noise to each symbol after the FFT in the receiver, but before running any decision rule on them. You can simply add one sample of complex noise of variance $N_0$ to each symbol; since you control their average energy, you can get any SNR you want.