S
shakeel006
Guest
Olá todos
Eu sou novo espaço de tempo codificação. Tx a seguinte é de 1 e 2 RX código para o espaço tempo bloco code.i necessidade muito clara e de fácil explicação dos seguintes code.like o que é significado de moldura comprimento e pacotes de tamanho 1 e 2 Tx RX código
SNR até 20% dbs
EbNo = [0:2:20];
%
De N, M: número de transmitir e receber antenas
N = no_tx_antennas;
M = no_rx_antennas;
initialize% count
idx = 1;
h = waitbar (0, 'Porcentagem Completed');
set (h, 'Posição', [230 60
275,25 56,25]);
set (h, 'nome', 'Por favor aguarde ...');
wb = 9,09;
para SNR = EbNo
sigma = 0.5 / (10 ^ (SNR/10));
Num% -> número de pacotes
para packet_count = 1: Num
% Que estão interessados na transmissão de 'K' não SÍMBOLOS bits.Assim, K * 2 para QPSK
%
Etcswitch (modulação)
caso "BPSK"
randint dados = (K, N);
BIT = 1;
case 'QPSK'
randint dados = (K * 2, N);
BIT = 2;
caso PSK'8 '
randint dados = (K * 3, N);
BIT = 3;
caso'16QAM '
randint dados = (K * 4, N);
BIT = 4;
de outra maneira
DISP ( 'Não Modulação')
fim
tx_bits = dados ».
[temp s P] = tx_modulate (tx_bits, modulação);
% pronto para transmitir símbolos de comprimento 'K'
X = temp. ";
fr_length = length (X);
MRC%
x0 = X;
% Constituem o canal matriz
se channel_model == 'AWGN'
HR = ones (fr_length, M);
diferente
Hr = (randn (fr_length, M) j * randn (fr_length, M)) / sqrt (2);
fim% transmissão matriz
H = remodelar (HR, fr_length, M);
Habs = sum (abs (H). ^ 2,2);
% sinal recebido por receptor antena
r1 = soma (H , 1) .* x0, 2) / sqrt (N) sqrt (sigma) * (randn (fr_length, 1) j * randn (fr_length, 1));
r2 = soma (H , 2) .* x0, 2) / sqrt (N) sqrt (sigma) * (randn (fr_length, 1) j * randn (fr_length, 1));
% Desmodular sinais recebidos
z1 = r1 .* conj (H , 1)) r2 .* conj (H , 2));
não codificada% (1,1)
R01 = H , 1) .* x0 sqrt (sigma) * (randn (fr_length, 1) j * randn (fr_length, 1));
% formulário estimativas
para 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;% não codificadas sinal
sinais codificados%
D1 , m) = abs (sum (z1, 2)-s (m)). ^ 2 (-1 sum (Habs, 2)) * abs (s (m)) ^ 2;
fim
% Determina o mínimo de estimativas
% para a detecção de decisão não codificada
[y0, i0] = min ((D01 ),[], 2);
s0d = s (i0); ».
claro D01
% para a detecção de decisão s1
[y1, i1] = min ((d1 ),[], 2);
s1d = s (i1). ";
claro d1
% Formulário recebeu símbolos
Xd = [s1d];
% determinar símbolo erros
error_un (packet_count) = sum (X , 1) = ~ s0d);% para não codificada
temp1 = X> 0;
temp2 Xd => 0;
erro (packet_count) = soma (soma (temp1 ~ = temp2));% para codificadas
fim%
no final do ciclo for para "packet_count"
% calcular FER, SER e BER para os actuais idx
% de sinal não codificada
SER_uncoded (idx) = soma (error_un) / (* Num K);
BER_uncoded (idx) = SER_uncoded (idx) / BIT;
FER_uncoded (idx) = SER_uncoded (idx) * K;
% para o sinal codificado
SER (idx) = soma (erro) / (* Num K);
RIC (idx) = SER (idx) / BIT;
FER (idx) = SER (idx) * K;
% incremento idx
idx = idx 1;
str_bar = [num2str (WB) '% Completed'];
waitbar (wb/100, h, str_bar);
wb wb = 9,09;
fim%
no final do ciclo for para SNR
close (h);
Best Regard
Shakeel
Eu sou novo espaço de tempo codificação. Tx a seguinte é de 1 e 2 RX código para o espaço tempo bloco code.i necessidade muito clara e de fácil explicação dos seguintes code.like o que é significado de moldura comprimento e pacotes de tamanho 1 e 2 Tx RX código
SNR até 20% dbs
EbNo = [0:2:20];
%
De N, M: número de transmitir e receber antenas
N = no_tx_antennas;
M = no_rx_antennas;
initialize% count
idx = 1;
h = waitbar (0, 'Porcentagem Completed');
set (h, 'Posição', [230 60
275,25 56,25]);
set (h, 'nome', 'Por favor aguarde ...');
wb = 9,09;
para SNR = EbNo
sigma = 0.5 / (10 ^ (SNR/10));
Num% -> número de pacotes
para packet_count = 1: Num
% Que estão interessados na transmissão de 'K' não SÍMBOLOS bits.Assim, K * 2 para QPSK
%
Etcswitch (modulação)
caso "BPSK"
randint dados = (K, N);
BIT = 1;
case 'QPSK'
randint dados = (K * 2, N);
BIT = 2;
caso PSK'8 '
randint dados = (K * 3, N);
BIT = 3;
caso'16QAM '
randint dados = (K * 4, N);
BIT = 4;
de outra maneira
DISP ( 'Não Modulação')
fim
tx_bits = dados ».
[temp s P] = tx_modulate (tx_bits, modulação);
% pronto para transmitir símbolos de comprimento 'K'
X = temp. ";
fr_length = length (X);
MRC%
x0 = X;
% Constituem o canal matriz
se channel_model == 'AWGN'
HR = ones (fr_length, M);
diferente
Hr = (randn (fr_length, M) j * randn (fr_length, M)) / sqrt (2);
fim% transmissão matriz
H = remodelar (HR, fr_length, M);
Habs = sum (abs (H). ^ 2,2);
% sinal recebido por receptor antena
r1 = soma (H , 1) .* x0, 2) / sqrt (N) sqrt (sigma) * (randn (fr_length, 1) j * randn (fr_length, 1));
r2 = soma (H , 2) .* x0, 2) / sqrt (N) sqrt (sigma) * (randn (fr_length, 1) j * randn (fr_length, 1));
% Desmodular sinais recebidos
z1 = r1 .* conj (H , 1)) r2 .* conj (H , 2));
não codificada% (1,1)
R01 = H , 1) .* x0 sqrt (sigma) * (randn (fr_length, 1) j * randn (fr_length, 1));
% formulário estimativas
para 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;% não codificadas sinal
sinais codificados%
D1 , m) = abs (sum (z1, 2)-s (m)). ^ 2 (-1 sum (Habs, 2)) * abs (s (m)) ^ 2;
fim
% Determina o mínimo de estimativas
% para a detecção de decisão não codificada
[y0, i0] = min ((D01 ),[], 2);
s0d = s (i0); ».
claro D01
% para a detecção de decisão s1
[y1, i1] = min ((d1 ),[], 2);
s1d = s (i1). ";
claro d1
% Formulário recebeu símbolos
Xd = [s1d];
% determinar símbolo erros
error_un (packet_count) = sum (X , 1) = ~ s0d);% para não codificada
temp1 = X> 0;
temp2 Xd => 0;
erro (packet_count) = soma (soma (temp1 ~ = temp2));% para codificadas
fim%
no final do ciclo for para "packet_count"
% calcular FER, SER e BER para os actuais idx
% de sinal não codificada
SER_uncoded (idx) = soma (error_un) / (* Num K);
BER_uncoded (idx) = SER_uncoded (idx) / BIT;
FER_uncoded (idx) = SER_uncoded (idx) * K;
% para o sinal codificado
SER (idx) = soma (erro) / (* Num K);
RIC (idx) = SER (idx) / BIT;
FER (idx) = SER (idx) * K;
% incremento idx
idx = idx 1;
str_bar = [num2str (WB) '% Completed'];
waitbar (wb/100, h, str_bar);
wb wb = 9,09;
fim%
no final do ciclo for para SNR
close (h);
Best Regard
Shakeel