DSPRelated.com
Forums

awgn SNR in ofdm, sampling clock offset estimation

Started by dcs September 9, 2015
Hi all,

Could anyone help me understand some dsp things...

1) I'm trying to simulate LTE downlink channel. I use matlab lte toolbox.
Everythings works fine in the absense of noise. Now I want to add some
AWGN into my
model. So the question is what are the typical values of SNR in dB for
OFDM?

for example SNR = 20dB is it low or high? Any links to read  about this
issue?

2) How to add frequency offset to my ideal signal (due to tx/rx local
osscilator frequency (fLO) mismatch? What are the typical values of
mismatch in ppm? 20ppm is it normal or too much or too low?

for example: if on RX side I have  fLO=x Hz. and ppm = 20 (?)

then f_shift = fLO*ppm/1e6    ?

signal_Fshifted = signal_RX.*exp(f_shift) ?

3) How to detect sampling clock offset in OFDM? Any links?

Thanks in advance,
dcs


---------------------------------------
Posted through http://www.DSPRelated.com
On Wed, 09 Sep 2015 07:09:38 -0500, dcs wrote:

> Hi all, > > Could anyone help me understand some dsp things... > > 1) I'm trying to simulate LTE downlink channel. I use matlab lte > toolbox. > Everythings works fine in the absense of noise. Now I want to add some > AWGN into my model. So the question is what are the typical values of > SNR in dB for OFDM? > > for example SNR = 20dB is it low or high? Any links to read about this > issue?
I'm not an OFDM guy, but here are my attempts. I suspect you should just run out and buy a good OFDM book. For starters, though, SNR isn't a good way to measure signal vs. noise (really!) unless the noise bandwidth is specified somehow. A more usual measure is Eb/N0, but -- not being an OFDM guy -- I couldn't tell you if that's what the OFDM crowd uses. Furthermore, even if you do specify noise bandwidth (or use Eb/N0) what is a "good" SNR depends on your modulation method. For a noise bandwidth that's close to the signal bandwidth, 20dB SNR would be outstanding for 1- bit/symbol PCM, horrid for 8-bit/symbol PCM, and probably tolerable for 256-QAM.
> 2) How to add frequency offset to my ideal signal (due to tx/rx local > osscilator frequency (fLO) mismatch? What are the typical values of > mismatch in ppm? 20ppm is it normal or too much or too low? > > for example: if on RX side I have fLO=x Hz. and ppm = 20 (?) > > then f_shift = fLO*ppm/1e6 ? > > signal_Fshifted = signal_RX.*exp(f_shift) ?
To add frequency offset, move the center frequency! If you're working in baseband then your signal is represented as a vector of complex numbers -- just multiply it point-by-point with e^(j*omega*t), where j is sqrt (-1), omega is the radian frequency of your offset, and t is time. PPM of what? First, your demodulator doesn't care about mismatch in PPM of your local oscillator -- it's ability to match frequencies is going to be determined by the offset as a fraction of the symbol rate (or frame rate, or whatever OFDM uses). There is no "typical" number. Different services will make different tradeoffs between allowable frequency offset, transmitter complexity, and receiver complexity. These tradeoffs will ripple all the way up to the top-level signalling protocol (i.e., whether or not there are pilot tones, and how much of the bandwidth resource is devoted to them).
> 3) How to detect sampling clock offset in OFDM? Any links?
In general, for small clock offsets you do some sort of PLL-ish thing, where you detect deviations in phase from a known good reference. Some OFDM systems will use pilot tones, either in the message header, in the message body, or both. Some won't. Whether or not the pilot tones are there relates to the system complexity tradeoffs I mentioned. For links, I suggest you post _another_ message asking for book recommendations. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
>-- > >Tim Wescott >Wescott Design Services >http://www.wescottdesign.com
TW, thanks a lot. I have one more question regarding awgn function in matlab. For example I have a QPSK modulation and there is no FEC. As I undesrstand EsNo = EbNo + 10log(RM) where R is code rate (in my case it is 1 coz there is no FEC) and M=2 (2 bits per symbol). I want to set EbNo=6dB, so EsNo=6+10log(2*1)=6+3=9dB. but in matlab - the fucntion awgn takes SNR as input parameter. matlab documentation says that EsNo=10log(Tsym/Tsamp) + SNR, so SNR(dB) = EsNo(dB) - 10log(Tsym/Tsamp). Is that correct? --------------------------------------- Posted through http://www.DSPRelated.com
On Fri, 11 Sep 2015 02:33:17 -0500, "dcs" <102378@DSPRelated> wrote:

