You are on page 1of 14

TRUỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

KHOA ĐIỆN TỬ VIỄN THÔNG


---***---

BÁO CÁO THÍ NGHIỆM


THÔNG TIN SỐ
Mã số môn học : ET3130
Số học tín chỉ :3
Họ và tên sinh viên : Nguyễn Thị Kim Phượng
Lớp : Điện tử 9- K52
SHSV : 20072288
Nhóm :12068

Hà nội 2010
Bài số 1: Hàm xác xuất phân bố Gauss của biến ngẫu nhiên
1.1:
• Code:

x= -4:0.05:4; % bien x lay gia tri tu (-4;4) moi gia tri cach nhau 0.05

p=1/sqrt(2*pi)*exp(-x.^2/2);

plot(x,p); % ham ve do thi lien tu

title('ham phan bo xac xuat cua bien ngau nhien');

xlabel('x');

ylabel('y');

• Đồ thị

1.2

• Code

n=100000;
y=randn(1,n); % tao ma tran ngau nhien phan bo theo ham gauss

m=mean(y); % trung binh cua y

variance=std(y)^2;% phuong sai cua y

x2=-4:0.1:4;

c=hist(y,x2); % su phan bo cua y theo x2

stem(x2,c/n/(x2(2)-x2(1))); %ve do thi roi rac

title('ham mat do phan bo');

xlabel('X');

ylabel('P(X)');

• Đồ thị

1.3:

Nhận xét:

+ Đại luợng kì vọng thể hiện giá trị trung bình cùa hàm phân bố gauss. Phương sai đặc trưng cho
độ lệch của biến x quanh một giá trị kỳ vọng.

+ Hàm phân phối xác suất gauss trong thông tin số thể hiện Nhiễu khi phát và khi thu tín hiệu
( nhiễu gauss).

+ Khi tăng kì vọng và phuơng sai thi đồ thị dich sang bên phải:
+ Đồ thị bài 1.1 và 1.2 trên cùng 1 đồ thị:

+ Thay đổi độ dài của quá trình ngẫu nhiên 1.2 lên 1000000 phần tử:
So với kết quả cũ thì kết quả mới giống hàm phân bố xác suất gauss hơn vì số điểm được lấy lớn
hơn rất nhiều. vì thế, để xét 1 quá trình ngẫu nhiên cần khảo sát nhiều điểm rời rạc.

+ Mối liên hệ giữa hàm tự tuơng quan và hàm mật độ phổ năng luợng:

Bài số 2:Điều chế BPSK


2.1:

• Code:

clear

N = 10^6 % number of bits or symbols

ip = rand(1,N)>0.5; % tao 1 day ngau nhien 0 1

s = 2*ip-1; % dieu che BPSk, 1>1,0>-1

n = 1/sqrt(2)*[randn(1,N) + j*randn(1,N)]; % nhieu trang theo phan bo gauss

SNR = 0:2:6; % ti le tin hieu tren nhieu

for i = 1:length(SNR)

y = s + 10^(-SNR(i)/20)*n; % cong nhieu trang

ipHat = real(y)>0; % receiver - hard decision decoding

c(i) = size(find([ip- ipHat]),2); % dem bit loi


end

BER = c/N;

theoryBer = 0.5*erfc(sqrt(10.^(SNR/10))); % theoretical ber

semilogy(SNR,BER,'b.-');

xlabel('Eb/No, dB');

ylabel('Bit Error Rate');

title('Bit error probability curve for BPSK modulation');

• Đồ thị

2.2:

• Code:

clear

SNR_db=0:6;

SNR_dn_simulation=0:2:6;

for i=1:length(SNR_db)

SNR(i)=10^(SNR_db(i)/10);

gama_b(i)=SNR(i);

p(i)=1/2*[1-erf(1/sqrt(2)*sqrt(gama_b(i)))];

end

semilogy(SNR_db,p,'ro--')

xlabel('SNR');
ylabel('P');

title('loi BER thuyet');

• Đồ thị:

