G
grozdov
Guest
Hej;
Jeg er ny i Matlab, jeg fik i denne Matlab kode fra en bog ...Jeg vil gerne plot BER versus Eb /
No ...Kan nogen hjælpe mig på dette?
Tak
% ****** Dette er en simultion at realisere OFDM transmission
para = 128;% Antal parallelle kanaler
fftlen = 128;% FFT længde
noc = 128;% Antal luftfartsselskaber
nd = 6%
Antal af oplysninger OFDM symbol for en løkke
ml = 2;% Graduering plan
sr = 250000% Symbol sats
br = sr * ml% bithastighed pr carrier
gilen = 32% længde vagt interval punkter
ebno = 1:5;% Eb /
No forsøger også 100
% ****** Vigtigste sløjfe *************************
nloop = 100;% Antal simulation sløjfer
Noe = 0;% Antal fejl data
nikke = 0;%
Nej Antal indberettes data
eop = 0;% Antal fejl pakker
NOP = 0;% NO.af transmitteret pakker
for i = 1: nloop
% ********** Transmitter
% Data generator
for k = 1: Længde (ebno)
seldata = rand (1, para * nd * ml)> 0.5;
% Serial til parallel konvertering
paradata = omforme (seldata, para, nd * ml);
% QPSK modulation
[ich, qch] = qpskmod (paradata, para, nd, ml);
% I og Q data er steget kmod gange for at normalisere data
kmod = 1/sqrt (2);
ich1 = ich .* kmod;
qch1 = qch .* kmod;
% IFFT
x = ich1 qch1 .* I% Parellel konverteres til seriel
y = ifft (x);
ich2 = real ;
qch2 = IMAG ;
% Guard interval indsætningspunktet
[ich3, qch3] = giins (ich2, qch2, fftlen, gilen, nd);
fftlen2 = fftlen gilen
% Dæmpning
spow = sum (ich3. ^ 2 qch3. ^ 2) / nd. / para;
Att = 0,5 * spow * sr / br * 10. ^ (-ebno/10);
Att = sqrt (Att);
% Modtagers plus støj
[ich4, qch4] = kammen (ich3, qch3, Attn (k));
% Guard fjernelse
[ICH5, qch5] = girem (ich4, qch4, fftlen2, gilen, nd);
% FFT
rx = ICH5 qch .* I;
ry = fft (RX);
ich6 = real (ry);
qch6 = IMAG (ry);
% Demodulation
ich7 = ich6./kmod;
qch7 = qch6./kmod;
[demodata] = qpskdemod (ich7, qch7, para, nd, ml);
% Parallel til seriel konvertering
demodata1 = omforme (demodata, 1, para * nd * ml);
% BER beregninger
noe2 (k) = sum (abs (demodata1-seldata));
nod2 (k) = længde (seldata);
% Cummulative nej.af fejl og data i Noe og nikke
Noe = Noe (k) noe2;
nikke = nikke (k) nod2;% Beregner PER
hvis noe2 ~ = 0;
eop = eop
ende
NOP = NOP 1;
ber = Noe / nikke
pr = eop / NOP;
ber (K) = Noe / nikke
ende
ende
% *********** Output resultater
Jeg er ny i Matlab, jeg fik i denne Matlab kode fra en bog ...Jeg vil gerne plot BER versus Eb /
No ...Kan nogen hjælpe mig på dette?
Tak
% ****** Dette er en simultion at realisere OFDM transmission
para = 128;% Antal parallelle kanaler
fftlen = 128;% FFT længde
noc = 128;% Antal luftfartsselskaber
nd = 6%
Antal af oplysninger OFDM symbol for en løkke
ml = 2;% Graduering plan
sr = 250000% Symbol sats
br = sr * ml% bithastighed pr carrier
gilen = 32% længde vagt interval punkter
ebno = 1:5;% Eb /
No forsøger også 100
% ****** Vigtigste sløjfe *************************
nloop = 100;% Antal simulation sløjfer
Noe = 0;% Antal fejl data
nikke = 0;%
Nej Antal indberettes data
eop = 0;% Antal fejl pakker
NOP = 0;% NO.af transmitteret pakker
for i = 1: nloop
% ********** Transmitter
% Data generator
for k = 1: Længde (ebno)
seldata = rand (1, para * nd * ml)> 0.5;
% Serial til parallel konvertering
paradata = omforme (seldata, para, nd * ml);
% QPSK modulation
[ich, qch] = qpskmod (paradata, para, nd, ml);
% I og Q data er steget kmod gange for at normalisere data
kmod = 1/sqrt (2);
ich1 = ich .* kmod;
qch1 = qch .* kmod;
% IFFT
x = ich1 qch1 .* I% Parellel konverteres til seriel
y = ifft (x);
ich2 = real ;
qch2 = IMAG ;
% Guard interval indsætningspunktet
[ich3, qch3] = giins (ich2, qch2, fftlen, gilen, nd);
fftlen2 = fftlen gilen
% Dæmpning
spow = sum (ich3. ^ 2 qch3. ^ 2) / nd. / para;
Att = 0,5 * spow * sr / br * 10. ^ (-ebno/10);
Att = sqrt (Att);
% Modtagers plus støj
[ich4, qch4] = kammen (ich3, qch3, Attn (k));
% Guard fjernelse
[ICH5, qch5] = girem (ich4, qch4, fftlen2, gilen, nd);
% FFT
rx = ICH5 qch .* I;
ry = fft (RX);
ich6 = real (ry);
qch6 = IMAG (ry);
% Demodulation
ich7 = ich6./kmod;
qch7 = qch6./kmod;
[demodata] = qpskdemod (ich7, qch7, para, nd, ml);
% Parallel til seriel konvertering
demodata1 = omforme (demodata, 1, para * nd * ml);
% BER beregninger
noe2 (k) = sum (abs (demodata1-seldata));
nod2 (k) = længde (seldata);
% Cummulative nej.af fejl og data i Noe og nikke
Noe = Noe (k) noe2;
nikke = nikke (k) nod2;% Beregner PER
hvis noe2 ~ = 0;
eop = eop
ende
NOP = NOP 1;
ber = Noe / nikke
pr = eop / NOP;
ber (K) = Noe / nikke
ende
ende
% *********** Output resultater