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: . 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