Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetivos
- Implementar no Matlab 2 métodos diferentes de sincronização de bits.
- Melhorar a compreensão do funcionamento dos métodos de sincronização de bits.
- Melhorar a capacidade de interpretação de exemplos e códigos no Matlab.
Procedimentos
Método 1
Assuma que um sinal NRZ Polar passe por um canal limitado em banda. Caso o sinal NRZ seja
elevado ao quadrado, uma componente é gerada na mesma frequência que a taxa de símbolos.
Então um PLL (phase-locked loop) pode ser utilizado para trava a fase da componente para gerar o
sinal de sincronismo de bit.
Para o experimento do método 1, 1000 símbolos são gerados no código dado, assuma que a duração
desses 1000 símbolos seja de 1 segundo. Portanto, a taxa de símbolos será igual a 1000 símbolos/s.
O sinal NRZ é amostrado a uma taxa de 50 amostras por símbolo, o que dá uma frequência de
amostragem igual a 50 kHz. O sinal NZ é filtrado por um filtro passa-baixa do tipo Butterworth de
terceira ordem e frequência de corte 2 vezes maior que a taxa de símbolos.
Leia, entenda e implemente o código abaixo no Matlab e gere os gráficos que demonstrem o
funcionamento do método 1.
Comunicações Digitais 1
Gustavo Nozella Rocha
Universidade Federal de Uberlândia
Faculdade de Engenharia Elétrica
Engenharia Eletrônica e de Telecomunicações
datavector2 = filtout.*filtout;
subplot(3,1,2), plot(datavector2(1,200:799),'k', 'LineWidth', 1.5)
ylabel('Amplitude')
y = fft(datavector2);
yy = abs(y)/(nsym*nsamp);
subplot(3,1,3), stem(yy(1,1:2*nsym),'k.')
xlabel('FFT Bin'), ylabel('Spectrum')
% End of script file.
Método 2
Comunicações Digitais 1
Gustavo Nozella Rocha
Universidade Federal de Uberlândia
Faculdade de Engenharia Elétrica
Engenharia Eletrônica e de Telecomunicações
y(k) = x(i);
end
datavector1 = conv(y,ones(1,nsamp)); % Faz cada símbolo possuir comprimento igual a
nsamp
subplot(4,1,1), plot(datavector1(1,200:800),'k', 'LineWidth', 1.5)
axis([0 600 -1.4 1.4]), ylabel('Amplitude')
datavector2 = [datavector1(1,m-nsamp/2 + 1:m) datavector1(1,1:m-nsamp/2)];
subplot(4,1,2), plot(datavector2(1,200:10000),'k', 'LineWidth', 1.5)
axis([0 600 -1.4 1.4]), ylabel('Amplitude')
datavector3 = datavector1.*datavector2;
subplot(4,1,3), plot(datavector3(1,200:10000),'k', 'LineWidth', 1.5), axis([0 600 -1.4 1.4]),
ylabel('Amplitude')
y = fft(datavector3);
yy=abs(y)/(nsym*nsamp);
subplot(4,1,4), stem(yy(1,1:4*nsym),'k.')
xlabel('FFT Bin'), ylabel('Spectrum')
% End of script file.
Comunicações Digitais 1
Gustavo Nozella Rocha