S
shakeel006
Guest
ciao tutti
Sono nuovo spazio di tempo di codifica. seguente è il 1 ° e 2 Tx RX codice per lo spazio tempo necessario bloccare code.i molto chiaro e di facile spiegazione delle seguenti code.like significato di ciò che è cornice di lunghezza e dimensione del pacchetto per Tx 1 e 2 RX codice
SNR fino a 20% dBs
EbNo = [0:2:20];
% N, M: numero di trasmettere e ricevere le antenne
N = no_tx_antennas;
M = no_rx_antennas;
inizializzare% count
idx = 1;
h = waitbar (0, 'Percentuale Completato');
set (h, 'Position', [230 60
275,25 56,25]);
set (h, 'nome', 'Please wait ...');
bu = 9,09;
per SNR = EbNo
sigma = 0,5 / (10 ^ (SNR/10));
Num% -> numero di pacchetti
per packet_count = 1: Num
% Siamo interessati nella trasmissione 'K' non SIMBOLI bit.Pertanto, K * 2 per QPSK
Ecc%
switch (modulazione)
caso 'BPSK'
dati randint = (K, N);
BIT = 1;
caso 'QPSK'
dati randint = (K * 2, N);
BIT = 2;
PSK caso'8 '
dati randint = (K * 3, N);
BIT = 3;
caso'16QAM '
dati randint = (K * 4, N);
BIT = 4;
altrimenti
disp ( 'No modulazione')
fine
tx_bits = dati. ';
[temp s P] = tx_modulate (tx_bits, modulazione);
% pronto a trasmettere i simboli di lunghezza 'K'
X = temp. ';
fr_length = lunghezza (X);
MRC%
x0 = X;
% Forma matrice del canale
se channel_model == 'AWGN'
HR = quelli (fr_length, M);
altro
HR = (randn (fr_length, M) j * randn (fr_length, M)) / sqrt (2);
fine% matrice di trasmissione
H = rimodellare (Hr, fr_length, M);
Habs = sum (abs (H). ^ 2,2);
% segnale ricevuto per antenna ricevitore
r1 = somma (H , 1) .* x0, 2) / sqrt (N) sqrt (sigma) * (randn (fr_length, 1) j * randn (fr_length, 1));
R2 = somma (H , 2) .* x0, 2) / sqrt (N) sqrt (sigma) * (randn (fr_length, 1) j * randn (fr_length, 1));
% Demodulazione segnali ricevuti
z1 = r1 .* conj (H , 1)) r2 .* conj (H , 2));
% in chiaro (1,1)
R01 = H , 1) .* x0 sqrt (sigma) * (randn (fr_length, 1) j * randn (fr_length, 1));
forma stime%
per m = 1
<img src="http://www.edaboard.com/images/smiles/icon_razz.gif" alt="Razz" border="0" />D01 , m) = abs (R01-H , 1) * s (m)). ^ 2;% chiaro segnale
% segnali codificati
d1 , m) = abs (somma (z1, 2)-s (m)). ^ 2 (-1 somma (Habs, 2)) * abs (s (m)) ^ 2;
fine
% Determinare il minimo di stime
decisione% per l'individuazione in chiaro
[y0, i0] = min ((D01 ),[], 2);
s0d = s (i0). ';
chiaro D01
decisione% per l'individuazione s1
[y1, i1] = min ((d1 ),[], 2);
s1d = s (i1). ';
chiaro d1
% Modulo ricevuto simboli
XD = [s1d];
determinare errori simbolo%
error_un (packet_count) = somma (X , 1) ~ = s0d);% per modo chiaro
temp1 = X> 0;
temp2 XD => 0;
errore (packet_count) = somma (somma (temp1 ~ = temp2));% per codificati
fine% PER fine del ciclo di "packet_count"
% calcolare FER, SER e BER per le attuali idx
% per modo chiaro segnale
SER_uncoded (idx) = somma (error_un) / (Num * K);
BER_uncoded (idx) = SER_uncoded (idx) / BIT;
FER_uncoded (idx) = SER_uncoded (idx) * K;
% per il segnale codificato
SER (idx) = somma (errore) / (Num * K);
REC (idx) = SER (idx) / BIT;
FER (idx) = SER (idx) * K;
incremento% idx
idx = idx 1;
str_bar = [num2str (WB) '% Completato'];
waitbar (wb/100, h, str_bar);
bu bu = 9,09;
fine% PER fine del ciclo di SNR
close (h);
Best Regard
Shakeel
Sono nuovo spazio di tempo di codifica. seguente è il 1 ° e 2 Tx RX codice per lo spazio tempo necessario bloccare code.i molto chiaro e di facile spiegazione delle seguenti code.like significato di ciò che è cornice di lunghezza e dimensione del pacchetto per Tx 1 e 2 RX codice
SNR fino a 20% dBs
EbNo = [0:2:20];
% N, M: numero di trasmettere e ricevere le antenne
N = no_tx_antennas;
M = no_rx_antennas;
inizializzare% count
idx = 1;
h = waitbar (0, 'Percentuale Completato');
set (h, 'Position', [230 60
275,25 56,25]);
set (h, 'nome', 'Please wait ...');
bu = 9,09;
per SNR = EbNo
sigma = 0,5 / (10 ^ (SNR/10));
Num% -> numero di pacchetti
per packet_count = 1: Num
% Siamo interessati nella trasmissione 'K' non SIMBOLI bit.Pertanto, K * 2 per QPSK
Ecc%
switch (modulazione)
caso 'BPSK'
dati randint = (K, N);
BIT = 1;
caso 'QPSK'
dati randint = (K * 2, N);
BIT = 2;
PSK caso'8 '
dati randint = (K * 3, N);
BIT = 3;
caso'16QAM '
dati randint = (K * 4, N);
BIT = 4;
altrimenti
disp ( 'No modulazione')
fine
tx_bits = dati. ';
[temp s P] = tx_modulate (tx_bits, modulazione);
% pronto a trasmettere i simboli di lunghezza 'K'
X = temp. ';
fr_length = lunghezza (X);
MRC%
x0 = X;
% Forma matrice del canale
se channel_model == 'AWGN'
HR = quelli (fr_length, M);
altro
HR = (randn (fr_length, M) j * randn (fr_length, M)) / sqrt (2);
fine% matrice di trasmissione
H = rimodellare (Hr, fr_length, M);
Habs = sum (abs (H). ^ 2,2);
% segnale ricevuto per antenna ricevitore
r1 = somma (H , 1) .* x0, 2) / sqrt (N) sqrt (sigma) * (randn (fr_length, 1) j * randn (fr_length, 1));
R2 = somma (H , 2) .* x0, 2) / sqrt (N) sqrt (sigma) * (randn (fr_length, 1) j * randn (fr_length, 1));
% Demodulazione segnali ricevuti
z1 = r1 .* conj (H , 1)) r2 .* conj (H , 2));
% in chiaro (1,1)
R01 = H , 1) .* x0 sqrt (sigma) * (randn (fr_length, 1) j * randn (fr_length, 1));
forma stime%
per m = 1
<img src="http://www.edaboard.com/images/smiles/icon_razz.gif" alt="Razz" border="0" />D01 , m) = abs (R01-H , 1) * s (m)). ^ 2;% chiaro segnale
% segnali codificati
d1 , m) = abs (somma (z1, 2)-s (m)). ^ 2 (-1 somma (Habs, 2)) * abs (s (m)) ^ 2;
fine
% Determinare il minimo di stime
decisione% per l'individuazione in chiaro
[y0, i0] = min ((D01 ),[], 2);
s0d = s (i0). ';
chiaro D01
decisione% per l'individuazione s1
[y1, i1] = min ((d1 ),[], 2);
s1d = s (i1). ';
chiaro d1
% Modulo ricevuto simboli
XD = [s1d];
determinare errori simbolo%
error_un (packet_count) = somma (X , 1) ~ = s0d);% per modo chiaro
temp1 = X> 0;
temp2 XD => 0;
errore (packet_count) = somma (somma (temp1 ~ = temp2));% per codificati
fine% PER fine del ciclo di "packet_count"
% calcolare FER, SER e BER per le attuali idx
% per modo chiaro segnale
SER_uncoded (idx) = somma (error_un) / (Num * K);
BER_uncoded (idx) = SER_uncoded (idx) / BIT;
FER_uncoded (idx) = SER_uncoded (idx) * K;
% per il segnale codificato
SER (idx) = somma (errore) / (Num * K);
REC (idx) = SER (idx) / BIT;
FER (idx) = SER (idx) * K;
incremento% idx
idx = idx 1;
str_bar = [num2str (WB) '% Completato'];
waitbar (wb/100, h, str_bar);
bu bu = 9,09;
fine% PER fine del ciclo di SNR
close (h);
Best Regard
Shakeel