+ Vẽ trên cùng 1 đồ thị:


+ Phải sử dụng mã đuờng truyền để giảm nhiễu ISI trên kênh truyền. phải điều chế tín hiệu để
nâng tốc độ kênh truyền.

+ Khi tỉ số SNR tăng thì xác suất lỗi giảm do tin hiệu tăng, nhiễu giảm. giống trên đồ thị.

+ So sánh PSK va FSK: PSK có thể dùng kết hợp với ASK để tăng dung luợng đuờng truyền dẫn
số khi băng thông của kênh tuyền có giới hạn.

Bài số 3: Điều chế QPSK


3.1:

• Code

clear

x=round(rand(1,10000)); % lấy chuỗi bit ngẫu nhiên

for i=1:2:length(x) % vòng lặp

if x(i)==0 & x(i+1)==0 % mã hóa 00 thành exp(j*pi/4)

S((i+1)/2)=exp(j*pi/4);

elseif x(i)==0 &x(i+1)==1 % mã hóa 01 thành exp(j*3*pi/4)

S((i+1)/2)=exp(j*3*pi/4);

elseif x(i)==1 &x(i+1)==1 % mã hóa 11 thành exp(j*5*pi/4)

S((i+1)/2)=exp(j*5*pi/4);

elseif x(i)==1 &x(i+1)==0% mã hóa 10 thành exp(j*7*pi/4)

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('bieu do khong gian tin hieu phuc cua tin hieu dieu che QPSK');

hold off;
• Đồ thị:

3.2:

• Code:

clear;

load ex5p1_Res;

Es=var(S); % độ thay đổi của 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)));% nhiễu trắng

R=S+N; % công nhiễu

plot(R,'.');

hold on;

plot(S,'r*');

hold on;
t=0:0.01:2*pi;

plot(exp(j*t),'r--');

legend('S_m','S');

title('bieu do chom sao cua tin hieu thu duoc');

xlabel('I');

ylabel('Q');

hold off;

• Đồ thị:

Nhận xét:

+ Thay đổi tỉ số SNR trong bài 3.2 thì các chùm sao bị thi hẹp lại. Do SNR tăng nên tín hiệu tăng,
nhiễu giảm.

+ Hàm tạo 1 chuỗi bit ngẫu nhiên :

x=round(rand(1,10000));

Trước tiên hàm rand(1,10000) tạo 1 ma trận 1 hàng 10000 cột (dãy 10000 phần tử ) gồm các
phần tử ngẫu nhiên có giá trị trong khoảng (0,1). Sau đó hàm round làm tròn các giá trị đó tới các giá trị
nguyên gần nhất (0 hoặc 1).

Bài số 4:QPSK
4.1:

• Code:

%save this function to a file name “cha.m”

function y=cha1(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;
% Main function:
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,'.--');
save ex6p1_Res c BEP;

• Đồ thị:
4.2:
• Code :
clear;

SNR_db=0:8;

SNR_db_simulation=0:2:8;

for i=1:length(SNR_db)

SNR(i)=10^(SNR_db(i)/10);

gamma_b(i)=SNR(i);

p_b(i)=erfc(sqrt(2*gamma_b(i))/sqrt(2))/2;

end

semilogy(SNR_db,p_b,'ro--')

hold on

load ex6p1_Res c BEP;

semilogy(SNR_db_simulation,BEP,'x--')

title('cac xac suat loi bit');


xlabel('SNR in dB');

ylabel('P_b');

legend('Theory','Simulation');

hold off

• Đồ thị:

+ Xác suất lỗi bit của BPSK lớn hơn của QPSK.
+ QPSK sẽ cho tốc độ bit cao hơn so với BPSK nhưng băng thông tín hiệu không đổi hoặc ngược
lại ( băng thông tín hiệu QPSK sẽ nhỏ hơn băng thông BPSK với cùng 1 tốc độ) nên QPSK sẽ
truyền được luợng tin tức lớn hơn của BPSK.

You might also like