Hi, IS there anyone is the group who can provide me some material that talks about SNR estimation in QPSK, 16QAM modems in MATLAB. I am implementing a modem in MATLAB and want to make it SNR dependent. Any help regarding the same will be really helpful. Thanks, Sandy
SNR estimation in QPSK or 16QAM modem
Started by ●April 5, 2006
Reply by ●April 5, 20062006-04-05
Are you using Simulink? (I have just attended a course on Matlab's Simulink. It is quite powerful for creating BER vs SNR graphs, given that you use the standard modulators and demodulators) Do you want to get the theoretical performance (BER versus SNR) of the systems (16QAM and QPSK)? I used a book by Proakis to get the theoretical BER vs SNR for MFSK. Most likely the book will also treat QAM and QPSK. Kind Regards, Jaco
Reply by ●April 5, 20062006-04-05
"sandy_s157" <sandy_s157@yahoo.com> writes:> Hi, > > IS there anyone is the group who can provide me some material that talks > about SNR estimation in QPSK, 16QAM modems in MATLAB. I am implementing a > modem in MATLAB and want to make it SNR dependent. Any help regarding the > same will be really helpful.This is a fundamental concept in digital communication and would be covered in any book on the topic, such as @BOOK{proakiscomm, title = "{Digital Communications}", author = "John~G.~Proakis", publisher = "McGraw-Hill", edition = "fourth", year = "2001"} @BOOK{couch, title = "{Digital and Analog Communication Systems}", author = "{Leon~W.~Couch}", publisher = "Prentice Hall", edition = "fifth", year = "1993"} @BOOK{leeandmesserschmitt, title = "{Digital Communication}", author = "{Edwared~A.~Lee, David~G.~Messerschmitt}", publisher = "Kluwer Academic Publishers", edition = "second", year = "1988"} @BOOK{sklar, title = "{Digital Communications}", author = "{Bernard~Sklar}", publisher = "Prentice Hall P T R", edition = "second", year = "2001"} --Randy -- % Randy Yates % "She's sweet on Wagner-I think she'd die for Beethoven. %% Fuquay-Varina, NC % She love the way Puccini lays down a tune, and %%% 919-577-9882 % Verdi's always creepin' from her room." %%%% <yates@ieee.org> % "Rockaria", *A New World Record*, ELO http://home.earthlink.net/~yatescr
Reply by ●April 5, 20062006-04-05
I assume you want to switch between qpsk and 16qam based on the snr? If so you can start with qpsk, for example, calculate the constelation quality, and then switch when the quality is above some threshold. In 16qam you calculate the quality but you switch when it drops below some threshold. Quality is just the RMS of the difference between the actual symbol and the ideal symbol, e.g. quality = C/sqrt((I-Iideal)^2+(Q-Qideal)^2) where C is the average energy in the ideal constellation, e.g. sqrt(Iideal^2+Qideal^2). You'll want to convert it to dB and it's approximately Eb/No from theory. -Clark P.s. not 100% certain whether you need the sqrt. It's just a scale factor once you take the log so it's not too important. "sandy_s157" <sandy_s157@yahoo.com> wrote in message news:DPCdndc-9qjuNq7ZnZ2dnUVZ_v2dnZ2d@giganews.com...> Hi, > > IS there anyone is the group who can provide me some material that talks > about SNR estimation in QPSK, 16QAM modems in MATLAB. I am implementing a > modem in MATLAB and want to make it SNR dependent. Any help regarding the > same will be really helpful. > > Thanks, > Sandy > >
Reply by ●April 5, 20062006-04-05
Randy Yates <yates@ieee.org> writes:> "sandy_s157" <sandy_s157@yahoo.com> writes: > >> Hi, >> >> IS there anyone is the group who can provide me some material that talks >> about SNR estimation in QPSK, 16QAM modems in MATLAB. I am implementing a >> modem in MATLAB and want to make it SNR dependent. Any help regarding the >> same will be really helpful. > > This is a fundamental concept in digital communication and would be > covered in any book on the topic,I'm sorry Sandy, I misread your question. Ignore my previous response. To *estimate* SNR, I can think of one obvious way: demodulate the noisy signal, remodulate a clean signal, subtract the two, and measure the residual. This would be even more robust if there is FEC involved, i.e., you could correct any bit errors before remodulating. If you're using FEC, another way would be to simply compute the (correctable + noncorrectable) errors. Another possibility is, in the case of QPSK, to compute the fourth order of the baseband signal. In this manner the signal should fold into a single DC value. If you subtract that value out, the residual should be the noise (although I think the nonlinearity scales it). NB: I haven't done any of these, just thinking out loud. --Randy such as> > @BOOK{proakiscomm, > title = "{Digital Communications}", > author = "John~G.~Proakis", > publisher = "McGraw-Hill", > edition = "fourth", > year = "2001"} > @BOOK{couch, > title = "{Digital and Analog Communication Systems}", > author = "{Leon~W.~Couch}", > publisher = "Prentice Hall", > edition = "fifth", > year = "1993"} > @BOOK{leeandmesserschmitt, > title = "{Digital Communication}", > author = "{Edwared~A.~Lee, David~G.~Messerschmitt}", > publisher = "Kluwer Academic Publishers", > edition = "second", > year = "1988"} > @BOOK{sklar, > title = "{Digital Communications}", > author = "{Bernard~Sklar}", > publisher = "Prentice Hall P T R", > edition = "second", > year = "2001"} > > --Randy > > > -- > % Randy Yates % "She's sweet on Wagner-I think she'd die for Beethoven. > %% Fuquay-Varina, NC % She love the way Puccini lays down a tune, and > %%% 919-577-9882 % Verdi's always creepin' from her room." > %%%% <yates@ieee.org> % "Rockaria", *A New World Record*, ELO > http://home.earthlink.net/~yatescr-- % Randy Yates % "Midnight, on the water... %% Fuquay-Varina, NC % I saw... the ocean's daughter." %%% 919-577-9882 % 'Can't Get It Out Of My Head' %%%% <yates@ieee.org> % *El Dorado*, Electric Light Orchestra http://home.earthlink.net/~yatescr
Reply by ●April 5, 20062006-04-05
Anonymous wrote:> P.s. not 100% certain whether you need the sqrt. It's just a scale factor > once you take the log so it's not too important.Moreover, even if it is needed, dividing by 2 after the log is taken is much less painful than a square root before. Jerry -- Engineering is the art of making what you want from things you can get. �����������������������������������������������������������������������
Reply by ●April 5, 20062006-04-05
>Are you using Simulink? (I have just attended a course on Matlab's >Simulink. It is quite powerful for creating BER vs SNR graphs, given >that you use the standard modulators and demodulators) > >Do you want to get the theoretical performance (BER versus SNR) of the >systems (16QAM and QPSK)? > >I used a book by Proakis to get the theoretical BER vs SNR for MFSK. >Most likely the book will also treat QAM and QPSK. > >Kind Regards, >Jaco > >Hi Jaco, I am using MATLAB for simulating QPSK and QAM modem. From the data that is given to the modulator and data received at the receiver, I want to calculate the SNR. I have complex data as input which is modulated. The receiver demodulates the data using the Timing and Recovery and Carrier recovery loops. How would I estimate the SNR based on this received data? Any ideas? Thanks, Sandy
Reply by ●April 6, 20062006-04-06
>Randy Yates <yates@ieee.org> writes: > >> "sandy_s157" <sandy_s157@yahoo.com> writes: >> >>> Hi, >>> >>> IS there anyone is the group who can provide me some material thattalks>>> about SNR estimation in QPSK, 16QAM modems in MATLAB. I amimplementing a>>> modem in MATLAB and want to make it SNR dependent. Any help regardingthe>>> same will be really helpful. >> >> This is a fundamental concept in digital communication and would be >> covered in any book on the topic, > >I'm sorry Sandy, I misread your question. Ignore my previous response. > >To *estimate* SNR, I can think of one obvious way: demodulate the noisy >signal, remodulate a clean signal, subtract the two, and measure >the residual. This would be even more robust if there is FEC involved, >i.e., you could correct any bit errors before remodulating. > >If you're using FEC, another way would be to simply compute the >(correctable + noncorrectable) errors. > >Another possibility is, in the case of QPSK, to compute the fourth >order of the baseband signal. In this manner the signal should fold >into a single DC value. If you subtract that value out, the residual >should be the noise (although I think the nonlinearity scales it). > >NB: I haven't done any of these, just thinking out loud. > >--Randy >Hi Randy, Thanks for the response. I am not using FEC as of now. If I understand correctly, this is what has to be done...correct me if I am wrong... I have a clean pre modulated complex signal (e.g QPSK constellation). On the other hand I have a demodulated complex signal at the receiver (with noise and channel variations) which is fuzzy in appearance indicating presence of noise and other channel distortions....What I understand from your explanation is that I have to subtract the energies of these two signals....and calculate Eb/No - (energy of ideal signal - without noise and other distortions) divided by noise which is the difference obtained between the 2 signals as suggested by you.... hope i am thinking in the right direction...let me know.... Thanks, Sandy>such as >> >> @BOOK{proakiscomm, >> title = "{Digital Communications}", >> author = "John~G.~Proakis", >> publisher = "McGraw-Hill", >> edition = "fourth", >> year = "2001"} >> @BOOK{couch, >> title = "{Digital and Analog Communication Systems}", >> author = "{Leon~W.~Couch}", >> publisher = "Prentice Hall", >> edition = "fifth", >> year = "1993"} >> @BOOK{leeandmesserschmitt, >> title = "{Digital Communication}", >> author = "{Edwared~A.~Lee, David~G.~Messerschmitt}", >> publisher = "Kluwer Academic Publishers", >> edition = "second", >> year = "1988"} >> @BOOK{sklar, >> title = "{Digital Communications}", >> author = "{Bernard~Sklar}", >> publisher = "Prentice Hall P T R", >> edition = "second", >> year = "2001"} >> >> --Randy >> >> >> -- >> % Randy Yates % "She's sweet on Wagner-I think she'ddie for Beethoven.>> %% Fuquay-Varina, NC % She love the way Puccini lays down atune, and>> %%% 919-577-9882 % Verdi's always creepin' from herroom.">> %%%% <yates@ieee.org> % "Rockaria", *A New World Record*, ELO>> http://home.earthlink.net/~yatescr > >-- >% Randy Yates % "Midnight, on the water... >%% Fuquay-Varina, NC % I saw... the ocean's daughter." >%%% 919-577-9882 % 'Can't Get It Out Of My Head' >%%%% <yates@ieee.org> % *El Dorado*, Electric Light Orchestra >http://home.earthlink.net/~yatescr >
Reply by ●April 6, 20062006-04-06
Hi, I don't think I quite understand the problem, but another way would be to calculate the BER from the send data and receive data. Once you have the BER, you can look up/calculate the SNR value using the known formulaes or BER vs SNR graphs. ?? Kind regards, Jaco
Reply by ●April 8, 20062006-04-08
>Hi, > >IS there anyone is the group who can provide me some material that talks >about SNR estimation in QPSK, 16QAM modems in MATLAB. I am implementinga>modem in MATLAB and want to make it SNR dependent. Any help regardingthe>same will be really helpful. > >Thanks, >Sandy > > >For high SNRs case we can estimate the SNR of the system using 10log10(Eb/No) or the methods in the e-mails below. How do we do it for Low SNR case (where noise is very high)? As per my understanding, for Low SNRs, the process will be complicated since part of the constellation would cross over and would overlap with adjacent quadrant. Here finding the energy using the formula sum(abs(samples)) will not result in correct solution since the part of the constellation that is outside the quadrant (overlapping with adjacent quadrant) would be out of consideration. Hope I am clear in my question...please let me know if anyone have any ideas.... Thanks, Sandy






