Bài thí nghiệm Thông Tin Số

Bài số 1: Quá trình ngẫu nhiên của tín hiệu
1.1 Vẽ hàm phân bố xác suất Gauss
a. Matlab code
%ham phan bo xac suat Gauss
m=0;
sigma=1;
x=-5:0.05:5;
p=1/(sqrt(2*pi)*sigma)*exp(-(x-m).^2/(2*sigma^2));
plot(x,p);
title('Ham phan bo xac suat Gauss');

b. Figure

PP

X

Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail.com

1

x=-5:0.p.n).05:5.05). hold on. sigma=1. p1=hist(y. y=randn(1.p1/n/0.com 2 .05:5. plot(x. Figure P Hình 1.^2/(2*sigma^2)). n=100000.Bài thí nghiệm Thông Tin Số 1. b. hold off.2 Mô phỏng quá trình ngẫu nhiên và tính hàm mật độ xác suất a. Matlab code m=0. title('Ham mat do phan bo xac suat n=100000'). Hàm phân bố xác suất quá trình ngẫu nhiên với n=100000 Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail.x2). xlabel('X').'r'). ylabel('P'). x2=-5:0. p=1/(sqrt(2*pi)*sigma)*exp(-(x-m). stem(x2.

com 3 .Bài thí nghiệm Thông Tin Số P Hình 2 Hàm phân bố xác suất quá trình ngẫu nhiên với n=1000000 Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail.

Rxx=zeros(1. plot(fx.1. x=randn(1. end.3). Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail. ylabel('dB').2).x). xlabel('lags'). plot(Rxx).1.1). ttitle('Ham Tu tuong quan tin hieu ngau nhien'). axis([0 10^5 -1000 1000]). subplot(3.Bài thí nghiệm Thông Tin Số Bài số 2 Mật độ phổ năng lượng và hàm tự tương quan của tín hiệu Matlab code Hàm tự tương quan function [Rxx]=autom(x) % [Rxx]=autom(x) %Hàm tự tương quan của tín hiệu rời rạc x % Number of samples in x. ylabel('Amplitude'). N=length(x).com 4 .N).N). Rxx=autom(x). ylabel('Autocorrelation'). subplot(3. xlabel('N'). grid. plot(n. fx=(0:N/2-1)/N. ttitle('Ham mat do pho nang luong'). Vẽ hàm tự tương quan và hàm mật độ phổ năng lượng N=100000. n=[1:N]. grid.20*log(p(1:N/2))). end. p=abs(fft(Rxx)).1. title('Tin hieu ngau nhien'). for m=1: N+1 for n=1: N-m+1 Rxx(m)=Rxx(m)+x(n)*x(n+m-1). subplot(3. xlabel('f').

com 5 .Bài thí nghiệm Thông Tin Số Figure Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail.

gamma_b(i)=10^(snr(i)/10).ber. end  Vẽ BER/SNR n=50000.snr.'--'). Mã đường dây NRZ 3. ber=[].snr) %n.1 Truyền dẫn số dùng mã hóa BPSK a) Matlab code  Hàm tính BER của BPSK function BER=BPSK_map(n.n)>0.BPSK_de_mapping))/n. noise=sqrt(n_0/2)*(randn(size(s))+j*randn(size(s))).Signal Noise Ratio %Mapping s=2*bit-1. n_0=eb/10^(snr/10). xlabel('SNR').number of bit %bit-bit input %snr.p=[]. title('BER/SNR'). bit=randn(1. %De-mapping BPSK_de_mapping=[]. for i=1:length(snr) ber(i)=BPSK_map(n. for i=1:n d1=(real(BPSK_receiver(i))-1)^2+imag(BPSK_receiver(i))^2.com 6 . %AWGN channel es=var(s).5. ylabel('BER').bit. snr=[0:1:10]. BPSK_de_mapping=[BPSK_de_mapping (d1<=d2)].p. d2=(real(BPSK_receiver(i))+1)^2+imag(BPSK_receiver(i))^2. end semilogy(snr.5*(1-erf(sqrt(gamma_b(i))/sqrt(2))).'-'.bit.'Ly thuyet'). BPSK_receiver=s+noise. end BER=sum(xor(bit.snr(i)).Bài thí nghiệm Thông Tin Số Bài số 3. Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail. eb=es/2. legend('Mo phong'. p(i)=0.

com 7 .Bài thí nghiệm Thông Tin Số b) Figure Hình 1 BER/SNR truyền dẫn số dùng BPSK Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail.

com 8 .Bài thí nghiệm Thông Tin Số Hình 2: So sánh tỷ lệ BER/SNR lý thuyết và mô phỏng Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail.

n). plot(exp(j*t). ylabel('S').Bài thí nghiệm Thông Tin Số Bài số 4 Điều chế QPSK 3. title('Bieu do chom sao QPSK').Figure Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail. elseif bit(i)==1&bit(i+1)==0 s((i+1)/2)=exp(j*7*pi/4). s=[]. b. it=randint(1. elseif bit(i)==0&bit(i+1)==1 s((i+1)/2)=exp(j*3*pi/4).01:2*pi. for i=1:2:length(bit) if bit(i)==0&bit(i+1)==0 s((i+1)/2)=exp(j*pi/4).'r--'). t=0:0.com 9 .1 Biểu đồ chòm sao QPSK a. end end plot(s.'*') hold on. xlabel('\phi(t)'). elseif bit(i)==1&bit(i+1)==1 s((i+1)/2)=exp(j*5*pi/4). Matlab code n=50000.

eb=es/2. r=s+n. plot(exp(j*t). n=sqrt(n_0/2)*(randn(size(s))+j*randn(size(s))). ylabel('S'). n_0=eb/10^(snr_db/10). title('Bieu do chom sao QPSK'). hold on t=0:0. xlabel('\phi(t)'). Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail.2 Tín hiệu QPSK qua nhiễu trắng snr_db=6.') hold on plot(s.01:2*pi.'. plot(r.'r--').'r*'). es=var(s).01:2*pi.Bài thí nghiệm Thông Tin Số Hình 1 Biểu đồ chòm sao QPSK 4.com 10 . t=0:0.

com 11 .Bài thí nghiệm Thông Tin Số Hình 2 Biểu đồ chòm sao QPSK qua nhiễu trắng SNR=6 Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail.

com 12 .Bài thí nghiệm Thông Tin Số Hình 3 Biểu đồ chòm sao QPSK qua nhiễu trắng SNR=3 Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail.

Mô phỏng hệ thống thông tin số dùng QPSK a.Bài thí nghiệm Thông Tin Số Bài số 5. elseif bit(i)==0&bit(i+1)==1 s((i+1)/2)=exp(j*3*pi/4). if d(k)<=d(m) m=k. bit1=[]. r=s+noise. t=0:0. m=1. for k=2:4 d(k)=(real(r(i))-real(exp(j*pi*(2*k-1)/4)))^2+(imag(r(i))imag(exp(j*(2*k-1)*pi/4)))^2.Matlab code: Hàm mã hóa và giải mã function ber=QPSK_map(n.number of bit %bit %snr-Signal Noise Ratio s=[].01:2*pi. for i=1:2:n if bit(i)==0&bit(i+1)==0 s((i+1)/2)=exp(j*pi/4). noise=sqrt(n_0/2)*(randn(size(s))+j*randn(size(s))). end end es=var(s). Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail. n_0=eb/10^(snr/10). eb=es/2. for i=1:n/2 d(1)=(real(r(i))-real(exp(j*pi*1/4)))^2+(imag(r(i))imag(exp(j*pi/4)))^2. d=[].snr) %n. elseif bit(i)==1&bit(i+1)==0 s((i+1)/2)=exp(j*7*pi/4). end end bit1=[bit1 a(2*m-1) a(2*m)].com 13 . a=[0 0 0 1 1 1 1 0].bit. elseif bit(i)==1&bit(i+1)==1 s((i+1)/2)=exp(j*5*pi/4).

5.0069 6 0.bit1))/n end Kết quả SNR BER 0 0.n)>0. So sánh BER/SNR Matlab code n=50000.com 14 .Bài thí nghiệm Thông Tin Số end ber=sum(xor(bit.0012 Figure Bài số 6. bit=randn(1.064 2 0. snr=[0:1:10]. Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail.028 4 0.

'--').snr.064 2 0. p(i)=erfc(sqrt(2*gamma_b(i))/sqrt(2))/2. end symilog(snr. legend('Mo phong'.p. title('BER/SNR').0125 0.0012 15 .0786 0.snr(i)).p=[].com 4 0.0069 6 0.ber. ylabel('BER').0375 0. xlabel('SNR').Bài thí nghiệm Thông Tin Số ber=[].bit.028 Trịnh Văn Hiệp – DTVT08-K54 – trinhhiepth@gmail.'Ly thuyet'). for i=1:length(snr) ber(i)=QPSK_map(n. Kết quả SNR BER (lý thuyết) BER (mô phỏng) 0 0.0024 0.'-'. gamma_b(i)=10^(snr(i)/10).

Sign up to vote on this title
UsefulNot useful