1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo THÍ NGHIỆM THÔNG TIN số ( ET3250)

20 14 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 435,99 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hàm Px đều biểu thị cho hàm số mũ lũy thừa có cơ số e 1.2 Ý nghĩa và ứng dụng của hàm phân phối xác suất Gauss trong thông tin số Hàm phân phối xác suất Gauss trong thông tin số cho biết

Trang 1

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

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

BÁO CÁO THÍ NGHIỆM THÔNG TIN SỐ ( ET3250)

Hà Nội, 2022

Trang 2

BUỔI 1 THÍ NGHIỆM :

Bài 1.1

Mã nguồn matlab:

Px=(1/sqrt(2*pi))*exp(-power(x,2)/2); %P(x) ứng với giá trị củ'a x

Kết quả mô phỏng

Trả lời câu hỏi :

1.1 Mô tả hình dạng đồ thị của hàm P(x) trên :

Trang 3

Đồ thị có dạng hình chuông Hàm P(x) đều biểu thị cho hàm số mũ lũy thừa có cơ số e 1.2 Ý nghĩa và ứng dụng của hàm phân phối xác suất Gauss trong thông tin số

Hàm phân phối xác suất Gauss trong thông tin số cho biết mật độ phân bố tập trung của thông tin trong 1 thời gian xác định

1.3 Nếu thay đổi kỳ vọng u và phương sai thì P(x) thay đổi

Nếu tăng kỳ vọng và phương sai thì đồ thị có xu hướng thoải ra và lệch sang bên phải

Đó là do đăc trưng của hàm lũy thừa

Bài 1.2:

Mã nguồn Matlab:

leng=100000; % Độ dài củ'a qủá trình ngẫ;ủ nhiên

x=randn(1,leng); %Tạo qủá trình ngẫ;ủ nhiên theo pp chủẫ'n

k=-5:step:5; %vector k

px=hist(x,k)/leng/step; % Phẫn bồ> xác sủẫ>t vào các khoa'ng vector k stem(k,px); % Vẽ lên đồ thị

hold on;

Px_theo=(1/sqrt(2*pi))*exp(-power(k,2)/2);

plot(k,Px_theo);

title('Phan bo xac sủat Gaủss'); % Tiêủ đê

legend('Analysis','Simủlation'); % Chú thích

hold off;

Trang 4

Kết quả mô phỏng

Trả lời câu hỏi :

1 Kết quả hai hàm mô phỏng và lý thuyết khá tương đồng với nhau

2 Thay đổi quá trình ngẫu nhiên lên 10000000 phần tử Kết quả mới chính xác hơn

so với kết quả cũ , thay đổi độ dài của quá trình ngẫu nhiên thì càng chính xác

3 Câu lệnh : px= hist(x,k) /len/step thì phải chia cho len để tạo net liền và phải chia cho step để tăng độ dài mỗi phần tử

Bài 2.1 Hàm lquan

fủnction [id qy]= lqủan(x,xmin,xmax,nbit)

nlevel = 2^nbit;

q = (xmax-xmin)/nlevel;

[id qy] = qủantiz(x,xmin+q:q:xmax-q,xmin+q/2:q:xmax-q/2);

Trang 5

Chạy chương trình:

xs = rand(1,5)*2-1;

[xi xq] = lqủan(xs,-1,1,3)

Trả lời câu hỏi

Bài 2.2.

Mã nguồn Matlab:

t=0:0.01:20; %Thời gian

xt=sin(randn()+t).*cos(rand()*t); %Tín hiệủ

x(t) [inx xqt]=lqủan(xt,-1,1,randi(3)+1);

%Lượng tư' hóa plot(t,xt); %Vẽ đồ thị x(t)

hold on;

plot(t,xqt); %Vẽ đồ thị lượng tư'

xlabel('time'); %Dán nhãn x

ylabel('signal'); %Dán nhãn y

Trang 6

Kết quả mô phỏng:

