S
shakeel006
Guest
Dear Sir
Latasin Alamouti koodi Matlab central.I en voi ymmärtää seuraavat dekoodauksella osa ota explain.I on kirjoittanut Q kommentteja kysymykseeni
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Purku%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%dh = sqrt (2) * [1 -1] / 2;% Q: miksi tämä on käytetty, mistä se on peräisin?% Computing etäisyydet on ensimmäistä symboli%
d11 = ((dh (1)-Real (S (1))) ^ 2 (IMAG (S) (1)) ^ 2); tämä ei ole etäisyys kaava kahden pisteen välistä
D12 = ((dh (2)-Real (S (1))) ^ 2 (IMAG (S) (1)) ^ 2);D1 = [d11 D12];% Etäisyydet on saanut symboli% Building päätökset vektori on ensimmäistä symboli%
k = 1:2
X1_dec (k) = ((abs (dh (k))) ^ 2) * summa (summa ((abs (H)). ^ 2) -1) D1 (k);
loppu
% Computing etäisyydet on toinen symboli%
D21 = ((dh (1)-Real (S (2))) ^ 2 (IMAG (S (2))) ^ 2);
D22 = ((dh (2)-Real (S (2))) ^ 2 (IMAG (S (2))) ^ 2);
D2 = [D21 D22];
% Building päätökset vektori on toinen symboli%
x = 1:2
X2_dec (x) = ((abs (dh (k))) ^ 2) * summa (summa ((abs (H)). ^ 2) -1) D2 (x);
loppu
% Päätökset!Valitsimme pikkuinen%
[scelta1, posizione1] = min (X1_dec);
[scelta2, posizione2] = min (X2_dec);
Jos voin kirjoittaa yksinkertaisia sanoja, mikä on ML detektorin se on seuraavaarg min (vastaanotettu signaali - viittaus symbolit) ^ 2
jos minimointi on yli kaikkien symbolit.
Näin toinen esimerkki BPSK joka toteutetaan ML dekoodauksella kuin follows.highlighted suuremmat font
selkeä% selvää Matlab työtiloihin
clc% selvää komento ikkuna
tic% intialize alkamisaika simuloinnin
M = 2% varten BPSK tarvitsemme vain kaksi symbolit 0 tai 1.
snr_db = 0:12;% valikoima 0-12 DBS joiden Pe on laskettu tässä simulointi
% LEN = [1e 6 * ovat (1,5) 1e 6 * ovat (1,5) 1e 6 * ovat (1,3)];% määrä bittejä lähetetään eli 10 ^ 6 = 100,0000.
LEN = [1e 6 * niistä (1,13)];% määrä bittejä lähetetään eli 10 ^ 6 = 100,0000.
SRF = exp (j * 2 * pi * [0, 1] / 2);% viite signaali
k = 1: pituus (snr_db)
bit_err = 0;
varten kk = 1: LEN (k)
SNR = 10 ^ (snr_db (k) / 10);% SNR todelliset arvot
varn = 1 / (2 * SNR);% melu varianssi
data = randint (1,1, [0 M-1]);% satunnaisesti tietojen
s = exp (2 * j * pi * data / M);% signaali tobe lähetetään
n = sqrt (varn) * (randn (1,1) j * randn (1,1));% Complex Gaussian jaettu satunnaista tietoa ???????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Toinen tapa ML dekoodauksella eri tavalla
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x = a n,% signaali tobe lähetetään
f = (abs (x * ovat (2,1)-SRF)). ^ 2% abs ((vastaanotettu signaali - viittaus symbolit)) ^ 2
[FMN, argd] = min (f);% monimutkaisten f = min (abs (f)), joten [lukumäärä hakemisto] = min (f)
dr = argd-1;% saada hakemisto
bit_err = bit_err (dr ~ = tiedot);%, jos vastaanotetut ei vastaa tietojen sitten increment error count
loppu
poe_n (k) = bit_err / LEN (k),% ei ole tehty errors/100, 0000
poe_n_exact (k) = qfunc (1/sqrt (varn));
Selittäkää välinen erotus ML dekoodauksella implementations.
ystävällisin terveisin
Shakeel
Latasin Alamouti koodi Matlab central.I en voi ymmärtää seuraavat dekoodauksella osa ota explain.I on kirjoittanut Q kommentteja kysymykseeni
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Purku%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%dh = sqrt (2) * [1 -1] / 2;% Q: miksi tämä on käytetty, mistä se on peräisin?% Computing etäisyydet on ensimmäistä symboli%
d11 = ((dh (1)-Real (S (1))) ^ 2 (IMAG (S) (1)) ^ 2); tämä ei ole etäisyys kaava kahden pisteen välistä
D12 = ((dh (2)-Real (S (1))) ^ 2 (IMAG (S) (1)) ^ 2);D1 = [d11 D12];% Etäisyydet on saanut symboli% Building päätökset vektori on ensimmäistä symboli%
k = 1:2
X1_dec (k) = ((abs (dh (k))) ^ 2) * summa (summa ((abs (H)). ^ 2) -1) D1 (k);
loppu
% Computing etäisyydet on toinen symboli%
D21 = ((dh (1)-Real (S (2))) ^ 2 (IMAG (S (2))) ^ 2);
D22 = ((dh (2)-Real (S (2))) ^ 2 (IMAG (S (2))) ^ 2);
D2 = [D21 D22];
% Building päätökset vektori on toinen symboli%
x = 1:2
X2_dec (x) = ((abs (dh (k))) ^ 2) * summa (summa ((abs (H)). ^ 2) -1) D2 (x);
loppu
% Päätökset!Valitsimme pikkuinen%
[scelta1, posizione1] = min (X1_dec);
[scelta2, posizione2] = min (X2_dec);
Jos voin kirjoittaa yksinkertaisia sanoja, mikä on ML detektorin se on seuraavaarg min (vastaanotettu signaali - viittaus symbolit) ^ 2
jos minimointi on yli kaikkien symbolit.
Näin toinen esimerkki BPSK joka toteutetaan ML dekoodauksella kuin follows.highlighted suuremmat font
selkeä% selvää Matlab työtiloihin
clc% selvää komento ikkuna
tic% intialize alkamisaika simuloinnin
M = 2% varten BPSK tarvitsemme vain kaksi symbolit 0 tai 1.
snr_db = 0:12;% valikoima 0-12 DBS joiden Pe on laskettu tässä simulointi
% LEN = [1e 6 * ovat (1,5) 1e 6 * ovat (1,5) 1e 6 * ovat (1,3)];% määrä bittejä lähetetään eli 10 ^ 6 = 100,0000.
LEN = [1e 6 * niistä (1,13)];% määrä bittejä lähetetään eli 10 ^ 6 = 100,0000.
SRF = exp (j * 2 * pi * [0, 1] / 2);% viite signaali
k = 1: pituus (snr_db)
bit_err = 0;
varten kk = 1: LEN (k)
SNR = 10 ^ (snr_db (k) / 10);% SNR todelliset arvot
varn = 1 / (2 * SNR);% melu varianssi
data = randint (1,1, [0 M-1]);% satunnaisesti tietojen
s = exp (2 * j * pi * data / M);% signaali tobe lähetetään
n = sqrt (varn) * (randn (1,1) j * randn (1,1));% Complex Gaussian jaettu satunnaista tietoa ???????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Toinen tapa ML dekoodauksella eri tavalla
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x = a n,% signaali tobe lähetetään
f = (abs (x * ovat (2,1)-SRF)). ^ 2% abs ((vastaanotettu signaali - viittaus symbolit)) ^ 2
[FMN, argd] = min (f);% monimutkaisten f = min (abs (f)), joten [lukumäärä hakemisto] = min (f)
dr = argd-1;% saada hakemisto
bit_err = bit_err (dr ~ = tiedot);%, jos vastaanotetut ei vastaa tietojen sitten increment error count
loppu
poe_n (k) = bit_err / LEN (k),% ei ole tehty errors/100, 0000
poe_n_exact (k) = qfunc (1/sqrt (varn));
Selittäkää välinen erotus ML dekoodauksella implementations.
ystävällisin terveisin
Shakeel