>>-- >> >>Tim Wescott >>Wescott Design Services >>http://www.wescottdesign.com > >TW, thanks a lot. > >I have one more question regarding awgn function in matlab. > >For example I have a QPSK modulation and there is no FEC. > >As I undesrstand EsNo = EbNo + 10log(RM) where R is code rate (in my case >it is 1 coz there is no FEC) and M=2 (2 bits per symbol). > >I want to set EbNo=6dB, so EsNo=6+10log(2*1)=6+3=9dB. > >but in matlab - the fucntion awgn takes SNR as input parameter. > >matlab documentation says that EsNo=10log(Tsym/Tsamp) + SNR, so > >SNR(dB) = EsNo(dB) - 10log(Tsym/Tsamp). > >Is that correct? >--------------------------------------- >Posted through http://www.DSPRelated.com
This may help: http://www.dsprelated.com/showarticle/168.php See Eq. 4 in particular. Tsym relates to Rsym, and Tsamp relates to BWn. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
On Fri, 11 Sep 2015 17:10:29 +0000, Eric Jacobsen wrote:

> On Fri, 11 Sep 2015 02:33:17 -0500, "dcs" <102378@DSPRelated> wrote: > >>>-- >>> >>>Tim Wescott Wescott Design Services http://www.wescottdesign.com >> >>TW, thanks a lot. >> >>I have one more question regarding awgn function in matlab. >> >>For example I have a QPSK modulation and there is no FEC. >> >>As I undesrstand EsNo = EbNo + 10log(RM) where R is code rate (in my >>case it is 1 coz there is no FEC) and M=2 (2 bits per symbol). >> >>I want to set EbNo=6dB, so EsNo=6+10log(2*1)=6+3=9dB. >> >>but in matlab - the fucntion awgn takes SNR as input parameter. >> >>matlab documentation says that EsNo=10log(Tsym/Tsamp) + SNR, so >> >>SNR(dB) = EsNo(dB) - 10log(Tsym/Tsamp). >> >>Is that correct? >>--------------------------------------- >>Posted through http://www.DSPRelated.com > > > This may help: > > http://www.dsprelated.com/showarticle/168.php > > See Eq. 4 in particular. Tsym relates to Rsym, and Tsamp relates to > BWn. > > > Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
Eric, could you go over my original response in this thread and make sure I didn't say anything too monumentally stupid? I understand OFDM theory, but I'm not up on its practice at all. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
On Fri, 11 Sep 2015 13:37:28 -0500, Tim Wescott
<seemywebsite@myfooter.really> wrote:

>On Fri, 11 Sep 2015 17:10:29 +0000, Eric Jacobsen wrote: > >> On Fri, 11 Sep 2015 02:33:17 -0500, "dcs" <102378@DSPRelated> wrote: >> >>>>-- >>>> >>>>Tim Wescott Wescott Design Services http://www.wescottdesign.com >>> >>>TW, thanks a lot. >>> >>>I have one more question regarding awgn function in matlab. >>> >>>For example I have a QPSK modulation and there is no FEC. >>> >>>As I undesrstand EsNo = EbNo + 10log(RM) where R is code rate (in my >>>case it is 1 coz there is no FEC) and M=2 (2 bits per symbol). >>> >>>I want to set EbNo=6dB, so EsNo=6+10log(2*1)=6+3=9dB. >>> >>>but in matlab - the fucntion awgn takes SNR as input parameter. >>> >>>matlab documentation says that EsNo=10log(Tsym/Tsamp) + SNR, so >>> >>>SNR(dB) = EsNo(dB) - 10log(Tsym/Tsamp). >>> >>>Is that correct? >>>--------------------------------------- >>>Posted through http://www.DSPRelated.com >> >> >> This may help: >> >> http://www.dsprelated.com/showarticle/168.php >> >> See Eq. 4 in particular. Tsym relates to Rsym, and Tsamp relates to >> BWn. >> >> >> Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com > >Eric, could you go over my original response in this thread and make sure >I didn't say anything too monumentally stupid? > >I understand OFDM theory, but I'm not up on its practice at all.
I didn't see anything worth remarking about. And to clarify, the stuff I wrote in the previous post and the linked article are written with single-carrier systems in mind. Nevertheless, in very general terms the same ideas apply to OFDM. Where it gets tricky in OFDM is accounting for the power in the pilots and cyclic prefix. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com