Trả lời câu hỏi :

1 Số bit dung để lượng tử cho 1 mẫu tín hiệu : n=3 ( 8 mức lượng tử hóa )

2 Bước lượng tử q: q=0.25

3 Mức biên độ của tất cả các mức lượng tử : 0.875, 0.625, 0.375, 0.125, -0.125, - 0.375, -0.625, -0.875

Bài 3

N = 1000;

x_ủni = 2*rand(1,N)-1;

x_sin = sin(linspace(1,5,N));

nbit = 1:10;

SNqR_ủni = zeros(size(nbit));

SNqR_sin = zeros(size(nbit));

SNqR_lt = 6.02*nbit;

Ps_ủni = sủm(x_ủni.^2)/N

Trang 7

Ps_sin = sủm(x_sin.^2)/N;

for i = 1:size(nbit,2)

[indx_ủni xq_ủni] =

lqủan(x_ủni,-1,1,nbit(i)); [indx_sin xq_sin] =

lqủan(x_sin,-1,1,nbit(i eq_ủni = x_ủni -

xq_ủni; eq_sin = x_sin - xq_sin;

Pq_ủni = sủm(eq_ủni.^2)/N;

Pq_sin = sủm(eq_sin.^2)/N;

SNqR_ủni(i) = 10*log10(Ps_ủni/Pq_ủni);

SNqR_sin(i) = 10*log10(Ps_sin/Pq_sin);

end

plot(nbit,SNqR_ủni,'b-');

hold on;

plot(nbit,SNqR_sin,'r ');

plot(nbit,SNqR_lt,'m-.');

title('Do thi SN_qR theo nbit');

xlabel('nbit');

ylabel('SN_qR');

legend('Phan bo deủ','Hinh sin','Ly thủyet');

grid on;

hold off;

Kết quả:

Trang 8

SNqR_lt= [6.0200 12.0400 18.0600 24.0800 30.1000

Trả lời câu hỏi :

1 Khi n tăng lên 1 thì SNqR sẽ tăng lên 2 lần

2 SNqR chỉ phụ thuộc vào n , mà không phụ thuộc vào kích thước lượng tử và dải

biên độ lượng tử bởi vì : SNqR= 3

2 (2n )2 ( n là độ dài từ mã )

3 Khi thay đổi tín hiệu x là tín hiệu điều hòa thì giá trị SNqR thay đổi so với khi x phân bố đều

BUỔI 2 THÍ NGHIỆM

Bài số 4: Mật Độ Phổ Năng Lượng Và Hàm Tự Tương Quan Của Tín Hiệu

4.1 Đồ thị tín hiệu hàm tương quan

- Code :

Trang 9

x=randn(1,L);

x1=linspace(-1,1,L);

x2=sin(linspace(-10,10,L));

[acorr_x nx]=xcorr(x);

[acorr_x1 nx1]=xcorr(x1);

[acorr_x2 nx2]=xcorr(x2);

figủre; plot(nx,acorr_x); xlabel('n');

ylabel('R_{xx}'); figủre; plot(nx1,acorr_x1);

xlabel('n'); ylabel('R_{xx}'); figủre;

plot(nx2,acorr_x2); xlabel('n'); ylabel('R_{xx}');

- Trả lời câu hỏi :

1 Đồ thị của hàm tự tương quan trong trường hợp tổng quát luôn thì biên độ luôn tăng dần và đạt cực đại tại 0

2 Giá trị cực đại của hàm tự tương quan nằm ở khoảng bên phải đồ thị

3 Hàm tương quan của các trường hợp tín hiệu khác nhau như yêu cầu của bài thí nghiệm thì nó hầu hết là khác hẳn nhau vì đầu vào khác nhau

Trang 10

4.2 Biến đổi Fourier của hàm tự tương

quan Code

L=50; x=rand(1,L); % 50 mẫ;ủ ngẫ;ủ nhiên từ 0 đê>n 1

N=200; % Sồ> lượnng tẫ.n sồ> rời rạc

w=linspace(0,2*pi,N); % w từ 0 - 2*pi

fx=freqz(x,1,w); %Biê>n đồ'i foủrier củ'a vector x

esd_x=fx.*conj(fx); %esd_x là bình phương biên độ củ'a fx

acorr_x=xcorr(x); %Tự tương qủan x

ft_acorr_x=freqz(acorr_x,1,w); %Phồ' hàm từ tương qủan chưa

chính xác ft_acorr_x=freqz(acorr_x,1,w).*exp(j*w*(N-1)); % Phồ' hàm tự tương qủan sủbplot(2,1,1); semilogy(w/pi,esd_x);

xlabel('\omega (\pix)'); ylabel('S(e^{j\

omega)}'); sủbplot(2,1,2);

semilogy(w/pi,real(ft_acorr_x),'r'); xlabel('\

omega (\pix)'); ylabel('FT[r_{xx}(n)]');

Kết quả mô phỏng

Trả lời câu hỏi :

1 Phổ biên độ rời rạc của tín hiệu có đặc điểm là biến đổi liên tục trên miền tần số

2 Đồ thị phổ tín hiệu của esd_x và ft_acorr_x :

Trang 11

- Với esd_x thì đồ thị phổ biên độ là biên độ đều

- Với ft-acorr_x đồ thị có biên độ tăng dần

3 Khi vẽ đồ thị thì cách 1 trục hoành là w/pi và cách 2 trục hoành là 2k/N để tránh chổng phổ

4 Chọn N >200 để kết quả chính xác

5 Ý nghĩa và ứng dụng của định lý Weiner-Khintchine trong thông tin số là : Phổ tần

số của hàm tự tương quan chính là hàm mật độ phổ năng lượng của tín hiệu số

Bài số 5 : Mã đường dây NRZ

- Code :

len=100000;

SNR_db=0:2:8;

SNR= 10.^(SNR_db/10);

bsignal=randi(2,1,len)-1;

NRZ_signal=bsignal*2-1;

N0=1./SNR;

BER=zeros(1,length(SNR_db));

for i=1:length(SNR_db)

noise=sqrt(N0(i))*randn(1,len);

r_signal=NRZ_signal+noise;

NRZ_decoded=sign(r_signal);

BE_sủm=sủm(NRZ_signal~=NRZ_decoded);

BER(i)=BE_sủm/len;

end

Pe=(1/2)*(1-erf(sqrt(SNR/2)));

plot(SNR,Pe); hold on;

plot(SNR,BER,'o');

xlabel('SNR'); ylabel('BER');

- Kết quả mô phỏng

Trang 12

- Trả lời câu hỏi

1 Phải sử dụng các mã đường dây vì :

- Chuyển đổi tín hiệu băng gốc khi miền tần số cao hơn để vào băng thông đường dây , tăng mật độ chuyển đổi tích cực của tín hiệu

- Giúp kiểm soát lỗi

2 Khi tỷ sô SNR tăng thì xác suất lỗi giảm do tỉ lệ nghịch với nhau Kết quả trên đồ thị phù hợp với lý thuyết

3 Nếu giải mã tín hiệu NRZ bằng lệnh “ NRZ_decoded = sign(r_signal)” như hướng dẫn ở trên sẽ có một số trường hợp không chính xác , đó là trường hợp không mang dấu bởi vì có hai loại tín hiệu NRZ đơn cực và lưỡng cực

Trang 13

Kết quả :

SNR 0 dB 2 dB 4 dB 6 dB 8 dB

Pe lý thuyết 0.27 0.16 0.09 0.03 0.006

BER mô phỏng 0.08 0.06 0.02 0.004 0.0002

Nhận xét : Kết qủa thay đổi nhiều khi SNR tăng dần

BUỔI 3 THÍ NGHIỆM

BÀI 6: KỸ THUẬT ĐIỀU CHẾ SỐ QPSK

Chạy chương trình:

SNR = 10^(SNR_db/10); % Doi SNR tủ Decibel sang lan bsignal = randi([0 1],1,len); % Tao dong bit ngaủ nhien do dai len

% Thủc hien dieủ che QPSK

for i=1:2:len

if bsignal(i)==0 & bsignal(i+1)==0 % 00

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

elseif bsignal(i)==0 & bsignal(i+1)==1 % 01

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

elseif bsignal(i)==1 & bsignal(i+1)==1 % 11

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

elseif bsignal(i)==1 & bsignal(i+1)==0 % 10

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

end

end

Es = std(qpsk_signal)^2; % Nang lủong ky hieủ

% Tao nhieủ Gaủss

noise = sqrt(N0/2)*(randn(1,length(qpsk_signal))

+j*randn(1,length(qpsk_signal)));

qpsk_awgn = qpsk_signal + noise; % Cho tin hieủ dieủ che di qủa kenh AWGN

plot(qpsk_awgn,'.'); % Ve bieủ do chom sao tin hieủ co nhieủ

title('Do thi chom sao 4-QPSK');

xlabel('I');

ylabel('Q');

hold on;

plot(qpsk_signal,'r*'); % Ve bieủ do chom sao tin hieủ khong nhieủ

plot(exp(j*[0:0.01:2*pi]),'r ');

Trang 14

Kết quả:

 SNR = 0 dB

 Với SNR = 3 dB

 Với SNR = 6 dB

Trang 15

Trả lời câu hỏi :

33 Điều chế tín hiệu để mang thông tin đi xa hơn Phải điều chế số bởi vì tín hiệu đã mã hóa sẽ bảo mật tốt hơn

Khối điều chế đóng vai trò trung gian quan trọng trong quá trình xử lý tín hiệu để truyền đi

34 Kết quả mô phỏng : tín hiệu thu được có dạng vùng mây bao quanh các điểm của chòm sao

35 Trong điều chế PSK , phía thu sẽ giải mã sai khi mức điều chế khác với bên phát

36 Năng lượng tín hiệu Es và năng lượng bit Eb trong các trường hợp trên là : Es=3db, Eb=1.5dB

BÀI 7: XÁC SUẤT LỖI BIT TRONG ĐIỀU CHẾ

QPSK Chạy chương trình:

len = 50000; % Do dai dong bit mo phong

SNR_db = 0:2:8; % Tao vector SNR_db = 0 2 4 6 8

SNR = 10.^(SNR_db/10); % Doi SNR tủ Decibel sang lan

bsignal = randi([0 1],1,len); % Tao dong bit ngaủ nhien do dai len

% Thủc hien dieủ che QPSK for i=1:2:len

Trang 16

if bsignal(i)==0 & bsignal(i+1)==0 % 00 qpsk_signal((i+1)/2) = exp(j*3*pi/4);

elseif bsignal(i)==0 & bsignal(i+1)==1 % 01 qpsk_signal((i+1)/2) = exp(j*5*pi/4);

elseif bsignal(i)==1 & bsignal(i+1)==1 % 11 qpsk_signal((i+1)/2) = exp(j*7*pi/4);

elseif bsignal(i)==1 & bsignal(i+1)==0 % 10 qpsk_signal((i+1)/2) = exp(j*pi/4);

end

end

% Tim BER mo phong

for i=1:length(SNR_db)

r_signal = awgn(qpsk_signal,SNR_db(i)); % Dieủ che QPSK di qủa nhieủ AWGN

for j=1:2:len % Giai dieủ che tin hieủ QPSK co nhieủ

if real(r_signal((j+1)/2))>=0

if imag(r_signal((j+1)/2))>=0 % Goc phan tủ I r_bsignal(j) = 1;

r_bsignal(j+1) = 0;

r_bsignal(j) = 1;

r_bsignal(j+1) = 1;

end else

if imag(r_signal((j+1)/2))>=0 % Goc phan tủ II r_bsignal(j) = 0;

r_bsignal(j+1) = 0;

r_bsignal(j) = 0;

r_bsignal(j+1) = 1;

end end

end

[n,BER(i)] = biterr(r_bsignal,bsignal);

end

Pb = 1/2*erfc(1/sqrt(2).*sqrt(SNR)); % Xac sủat loi bit

plot(SNR_db,Pb,'ro '); % Ve do thi Pb ly thủyet

title('Do thi ty le bit loi ly thủyet va mo phong');

xlabel('SNR_d_B');

ylabel('BER');

hold on;

plot(SNR_db,BER); % Ve do thi BER mo phong

legend('Ly thủyet','Mo phong');

hold off;

Kết quả:

Trang 17

16

Trang 18

SNR 0dB 2dB 4dB 6dB 8dB

Pb lý thuyết 0.1587 0.1040 0.0565 0.0230 0.0060

BER mô phỏng 0.1606 0.1043 0.0551 0.0221 0.0062

Trả lời câu hỏi :

37 So sánh điều chế BPSK và QPSK

- Về xác suất lỗi bit : Xác suất lỗi bit trong BPSK và QPSK là như nhau , về tương quan thì QPSK có tỷ lệ thấp hơn

- QPSK thì giảm được BER , tăng hiệu suất phổ , tốc độ truyền dữ liệu hơn BPSK

38 Một số hệ thống thực tế sử dụng điều chế QPSK : ứng dụng vào truyền hình số

Trang 19

BÀI 8: MÔ PHỎNG ĐIỀU CHẾ M-QAM QUA KÊNH NHIỄU

GAUSS Chạy chương trình:

n_sym = 50000; % So ky tủ dieủ che

M = [16 32 64]; % So symbol ky hieủ

SNR_db = 0:25; % Tao vector SNR = 0 - 25 Decibel

BER = zeros(length(M),length(SNR_db)); % BER de lủủ ti le loi bit

for k = 1:size(M,2) % size(M,2) la so cot của M

s_stream = randi([0 M(k)-1],1,n_sym);

% Tao dong bieủ tủong do dai

n_sym

s_mod = qammod(s_stream,M(k),0,'GRAY'); % Dieủ che M-QAM

for r = 1:size(SNR_db,2) % Vong lap tinh BER

s_mod_awgn = awgn(s_mod,SNR_db(r),'measủred'); % Tin hieủ qủa nhieủ s_demod = qamdemod(s_mod_awgn,M(k),0,'GRAY'); % Giai

dieủ che M-QAM [nủm ratio] = biterr(s_stream,s_demod); % Tinh

ti le loi bit

BER(k,r) = ratio; % Lủủ ti le loi bit vao BER

end

end

semilogy(SNR_db,BER(1,:),'bo-'); % Ve do thi BER ủng voi M = 16

hold on;

semilogy(SNR_db,BER(2,:),'rs-'); % Ve do thi BER ủng voi M = 32

semilogy(SNR_db,BER(3,:),'m*-'); % Ve do thi BER ủng voi M = 64

grid on;

title('Do thi the hien ty le loi bit M-QAM');

xlabel('SNR_d_B');

ylabel('BER');

legend('16-QAM','32-QAM','64-QAM');

hold off;

Kết quả:

Trang 20

SNR 0dB 5dB 10dB 15dB 20dB 25dB

Trả lời câu hỏi :

39 Khi số mức điều chế M tăng thì BER thay đổi là nó sẽ càng giảm dần Nhưng, nếu tăng lên quá lớn thì sẽ mất khả năng khôi phục tín hiệu

40 Số mức điều chế tăng lên cao thì làm mất khả năng khôi phục tín hiệu nên không thể tăng lên quá lớn

Ngày đăng: 27/03/2022, 06:39

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w