S
shakeel006
Guest
Gerbiamasis Pone,
I downloaded Alamouti kodą iš MATLAB central.I negaliu suprasti taip dekodavimo dalis prašome explain.I turėti įvedėte Q komentarus savo klausimą
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Iškoduoti%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Dh = sqrt (2) * [1 -1] / 2;% Klausimas: kodėl tai naudojama, kai ji gaunama iš?% Kompiuterija atstumą, kad pirmasis simbolis%
D11 = ((dh (1)-Real (S (1))) ^ 2 (IMAG (-AI) (1)) ^ 2); tai ne atstumas formulę tarp dviejų taškų
D12 = ((dh (2)-realus (S (1))) ^ 2 (IMAG (-AI) (1)) ^ 2);D1 = [D11 D12];% Atstumai už gautus simbolis% Statybos sprendimus Vektorius pirmasis simbolis%
už k = 1:2
X1_dec (k) = ((abs (dh (k))) ^ 2) * sumos (sum ((abs (H)). ^ 2) -1) D1 (k);
pabaiga
% Kompiuterija atstumą dėl antrojo simbolis%
D21 = ((dh (1)-Real (S (2))) ^ 2 (IMAG (S (2))) ^ 2);
D22 = ((dh (2)-realus (S (2))) ^ 2 (IMAG (S (2))) ^ 2);
D2 = [D21 D22];
% Statybos sprendimus Vektorius dėl antrojo simbolis%
kai x = 1:2
X2_dec (x) = ((abs (dh (k))) ^ 2) * sumos (sum ((abs (H)). ^ 2) -1) D2 (x);
pabaiga
% Sprendimai!Mes pasirinkome mažylis%
[scelta1, posizione1] = min (X1_dec);
[scelta2, posizione2] = min (X2_dec);
Jeigu aš galiu rašyti paprastus žodžius kas ML detektoriaus tai taiparg min (gautas signalas - nuoroda simbolių) ^ 2
kur mažinimas yra visos nuorodos simbolius.
Aš pamačiau kitą pavyzdį BPSK, vykdžiusias ml dekodavimo kaip follows.highlighted su didesniu šriftu
aišku% aišku MATLAB Workspace
CLC% aišku komandų lange
tic% intialize pradžios laikas modeliavimo
M = 2;% už BPSK mes turime tik du simbolius 0 arba 1.
snr_db = 0:12;% diapazonas 0-12 dbs per kurį Pe bus apskaičiuojama šioje modeliavimas
% LEN = [1e
6 * iš jų (1,5) 1e
6 * iš jų (1,5) 1e
6 * iš jų (1,3)];% bitų skaičius perduodami ty 10 ^ 6 = 100,0000.
LEN = [1e
6 * ones (1,13)];% bitų skaičius perduodami ty 10 ^ 6 = 100,0000.
SRF = exp (-j * 2 * pi * [0; 1] / 2);% Atraminis signalas
ir k = 1:
length (snr_db)
bit_err = 0;
už kk = 1: LEN (k)
SNR = 10 ^ (snr_db (k) / 10);% SNR į tikrąsias vertybes
varn = 1 / (2 * SNR);% triukšmo dispersija
Duomenų = randint (1,1, [0 M-1]);% atsitiktinės duomenų
s = exp (2 * j * pi * data / M);% signalo TOBE perduodami
n = sqrt (varn) * (randn (1,1) j * randn (1,1));% kompleksas Gaussian paskirstytos atsitiktiniai duomenys ???????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Kitas būdas ml dekodavimo įvairių būdų
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x = s n;% signalo TOBE perduodami
f = (abs (x * iš jų (2,1)-SRF)). ^ 2;% abs ((gautas signalas - nuoroda simbolių)) ^ 2
[fmn, argd] = min (f);% sudėtingų f = min (abs (f)), todėl [skaičių indeksas] = min (f)
dr = argd-1;% gauti indeksą
bit_err = bit_err (dr ~ = duomenys),%, jei gauta nėra lygus duomenis tada nepadidinimas klaidų skaičius
pabaiga
poe_n (k) = bit_err / LEN (k),%, ne iš errors/100, 0000
poe_n_exact (k) = qfunc (1/sqrt (varn));
Prašom paaiškinti skirtumą tarp dviejų ml dekodavimo implementacje.
nuoširdžiausi linkėjimai
Shakeel
I downloaded Alamouti kodą iš MATLAB central.I negaliu suprasti taip dekodavimo dalis prašome explain.I turėti įvedėte Q komentarus savo klausimą
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Iškoduoti%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Dh = sqrt (2) * [1 -1] / 2;% Klausimas: kodėl tai naudojama, kai ji gaunama iš?% Kompiuterija atstumą, kad pirmasis simbolis%
D11 = ((dh (1)-Real (S (1))) ^ 2 (IMAG (-AI) (1)) ^ 2); tai ne atstumas formulę tarp dviejų taškų
D12 = ((dh (2)-realus (S (1))) ^ 2 (IMAG (-AI) (1)) ^ 2);D1 = [D11 D12];% Atstumai už gautus simbolis% Statybos sprendimus Vektorius pirmasis simbolis%
už k = 1:2
X1_dec (k) = ((abs (dh (k))) ^ 2) * sumos (sum ((abs (H)). ^ 2) -1) D1 (k);
pabaiga
% Kompiuterija atstumą dėl antrojo simbolis%
D21 = ((dh (1)-Real (S (2))) ^ 2 (IMAG (S (2))) ^ 2);
D22 = ((dh (2)-realus (S (2))) ^ 2 (IMAG (S (2))) ^ 2);
D2 = [D21 D22];
% Statybos sprendimus Vektorius dėl antrojo simbolis%
kai x = 1:2
X2_dec (x) = ((abs (dh (k))) ^ 2) * sumos (sum ((abs (H)). ^ 2) -1) D2 (x);
pabaiga
% Sprendimai!Mes pasirinkome mažylis%
[scelta1, posizione1] = min (X1_dec);
[scelta2, posizione2] = min (X2_dec);
Jeigu aš galiu rašyti paprastus žodžius kas ML detektoriaus tai taiparg min (gautas signalas - nuoroda simbolių) ^ 2
kur mažinimas yra visos nuorodos simbolius.
Aš pamačiau kitą pavyzdį BPSK, vykdžiusias ml dekodavimo kaip follows.highlighted su didesniu šriftu
aišku% aišku MATLAB Workspace
CLC% aišku komandų lange
tic% intialize pradžios laikas modeliavimo
M = 2;% už BPSK mes turime tik du simbolius 0 arba 1.
snr_db = 0:12;% diapazonas 0-12 dbs per kurį Pe bus apskaičiuojama šioje modeliavimas
% LEN = [1e
6 * iš jų (1,5) 1e
6 * iš jų (1,5) 1e
6 * iš jų (1,3)];% bitų skaičius perduodami ty 10 ^ 6 = 100,0000.
LEN = [1e
6 * ones (1,13)];% bitų skaičius perduodami ty 10 ^ 6 = 100,0000.
SRF = exp (-j * 2 * pi * [0; 1] / 2);% Atraminis signalas
ir k = 1:
length (snr_db)
bit_err = 0;
už kk = 1: LEN (k)
SNR = 10 ^ (snr_db (k) / 10);% SNR į tikrąsias vertybes
varn = 1 / (2 * SNR);% triukšmo dispersija
Duomenų = randint (1,1, [0 M-1]);% atsitiktinės duomenų
s = exp (2 * j * pi * data / M);% signalo TOBE perduodami
n = sqrt (varn) * (randn (1,1) j * randn (1,1));% kompleksas Gaussian paskirstytos atsitiktiniai duomenys ???????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Kitas būdas ml dekodavimo įvairių būdų
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x = s n;% signalo TOBE perduodami
f = (abs (x * iš jų (2,1)-SRF)). ^ 2;% abs ((gautas signalas - nuoroda simbolių)) ^ 2
[fmn, argd] = min (f);% sudėtingų f = min (abs (f)), todėl [skaičių indeksas] = min (f)
dr = argd-1;% gauti indeksą
bit_err = bit_err (dr ~ = duomenys),%, jei gauta nėra lygus duomenis tada nepadidinimas klaidų skaičius
pabaiga
poe_n (k) = bit_err / LEN (k),%, ne iš errors/100, 0000
poe_n_exact (k) = qfunc (1/sqrt (varn));
Prašom paaiškinti skirtumą tarp dviejų ml dekodavimo implementacje.
nuoširdžiausi linkėjimai
Shakeel