desvanecimento plano de simulação BPSK

L

lincolndsp

Guest
Pessoal, me ajude a entender por que no meu código matlab abaixo do
BER que eu vejo é melhor do que deveria ser (para BPSK coerente).Talvez eu não adicionar ruído
B para o sognal adequada ou talvez parâmetro em raylrnd é imprópria.

Código MATLAB%
N = 10000;% número de bits
s1 = zeros (N * 100,1);% 1 caminho
s2 = zeros (N * 100,1); 2ndpath%
EbNo = 20;% Eb / n º, em dB
cicatriz = zeros (2.100 * N);
um sinal de = ((rand (1, N) -0,5) 1) / 2; gerando% seqüência aleatória de bits
T = intervalo de 1 bit%
t = 0:0.01 T *: N * T * T-0,01;
% tempo

BB = 1,2; parâmetro% no envelope Rayleigh função raylrnd

f = freqüência transportadora 2%
cicatriz (1,

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorrir" border="0" />

= sin (2 * pi * f * t); 2% os sinais de referência para o receptor
cicatriz (2,

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorrir" border="0" />

=- sin (2 * pi * f * t);

randn ( 'state', 123)
ab = raylrnd (BB, 1, N * 100);% envelope Raylegh
rand ( 'state', 234)
unifrnd phi = (0,2 * pi, 1, N * 100); fase uniforme%

para k = 1: size (a, 2)
i = 1;
para j = (k-1) * 100 1: k * 100
if (a k () 1) == 1
S1 (j) = ab (i) .* sin (2 * pi * f * t (i) fi (i));
end;
if (a k () 1) == 2
S1 (j) =- ab (i) .* sin (2 * pi * f * t (i) fi (i));
end;
i = i 1;
end;
end;randn ( 'estado', 1230)
ab = raylrnd (BB, 1, N * 100);
rand ( 'state', 1234)
unifrnd phi = (0,2 * pi, 1, N * 100);

para k = 1: size (a, 2)
i = 1;
para j = (k-1) * 100 1: k * 100
if (a k () 1) == 1
s2 (j) = ab (i) .* sin (2 * pi * f * t (i) fi (i));
end;
if (a k () 1) == 2
s2 (j) =- ab (i) .* sin (2 * pi * f * t (i) fi (i));
end;
i = i 1;
end;
end;
s = zeros (1, N * 100);

para k = 1: size (a, 2)
i = 1;
para j = (k-1) * 100 1: k * 100
s (j) cicatriz = (a k () 1, i);% sinal BPSK
i = i 1;
end;
end;
sorig = s;% salvar sinal BPSK para o efeito futuro da adição de ruído

gmsksig = zeros (N * 100,1);
sorig bpsksig =;

SNR =- 20 EbNo 3;% SNR em dB, 3 dB é porque a adição de ruído a um sinal real,
% não complexas

snoise = zeros (N * 100,1);
ruído = zeros (N * 100,1);
snoise = AWGN (bpsksig, SNR, 'medida', 123, 'db');
snoise1 = zeros (N * 100,1);
noise1 = zeros (N * 100,1);
ruído = snoise sorig;

snoise1 = AWGN (bpsksig, SNR, 'medida', 1234, 'db');
noise1 = snoise1-sorig;

snoise2 = AWGN (bpsksig, SNR, 'medida', 234, 'db');
noise2 = snoise2-sorig;s = s1 s2 ruído noise1;% 2 caminhos desbotada

detector correlacionador% coerente

tt = 0:0.01 T *: T-0,01 * T;
sinerom = zeros (100,2);
cosintegral = zeros (N, 2.100);
cossum = zeros (N, 2);
sinerom (1,

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorrir" border="0" />

= sin (2 * pi * f * tt);% cópia do sinal senoidal representando '1 '
sinerom (2,

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorrir" border="0" />

=- sin (2 * pi * f * tt);% cópia do sinal senoidal representando '-1' com a fase invertida
para k = 1: size (a, 2)
for i = 1:2
for jj = 1:100
(k cosintegral, i, jj) = s (k (-1) * 100 jj) .* sinerom (i, jj);% aqui correlação do tipo detector
end;% é realizado; primeira multiplicando-se o sinal recebido
% com cópias do sinal no 2 ramos de
correlator%
end;
end;
j = 0;
para k = 1: size (a, 2)
for i = 1:2
k cossum (, i) = (soma cosintegral (k, i,

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorrir" border="0" />

);% Aqui é a integração ou a soma das amostras th
end;
maxcossum (k) = max (cossum (k,

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sorrir" border="0" />

);% Valor aqui max dos ramos correlacionador é determinado
end;
para k = 1: size (a, 2)
for i = 1:2
se k cossum (, i) == maxcossum (k)
indexcossum (k) = i;% aqui o número da agência onde o máximo
% Seja alcançado (1 ou 2)
end;
end;
end;
atrsec = [0 1];
para k = 1: size (a, 2)
adetsec (k) = atrsec (indexcossum (k));% do ramo 1 significa "1" foi transmitido
end;% dos meios ramo 2 '-1' foi transmitido

para j = 1: size (a, 2)
res (j) = adetsec (j)-a (j);
end;
max (res)
min (res)
kjk = 0;
para j = 1: size (a, 2)
caso julgado (j) == 0
kjk kjk = 1;
end;
end;
errornum size = (a, 2)-número% kjk de erros
e formato de curta distância;
errornum bercalc = / size (a, 2% BER)
formato;
end%

O m-arquivo anexado é o mesmo.Estes símbolos emoções me fez fazer
este.
Desculpe, mas você precisa de login para ver esta penhora

 
Verifique este código:

Simulação% do BPSK em um canal flat fading Rayleigh
% EE 252 - Primavera de 2004 - San Jose State University
apagar

N = 1000000;
SNR = 0:1:25;
para m = 1: SNR (tamanho, 2)
efade = 0;
egaus = 0;
N º 10 = ^ (-SNR (m) / 10);% PSD de AWGN
sigma = sqrt (n / 2);% Desvio padrão
para n = 1: N
s = (-1) ^ round (rand);
x = randn / sqrt (2);
y = randn / sqrt (2);
p = x ^ 2 y ^ 2;% Fading Power
um = sqrt (p);% Amplitude Fading
r = a * s sigma * randn;% sinal desvanecido AWGN
rg = s sigma * randn;% sinal unfaded AWGN
if (r> 0)
Shat = 1;
diferente
Shat =- 1;
fim
if (rg> 0)
sh = 1;
diferente
sh =- 1;
fim
if (shat ~ = s)
efade = efade 1;
fim
if (sh ~ = s)
egaus = egaus 1;
fim
fim
PE (m) = efade / N;% BER desvanecimento Rayleigh plano
PEG (m) = egaus / N;% BER AWGN apenas
fprintf ( '% f \ t% e \ n', SNR (m), PE (m));
fim
semilogy (SNR, ,'-') PE
espere
semilogy (SNR, peg ,':')
legend ( 'canal Rayleigh', 'canal AWGN');
ylabel ( 'Bit Error Rate ");
xlabel ( 'Média E_b/N_0 (dB)');
title ( 'Desempenho de BPSK Rayleigh mais plana e canais AWGN');
axis ([SNR (1) SNR (fim) 9.5E-6 1])

 
a ahmedseu:
obrigado.Por favor, você poderia
Também o código postal matlab similares
para frequência desvanecimento seletivo
por exemplo, a base do dois-ray
Desvanecimento Rayleigh

 
Simulação% do desempenho de erro de modulação BPSK mais um símbolo espaçamento
Freqüência% slow-selectivos duas caminho Rayleigh fading channel
% EE 252 - Primavera de 2004 - San Jose State University
desmarcar todas
CLC

p (1) = input ( 'Digite o primeiro elemento do perfil de atraso de energia em dB:');
p (2) = input ( 'Entre o segundo elemento do perfil de atraso de energia em dB:');

P1 = 10 ^ (p (1) / 10);
P2 = 10 ^ (p (2) / 10);
PM = P1 P2;

P1 p_n =;% / PM
p_n_1 = P2;% / PM

N = 10000;
SNR = 0:1:25
para m = 1: SNR (tamanho, 2)
efade = 0;
N º 10 = ^ (-SNR (m) / 10);% PSD de AWGN
sigma = sqrt (n / 2);% Desvio padrão
s_n_1 = 0;
a_n_1 = 1;
para n = 1: N
s = (-1) ^ round (rand);
x = randn / sqrt (2);
y = randn / sqrt (2);
p = x ^ 2 y ^ 2;% Fading Power
um = sqrt (p);% Amplitude Fading
r_n = sqrt (p_n) * a * s sqrt (p_n_1) * a_n_1 * s_n_1;
a_n_1 = a;
s_n_1 = s;
r = r_n sigma * randn;% desbotada sinal AWGN
if (r> 0)
Shat = 1;
diferente
Shat =- 1;
fim
if (shat ~ = s)
efade = efade 1;
fim
fim
PE (m) = efade / N;% BER
fprintf ( '% f \ t% e \ n', SNR (m), PE (m));
fim

semilogy (SNR, pe, ': s')
ylabel ( 'Bit Error Rate ");
xlabel ( 'Média E/N_0 (dB)');
title ( 'Perfomance da modulação BPSK mais de um caminho de dois canais Rayleigh');
axis ([SNR (1) SNR (final) 1e-3 1])
grid on
espere

 
Alikm Asalm
você poderia por favor postar o código matlab similares
BPSK ao longo do canal AWGNAdicionado após 0 segundos:Alikm Asalm
você poderia por favor postar o código matlab similares
BPSK ao longo do canal AWGN

 
Pl.post os códigos para digffeerent sistemas de codificação adequado para CDMA.

 
Oi
Alguém pode postar QAM-COFDM código MATLAB para
(1) Raleigh frequência seletiva e flat fading
(2) Simillarly para desvanecimento Ricean

Thanx in advance.

 

Welcome to EDABoard.com

Sponsor

Back
Top