S
shakeel006
Guest
Vážený pane
I stáhli Alamouti kód z MATLABu central.I nejsem schopen pochopit následující dekódovací část prosím explain.I zadali Q komentáře na můj dotaz
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Dekódování%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%dh = sqrt (2) * [1 -1] / 2,% Q: Proč je tento použit odkud pochází?% Výpočet vzdálenosti pro první symbol%
D11 = ((dh (1)-reálný (S (1))) ^ 2 (IMAG (S (1))) ^ 2), což není vzdálenost vzorec mezi dvěma body
D12 = ((dh (2)-reálný (S (1))) ^ 2 (IMAG (S (1))) ^ 2);D1 = [D11 D12];% vzdálenosti obdržel symbol% Stavební rozhodnutí vektor pro první symbol%
pro k = 01:02
X1_dec (k) = ((abs (dh (k))) ^ 2) * suma (součet ((abs (H)). ^ 2) -1) D1 (k);
konec
% Výpočet vzdálenosti pro druhý symbol%
D21 = ((dh (1)-reálný (S (2))) ^ 2 (IMAG (S (2))) ^ 2);
D22 = ((dh (2)-reálný (S (2))) ^ 2 (IMAG (S (2))) ^ 2);
D2 = [D21 D22];
% Stavební rozhodnutí vektor pro druhý symbol%
pro x = 01:02
X2_dec (x) = ((abs (dh (k))) ^ 2) * suma (součet ((abs (H)). ^ 2) -1) D2 (x);
konec
% Rozhodnutí!Zvolili jsme maličká%
[Scelta1, posizione1] = min (X1_dec);
[Scelta2, posizione2] = min (X2_dec);
Jestli můžu psát v jednoduchých slov, co je ML detektor je taktoarg min (přijímaného signálu - reference symboly) ^ 2
kde minimalizace je přes všechny odkazy symboly.
Viděl jsem jiný příklad pro BPSK, které provádí ML dekódování jako follows.highlighted s větším písmem
jasné% jasné MATLAB plochu
CLC% jasné příkazového okna
tic% intialize čas začátku simulace
M = 2;% pro BPSK potřebujeme jen dva symboly 0 nebo 1.
snr_db = 0:12;% Rozsah 0-12 dbs, během níž budou Pe se vypočítá v této simulace
% LEN = [1e 6 * ty (1,5), 1e 6 * ty (1,5), 1e 6 * ty (1,3)];% počet bitů, tj. 10 ^ předávaných 6 = 100,0000.
LEN = [1e 6 * ty (1,13)];% počet bitů, tj. 10 ^ předávaných 6 = 100,0000.
SRF = exp (j * 2 * pi * [0, 1] / 2);% referenčního signálu
pro k = 1: délka (snr_db)
bit_err = 0;
pro kk = 1: LEN (k)
SNR = 10 ^ (snr_db (k) / 10);%, SNR ve skutečné hodnoty
varn = 1 / (2 * SNR);% hluk rozptylu
data = randint (1,1, [0 M-1]);% náhodných dat generovaných
s = exp (2 * j * * data pi / M);% signál Tobe předány
n = sqrt (varn) * (randn (1,1) j * randn (1,1));% Komplexní Gaussova distribuovaných náhodných dat ???????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Dalším způsobem, jak ML dekódování v jinak
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x = y n;% signál Tobe předány
f = (abs (x * ty (2,1)-SRF)). ^ 2;% abs ((přijímaného signálu - reference symboly)) ^ 2
[FMN, argd] = min (f);% pro komplexní f = min (abs (f)), takže [počet index] = min (f)
dr = argd-1,% dostat index
bit_err = bit_err (dr ~ = data),%, pokud jsou přijaté se nerovná data pak zvýšení počet chyb
konec
poe_n (k) = bit_err / LEN (k);% Počet errors/100, 0000
poe_n_exact (k) = qfunc (1/sqrt (varn));
Prosím, vysvětlit rozdíl mezi těmito dvěma implementace ML dekódování.
S pozdravem
Shakeel
I stáhli Alamouti kód z MATLABu central.I nejsem schopen pochopit následující dekódovací část prosím explain.I zadali Q komentáře na můj dotaz
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Dekódování%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%dh = sqrt (2) * [1 -1] / 2,% Q: Proč je tento použit odkud pochází?% Výpočet vzdálenosti pro první symbol%
D11 = ((dh (1)-reálný (S (1))) ^ 2 (IMAG (S (1))) ^ 2), což není vzdálenost vzorec mezi dvěma body
D12 = ((dh (2)-reálný (S (1))) ^ 2 (IMAG (S (1))) ^ 2);D1 = [D11 D12];% vzdálenosti obdržel symbol% Stavební rozhodnutí vektor pro první symbol%
pro k = 01:02
X1_dec (k) = ((abs (dh (k))) ^ 2) * suma (součet ((abs (H)). ^ 2) -1) D1 (k);
konec
% Výpočet vzdálenosti pro druhý symbol%
D21 = ((dh (1)-reálný (S (2))) ^ 2 (IMAG (S (2))) ^ 2);
D22 = ((dh (2)-reálný (S (2))) ^ 2 (IMAG (S (2))) ^ 2);
D2 = [D21 D22];
% Stavební rozhodnutí vektor pro druhý symbol%
pro x = 01:02
X2_dec (x) = ((abs (dh (k))) ^ 2) * suma (součet ((abs (H)). ^ 2) -1) D2 (x);
konec
% Rozhodnutí!Zvolili jsme maličká%
[Scelta1, posizione1] = min (X1_dec);
[Scelta2, posizione2] = min (X2_dec);
Jestli můžu psát v jednoduchých slov, co je ML detektor je taktoarg min (přijímaného signálu - reference symboly) ^ 2
kde minimalizace je přes všechny odkazy symboly.
Viděl jsem jiný příklad pro BPSK, které provádí ML dekódování jako follows.highlighted s větším písmem
jasné% jasné MATLAB plochu
CLC% jasné příkazového okna
tic% intialize čas začátku simulace
M = 2;% pro BPSK potřebujeme jen dva symboly 0 nebo 1.
snr_db = 0:12;% Rozsah 0-12 dbs, během níž budou Pe se vypočítá v této simulace
% LEN = [1e 6 * ty (1,5), 1e 6 * ty (1,5), 1e 6 * ty (1,3)];% počet bitů, tj. 10 ^ předávaných 6 = 100,0000.
LEN = [1e 6 * ty (1,13)];% počet bitů, tj. 10 ^ předávaných 6 = 100,0000.
SRF = exp (j * 2 * pi * [0, 1] / 2);% referenčního signálu
pro k = 1: délka (snr_db)
bit_err = 0;
pro kk = 1: LEN (k)
SNR = 10 ^ (snr_db (k) / 10);%, SNR ve skutečné hodnoty
varn = 1 / (2 * SNR);% hluk rozptylu
data = randint (1,1, [0 M-1]);% náhodných dat generovaných
s = exp (2 * j * * data pi / M);% signál Tobe předány
n = sqrt (varn) * (randn (1,1) j * randn (1,1));% Komplexní Gaussova distribuovaných náhodných dat ???????
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Dalším způsobem, jak ML dekódování v jinak
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
x = y n;% signál Tobe předány
f = (abs (x * ty (2,1)-SRF)). ^ 2;% abs ((přijímaného signálu - reference symboly)) ^ 2
[FMN, argd] = min (f);% pro komplexní f = min (abs (f)), takže [počet index] = min (f)
dr = argd-1,% dostat index
bit_err = bit_err (dr ~ = data),%, pokud jsou přijaté se nerovná data pak zvýšení počet chyb
konec
poe_n (k) = bit_err / LEN (k);% Počet errors/100, 0000
poe_n_exact (k) = qfunc (1/sqrt (varn));
Prosím, vysvětlit rozdíl mezi těmito dvěma implementace ML dekódování.
S pozdravem
Shakeel