DSPRelated.com
Forums

how to calculate noise vector from Eb/No to plot a EbNo/BER graph (noise generation)

Started by Anna July 27, 2007
Hi,
I'm doing a final project in OFDM simulation and I would like to plot
a EbNo/BER graph. For a range of a specified EbNo, I I have to
generate a noise added to the signal. I have no idea how I could
generate a noise vector from this Eb/No.

supose that my signal is x = randint(1,N)
some people generate noise vector by  1/sqrt*(randn(N)+jrandn(N))
do I have to multiply this with a constealltion number? or do I have
to multiply this with any OFDM process too???

Thank you very much for your reply. I'm a bit stressful right now
because I don't have a lot of time to finish it.

Thank you very much
best regards,
Anna

Anna wrote:
> Hi, > I'm doing a final project in OFDM simulation and I would like to plot > a EbNo/BER graph. For a range of a specified EbNo, I I have to > generate a noise added to the signal. I have no idea how I could > generate a noise vector from this Eb/No. > > supose that my signal is x = randint(1,N) > some people generate noise vector by 1/sqrt*(randn(N)+jrandn(N)) > do I have to multiply this with a constealltion number? or do I have > to multiply this with any OFDM process too??? > > Thank you very much for your reply. I'm a bit stressful right now > because I don't have a lot of time to finish it. > > Thank you very much > best regards, > Anna >
Here's an approach. Suppose your noiseless OFDM signal is 'z', the bit rate is 'Rb', sample rate is 'Fs', and target Eb/No is 'EbNo': z = z./std(z); n = (randn(length(z),1) + j*randn(length(z),1))/sqrt(2); snr = 10.^(EbNo/10) * Rb / Fs; n = n./sqrt(snr); z = z + n; John
On Jul 27, 4:00 pm, John Sampson <jo...@3db-labs.com> wrote:
> Anna wrote: > > Hi, > > I'm doing a final project in OFDM simulation and I would like to plot > > a EbNo/BER graph. For a range of a specified EbNo, I I have to > > generate a noise added to the signal. I have no idea how I could > > generate a noise vector from this Eb/No. > > > supose that my signal is x = randint(1,N) > > some people generate noise vector by 1/sqrt*(randn(N)+jrandn(N)) > > do I have to multiply this with a constealltion number? or do I have > > to multiply this with any OFDM process too??? > > > Thank you very much for your reply. I'm a bit stressful right now > > because I don't have a lot of time to finish it. > > > Thank you very much > > best regards, > > Anna > > Here's an approach. Suppose your noiseless OFDM signal is 'z', the bit > rate is 'Rb', sample rate is 'Fs', and target Eb/No is 'EbNo': > > z = z./std(z); > n = (randn(length(z),1) + j*randn(length(z),1))/sqrt(2); > snr = 10.^(EbNo/10) * Rb / Fs; > n = n./sqrt(snr); > z = z + n; > > John
Thank you very much John, I've been searching for this solution for a week. :-) Thank you so much
On Jul 27, 4:40 pm, Anna <petitmou...@gmail.com> wrote:
> On Jul 27, 4:00 pm, John Sampson <jo...@3db-labs.com> wrote: > > > > > Anna wrote: > > > Hi, > > > I'm doing a final project in OFDM simulation and I would like to plot > > > a EbNo/BER graph. For a range of a specified EbNo, I I have to > > > generate a noise added to the signal. I have no idea how I could > > > generate a noise vector from this Eb/No. > > > > supose that my signal is x = randint(1,N) > > > some people generate noise vector by 1/sqrt*(randn(N)+jrandn(N)) > > > do I have to multiply this with a constealltion number? or do I have > > > to multiply this with any OFDM process too??? > > > > Thank you very much for your reply. I'm a bit stressful right now > > > because I don't have a lot of time to finish it. > > > > Thank you very much > > > best regards, > > > Anna > > > Here's an approach. Suppose your noiseless OFDM signal is 'z', the bit > > rate is 'Rb', sample rate is 'Fs', and target Eb/No is 'EbNo': > > > z = z./std(z); > > n = (randn(length(z),1) + j*randn(length(z),1))/sqrt(2); > > snr = 10.^(EbNo/10) * Rb / Fs; > > n = n./sqrt(snr); > > z = z + n; > > > John
I still have one little question (I'm sorry, i know so little thing in DSP) , why do we derive n by sqrt(snr) ,but not simply snr?
Anna wrote:
> On Jul 27, 4:40 pm, Anna <petitmou...@gmail.com> wrote: > > On Jul 27, 4:00 pm, John Sampson <jo...@3db-labs.com> wrote: > > > > > > > > > Anna wrote: > > > > Hi, > > > > I'm doing a final project in OFDM simulation and I would like to plot > > > > a EbNo/BER graph. For a range of a specified EbNo, I I have to > > > > generate a noise added to the signal. I have no idea how I could > > > > generate a noise vector from this Eb/No. > > > > > > supose that my signal is x = randint(1,N) > > > > some people generate noise vector by 1/sqrt*(randn(N)+jrandn(N)) > > > > do I have to multiply this with a constealltion number? or do I have > > > > to multiply this with any OFDM process too??? > > > > > > Thank you very much for your reply. I'm a bit stressful right now > > > > because I don't have a lot of time to finish it. > > > > > > Thank you very much > > > > best regards, > > > > Anna > > > > > Here's an approach. Suppose your noiseless OFDM signal is 'z', the bit > > > rate is 'Rb', sample rate is 'Fs', and target Eb/No is 'EbNo': > > > > > z = z./std(z); > > > n = (randn(length(z),1) + j*randn(length(z),1))/sqrt(2); > > > snr = 10.^(EbNo/10) * Rb / Fs; > > > n = n./sqrt(snr); > > > z = z + n; > > > > > John > > I still have one little question (I'm sorry, i know so little thing in > DSP) , why do we derive n by sqrt(snr) ,but not simply snr?
Hi Anna, The snr is a ratio of powers. Since n can be considered as a voltage, we need the sqrt(snr) to have the proper ratio between the normalized z vector and the n vector. Phil
On 27 juil, 19:01, Phil <philguilleme...@alumni.uwaterloo.ca> wrote:
> Anna wrote: > > On Jul 27, 4:40 pm, Anna <petitmou...@gmail.com> wrote: > > > On Jul 27, 4:00 pm, John Sampson <jo...@3db-labs.com> wrote: > > > > > Anna wrote: > > > > > Hi, > > > > > I'm doing a final project in OFDM simulation and I would like to =
plot
> > > > > a EbNo/BER graph. For a range of a specified EbNo, I I have to > > > > > generate a noise added to the signal. I have no idea how I could > > > > > generate a noise vector from this Eb/No. > > > > > > supose that my signal is x =3D randint(1,N) > > > > > some people generate noise vector by 1/sqrt*(randn(N)+jrandn(N)) > > > > > do I have to multiply this with a constealltion number? or do I h=
ave
> > > > > to multiply this with any OFDM process too??? > > > > > > Thank you very much for your reply. I'm a bit stressful right now > > > > > because I don't have a lot of time to finish it. > > > > > > Thank you very much > > > > > best regards, > > > > > Anna > > > > > Here's an approach. Suppose your noiseless OFDM signal is 'z', the =
bit
> > > > rate is 'Rb', sample rate is 'Fs', and target Eb/No is 'EbNo': > > > > > z =3D z./std(z); > > > > n =3D (randn(length(z),1) + j*randn(length(z),1))/sqrt(2); > > > > snr =3D 10.^(EbNo/10) * Rb / Fs; > > > > n =3D n./sqrt(snr); > > > > z =3D z + n; > > > > > John > > > I still have one little question (I'm sorry, i know so little thing in > > DSP) , why do we derive n by sqrt(snr) ,but not simply snr? > > Hi Anna, > > The snr is a ratio of powers. Since n can be considered as a voltage, > we need the sqrt(snr) to have the proper ratio between the normalized > z vector and the n vector. > > Phil- Masquer le texte des messages pr=E9c=E9dents - > > - Afficher le texte des messages pr=E9c=E9dents -
Ahhh I see. thank you very much Phil. have a nice day :-) Anna
On Jul 27, 10:40 am, Anna <petitmou...@gmail.com> wrote:
> On Jul 27, 4:00 pm, John Sampson <jo...@3db-labs.com> wrote: > > > > > Anna wrote: > > > Hi, > > > I'm doing a final project in OFDM simulation and I would like to plot > > > a EbNo/BER graph. For a range of a specified EbNo, I I have to > > > generate a noise added to the signal. I have no idea how I could > > > generate a noise vector from this Eb/No. > > > > supose that my signal is x = randint(1,N) > > > some people generate noise vector by 1/sqrt*(randn(N)+jrandn(N)) > > > do I have to multiply this with a constealltion number? or do I have > > > to multiply this with any OFDM process too??? > > > > Thank you very much for your reply. I'm a bit stressful right now > > > because I don't have a lot of time to finish it. > > > > Thank you very much > > > best regards, > > > Anna > > > Here's an approach. Suppose your noiseless OFDM signal is 'z', the bit > > rate is 'Rb', sample rate is 'Fs', and target Eb/No is 'EbNo': > > > z = z./std(z); > > n = (randn(length(z),1) + j*randn(length(z),1))/sqrt(2); > > snr = 10.^(EbNo/10) * Rb / Fs; > > n = n./sqrt(snr); > > z = z + n; > > > John > > Thank you very much John, I've been searching for this solution for a > week. :-) Thank you so much
You are welcome. I forgot to mention that EbNo is specified in dB. John