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... Kết quả thực hiện:.
Trang 1Bà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
Trang 2n=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ó
Trang 3Bà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 ;
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');
Trang 4Kế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');
Trang 5 Kết quả thực hiện : TH1: SNR=6db
TH2: SNR=3dB
Trang 6Qua 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 ;
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 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;
Trang 7for 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 BEP;
title('The bit error probability');
xlabel('SNR in dB');
ylabel('p_b');
legend('Theory','simulation');
hold off
Trang 8 Kết quả thực hiện: