Tải bản đầy đủ (.doc) (8 trang)

báo cáo thí nghiệm thông tin số

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (654.35 KB, 8 trang )

Bài 1
1.1Vẽ hàm phân bó của biến ngẫu nhiên µ với giá trị trung bình và độ
lệch chuẩn cho trước m
µ
=0;σ
µ
=1
 Chương trình:
function tn1
x=-4:0.05:4;
p=exp(-x.^2/2)/(sqrt(2*pi));
check=trapz(x,p);
plot(x,p);
xlabel('x','Fontsize',12);
ylabel('p(x)','fontsize',12);
 Kết quả thực hiện:
1.2Vẽ hàm phân bố xác suất của biến ngẫu nhiên Gauss với trị trung
bình và độ lệch chuẩn của 1 quá trình ngẫu nhiên tự tạo
 Chương trình:
function tn1_2
clear;
n=1000000;
x=-4:0.05:4;
p=exp(-x.^2/2)/(sqrt(2*pi));
check=trapz(x,p);
plot(x,p,'r');
hold on;
y=randn(1,n);
m=mean(y);
variance=std(y)^2;
x2=-4:0.05:4;


c=hist(y,x2);
stem(x2,c/n/(x2(2)-x2(1)));
title('Gaussian Distributed pdf');
xlabel('x');
ylabel('p(x)');
legend('theoretical','experimetal');
hold off;
 Kết quả thực hiện :
Nhận xét :Đồ thị của hàm phân bố Gauss nhận được giống với đồ thị ở bài 1-1
1.3Xây dựng hàm tự tương quan cho quá trình ngẫu nhiên ở bài 1.2
Nhận xét: Hàm tự tương quan của quá trình ngẫu nhiên ở ví dụ 1.2 giống với hàm
mật độ phổ năng lượng của chính nó
Bài 3
3.1 Vẽ biểu đồ chòm sao của tín hiệu điều chế QPSK
 Chương trình:
clear;
x=round(rand(1,10000));
plot(x);
for i=1:2:length(x)
if x(i)==0&x(i+1)==0
s((i+1)/2)=exp(j*pi/4);
elseif x(i)==0&x(i+1)==1
s((i+1)/2)=exp(j*3*pi/4);
elseif x(i)==1&x(i+1)==1
s((i+1)/2)=exp(j*5*pi/4);
elseif x(i)==1&x(i+1)==0
s((i+1)/2)=exp(j*7*pi/4);
end
end
save ex5p1_res s x;

plot(s,'*');
hold on;
t=0:0.01:2*pi;
plot(exp(j*t),('r '));
xlabel('\phi(t)');
ylabel('s_m');
title('the complex signel-space diagram for 4-QPSK');
Kết quả thực hiện:
3.2 Cho tín hiệu điều chế được qua kênh nhiễu trắng (AWGN) vẽ biểu đồ chòm
sao.
 Chương trình:
clear;
load ex5p1_res;
es=var(s);
eb=es/2;
snr_db=6;
n_0=eb/10^(snr_db/10);
n=sqrt(n_0/2)*(randn(size(s))+j*randn(size(s)));
r=s+n;
plot(r,'.');
hold on;
plot(s,'.');
hold on;
t=0:0.01:2*pi;
plot('exp(j*t),]r ');
legend('s_m','s');
xlabel('I');
ylabel('Q');
title('the complex signal diagram of 4-QPSK');
 Kết quả thực hiện :

TH1: SNR=6db
TH2: SNR=3dB
Qua quá trình mô phỏng trên ta thấy tỷ lệ SNR càng thấp thì các đám mây
Gauss càng dày, tín hiệu càng bị nhiễu
Bài 4
4.1 Mô phỏng hệ thống truyền dẫn số băng tần cơ sở sử dụng phương pháp mã
hóa NRZ lưỡng cực.Đếm số bít lỗi xuất hiện và vẽ đồ thị BEP
 Chương trình
clear all;
load ex5p1_res s x;
snr_db=0:2:8;
for i=1:length(snr_db)
c(i)=cha(snr_db(i),s,x);
end
BEP=c/length(x);
semilogy(snr_db,BEP,' ');
title('The bit error probability');
xlabel('SNR in dB');
ylabel('p_b');
legend('p_b');
save ex6p1_res c BEP;
Hàm cha:
function y=cha(snr_db,s,x)
es=var(s);
eb=es/2;
n_0=eb/10^(snr_db/10);
n0=sqrt(n_0/2)*(randn(size(s))+j*randn(size(s)));
ns=s+n0;

theta_m=[pi/4,3*pi/4,5*pi/4,7*pi/4];

s_m=exp(j*theta_m);

for i=1:length(s)
d=abs(s_m-ns(i));
md=min(abs(s_m-ns(i)));
if md==d(1);
r(2*i-1)=0;
r(2*i)=0;
elseif md==d(2);
r(2*i-1)=0;
r(2*i)=1;
elseif md==d(3);
r(2*i-1)=1;
r(2*i)=1;
elseif md==d(4);
r(2*i-1)=1;
r(2*i)=0;
end
end
c=0;
for i=1:length(x)
if r(i)~=x(i);
c=c+1;
end
end
y=c;
Kết quả thực hiện:
4.2 So sánh tỷ lệ bit lỗi thu được bằng mô phỏng so với lý thuyết
 Chương trình:
clear;

snr_db=0:8;
snr_db_simulation=0:2:8;
for i=1:length(snr_db)
snr(i)=10^(snr_db(i)/10);
gama_b(i)=snr(i);
p_b(i)=erfc(sqrt(2*gama_b(i))/sqrt(2))/2;
end
semilogy(snr_db,p_b,'ro ');
hold on;
load ex6p1_res c BEP;
title('The bit error probability');
xlabel('SNR in dB');
ylabel('p_b');
legend('Theory','simulation');
hold off
 Kết quả thực hiện:

×