Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
448,74 KB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH KHOA VIỄN THƠNG Bộ mơn Vơ Tuyến BÀI THÍ NGHIỆM THỰC HÀNH Mơn: Đa Truy Nhập Vô Tuyến Giảng viên biên soạn: - PGS TS Võ Nguyễn Quốc Bảo ThS Phạm Thanh Đàm Thời lượng: buổi (8 tiết) - Buổi 1: Bài Bài Buổi 2: Bài Bài TP Hồ Chí Minh, ngày 21 tháng năm 2021 MỤC LỤC BÀI THÍ NGHIỆM 1: KỸ THUẬT TRUY NHẬP KÊNH TRUYỀN THEO PHƯƠNG THỨC ALOHA VÀ SLOTTED ALOHA BÀI THÍ NGHIỆM 2: KHẢO SÁT VÀ MƠ PHỎNG HỆ THỐNG TDMA BÀI THÍ NGHIỆM 3: KHẢO SÁT VÀ MƠ PHỎNG HỆ THỐNG FDMA .13 BÀI THÍ NGHIỆM 4: KHẢO SÁT VÀ MƠ PHỎNG HỆ THỐNG CDMA 20 BÀI THÍ NGHIỆM 1: KỸ THUẬT TRUY NHẬP KÊNH TRUYỀN THEO Điểm: Nhận xét: PHƯƠNG THỨC ALOHA VÀ SLOTTED ALOHA Mục đích thí nghiệm giúp sinh viên hiểu nguyên tắc hệ thống truy nhập theo kỹ thuật Aloha slotted Aloha PHẦN 1: CHUẨN BỊ TRƯỚC Ở NHÀ Câu 1: Nghiên cứu nguyên tắc hệ thống Aloha bên Chứng lại công thức Giao thức Aloha giao thức OSI lớp cho mạng LAN với Broadcast topology Nguyên tắc hệ thống Aloha là: - Nếu đầu cuối có liệu tiến hành truyền phát liệu Sau gửi liệu, đầu cuối đợi tín hiệu ACK để xác nhận khoản thời gian Nếu sau khoản thời gian đợi mà ACK, đầu cuối tự hiểu gói liệu - Nếu xảy xung đột (ít hai đầu cuối truyền môt điểm thời gian) dừng truyền tiến hành gửi lại sau khoản thời gian ngẫu nhiên gọi backoff Trong thí nghiệm có hai phần, khảo sát hiệu kỹ thuật ALOHA mô kỹ thuật ALOHA Để mô kỹ thuật ALOHA, gọi x biến ngẫu nhiên thể thời gian bắt đầu gói liệu cần gửi mạng ALOHA Theo lý thuyết xác suất x theo phân bố Poison xác suất K gói liệu phát khoản thời gian T ( T ) K e T Pr( x K ) K! (1) s r (2) với tốc độ đến trung bình gói liệu có đơn vị số lượng gói liệu giây (packet per second) biểu diễn lại sau: với s tốc độ đến trung bình gói liệu gửi thành cơng r tốc độ đến trung bình gói liệu gửi không thành công Gọi S thông lượng kênh truyền (hay lưu lượng chuẩn hóa liệu gửi thành cơng), có đơn vị Erlangs, ta có LS (3) R với L chiều dài gói tín có đơn vị bit R dung lượng kênh truyền có đơn vị bit/s S Tương tự vậy, ta có lưu lượng chuẩn hóa kênh truyền G L R (3) Thời gian để truyền gói tin với đơn vị bit/s T L R (4) ta dễ dàng có S sT G T Trong hệ thống ALOHA, để gói tín đầu cuối truyền thành công khoảng thời gian T , phải khơng có gói tin truyền khoảng thời gian T sau khoảng thời gian T trước Nghĩa cần 2T giây cho gói tin thành cơng Do đó, xác suất thành cơng gói tin (T ) e 2T e 2T 0! (5) s s r (6) S Ge2G (7) Ps Pr( K 0) Ngoài ta thấy Ps Kết hợp hai biểu thức trên, ta thấy Một câu hỏi đặt S có giá trị lớn nào? Để giải toán thực đạo hàm S theo G , giải phương trình dS dG , dẫn đến S đặt giá trị lớn (2e) 0.184 G Câu 2: Nguyên tắc Slotted ALOHA gì? Mỗi liên hệ S G Slotted ALOHA gì? _ _ _ _ _ _ _ Câu 3: Khảo sát hàm Matlab sau T T Hàm Cú pháp Chức năng? rand sort diff sum plot legend xlabel ylabel title PHẦN 2: THỰC HIỆN TẠI PHỊNG THÍ NGHIÊM TRÊN PHẦN MỀM MATLAB Câu 4: Giải thích mã nguồn Matlab bên Mã nguồn Matlab Giải thích % Số lượng gói tin đơn vị thời gian T N = 10^5; % Thời gian đến N gói tin PacketArrivalTimes = rand(1,N); % Sắp xếp thời gian đến x = sort(PacketArrivalTimes); % Thời gian đến khác gói tin (0,T) t1=diff(x); % Thời gian đến khác gói tin (T,@T) x(2:end) = x(1:end-1); t2=diff(x); % Khởi tạo G G = 0.1:0.01:2.2; % Thời gian truyền gói tin T = G/N; %% Tính tốn lý thuyết S_t = G.*exp(-2*G); %% Tính tốn mơ % N_s: Số lượng gói tin gửi thành cơng for idx = 1:length(G) N_s(idx) = sum((t1 > T(idx)) & (t2 > T(idx))); end % Thông lượng S_s = N_s.*T; plot(G,S_t,G,S_s,'+'); legend('Lý thuyết','Mô phỏng'); set(gcf,'color','w'); xlabel('G'); ylabel('S'); title('Pure ALOHA'); Câu 5: Vẽ đồ thị S theo G cho giao thức pure ALOHA _ _ _ _ _ _ _ _ _ _ _ So sánh với lý thuyết nhận xét: _ _ _ _ _ _ Câu 6: Kiểm chứng lý thuyết mô Slotted ALOHA Matlab Viết code bên _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Câu 7: Vẽ đồ thị S theo G cho pure ALOHA Slotted ALOHA đồ thị nhận xét _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ BÀI THÍ NGHIỆM 2: KHẢO SÁT VÀ MÔ PHỎNG HỆ THỐNG TDMA Điểm: Nhận xét: Mục đích thí nghiệm giúp sinh viên hiểu nguyên tắc hệ thống truy nhập theo thời gian BƯỚC 1: CHUẨN BỊ TRƯỚC Ở NHÀ Câu 1: Tóm tắt nguyên tắc hệ thống TDMA Thế mux demux? _ _ _ _ _ _ _ _ _ _ _ _ _ Câu 2: Khảo sát hàm Matlab bên T T Hàm randi Cú pháp Chức năng? subplot bar ylabel upsample downsample PHẦN 2: THỰC HIỆN TẠI PHỊNG THÍ NGHIÊM TRÊN PHẦN MỀM MATLAB Câu 3: Giải thích mã nguồn Matlab bên Mã nguồn Matlab clc; close all; clear all; % Số lượng bit cho user N = 10; xA = randi([0 1],1,N); xB = randi([0 1],1,N); xC = randi([0 1],1,N); subplot(11,1,1) bar(xA,'c') ylabel('x_A'); subplot(11,1,2) bar(xB,'g') ylabel('x_B'); subplot(11,1,3) bar(xC,'r') ylabel('x_C'); %% Muxtiplexing xA = upsample(xA,3,0); subplot(11,1,4) bar(xA,'c') ylabel('x_A'); xB = upsample(xB,3,1); subplot(11,1,5) bar(xB,'g') ylabel('x_B'); xC = upsample(xC,3,2); subplot(11,1,6) bar(xC,'r') ylabel('x_C'); %% Transmitting Tx = xA + xB + xC; subplot(11,1,7) bar(Tx) ylabel('Tx'); %% Receiving Rx = Tx; xA_ = downsample(Rx,3,0); xB_ = downsample(Rx,3,1); xC_ = downsample(Rx,3,2); subplot(11,1,8) bar(Rx) ylabel('Rx'); Giải thích subplot(11,1,9) bar(xA_,'c') ylabel('Demux x_A'); subplot(11,1,10) bar(xB_,'g') ylabel('Demux x_B'); subplot(11,1,11) bar(xC_,'r') ylabel('Demux x_C'); set(gcf,'color','w'); Câu 4: Làm lại ví dụ với số user số bit _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Câu 5: Giải thích vai trị hàm upsample hàm downsample _ _ _ _ _ _ _ _ Nhận xét: BÀI THÍ NGHIỆM 3: KHẢO SÁT VÀ MƠ PHỎNG HỆ THỐNG FDMA Điểm: Mục đích thí nghiệm giúp sinh viên hiểu nguyên tắc hệ thống truy nhập theo tần số BƯỚC 1: CHUẨN BỊ TRƯỚC Ở NHÀ Câu 1: Nguyên tắc hệ thống FDMA _ _ _ _ _ _ _ _ _ _ _ Câu 2: Khảo sát hàm Matlab bên TT Hàm Sin modulat e demod Cú pháp Chức năng? butter freqz pwelch legend BƯỚC 2: THỰC HIỆN TẠI PHỊNG THÍ NGHIÊM TRÊN PHẦN MỀM MATLAB Câu 3: Giải thích mã nguồn Matlab bên Mã nguồn Matlab clc clear all fs = 400; t = 0:1/fs:1; % User A xA = sin(2*pi*5*t); % User B xB = sin(2*pi*10*t); % Carier freq for user A fcA = 100; yA = modulate(xA,fcA,fs,'amssb'); % Carier freq for user B fcB = 120% Carier freq for user A; yB = modulate(xB,fcB,fs,'amssb'); % The combined signal is transmitted on the channel yAB = yA + yB; %% At receiver % Cutoff frequency fcut = (fcA + fcB)/2; [b,a] = butter(40,fcut/(fs/2)); freqz(b,a); yA_ = filter(b,a,yAB); xA_ = demod(yA_,fcA,fs,'amssb'); % Spectrum Giải thích figure(1) pwelch([xA;xB;yAB;yA_;xA_]',hamming(100),80,1024,fs,'centered'); legend('x_A','x_B','y_{AB}','y_{Ac}','x_{Ac}'); set(gcf,'color','w'); figure(2) plot(t,xA,t,xA_) Câu 4: Phổ tín hiệu xA xB Tần số đỉnh phổ tín hiệu xA: Tần số đỉnh phổ tín hiệu xB: Nhận xét giải thích: _ _ _ _ _ _ _ _ _ _ Câu 5: Phổ tín hiệu yAB yAc Tần số đỉnh phổ tín hiệu yAB: Tần số đỉnh phổ tín hiệu yAc: Nhận xét giải thích: _ _ _ _ Câu 6: Phổ tín hiệu xA xAc Tần số đỉnh phổ tín hiệu yAc: Nhận xét giải thích: _ _ _ _ _ Câu 7: So sánh tín hiệu xA xAc Nhận xét giải thích: _ _ _ _ _ _ _ _ _ _ Câu 8: Thực lại Câu fcB 120 Hz, 140 Hz, vẽ lại hình nhận xét _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Câu 9: Thực lại Câu 3, cố định fcA = 100 Hz fcB = 130 Hz thay đổi bậc lộc thông thấp, từ 10, 20 30, vẽ lại hình nhận xét _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Nhận xét: BÀI THÍ NGHIỆM 4: KHẢO SÁT VÀ MƠ PHỎNG HỆ THỐNG CDMA Điểm: Mục đích thí nghiệm giúp sinh viên hiểu nguyên tắc hệ thống truy nhập theo tần số BƯỚC 1: CHUẨN BỊ TRƯỚC Ở NHÀ Câu 1: Nguyên tắc hệ thống CDMA _ _ _ _ _ _ _ _ _ _ _ _ _ Câu 2: Nguyên tắc mã NRZ-L _ _ _ _ _ _ Câu 3: Khảo sát hàm Matlab T T Hàm dot Cú pháp Chức năng? randi BƯỚC 2: THỰC HIỆN TẠI PHỊNG THÍ NGHIÊM TRÊN PHẦN MỀM MATLAB Câu 4: Giải thích mã nguồn Matlab sau Mã nguồn Matlab clc clear % Number of bits N = 5; % Generation of Random Bits xA = randi([0 1],1,N); xB = randi([0 1],1,N); xC = randi([0 1],1,N); % Using NRZ-L for simplicity xA = 2*xA - 1; xB = 2*xB - 1; xC = 2*xC - 1; % Chip Pattern for station A, B and C chipA = [1 1 1]; chipB = [1 -1 -1]; chipC = [1 -1 -1]; nc = length(chipA); % Chip Pattern for station A, B and C txA = xA(:).*chipA; txB = xB(:).*chipB; txC = xC(:).*chipC; % BS transmits combinted signal Giải thích dịng lệnh tx = txA + txB + txC; % BS decoding for i=1:N xA_(i) = dot(chipA,tx(i,:))/nc; xB_(i) = dot(chipB,tx(i,:))/nc; xC_(i) = dot(chipC,tx(i,:))/nc; end % sum(xA~=xA_) sum(xB~=xB_) sum(xC~=xC_) Câu 5: Làm lại mã nguồn cho trường hợp users _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Câu 6: Hãy tăng chiều dài chip lên chạy lại kết mô _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Câu 7: Giải thích mã nguồn Matlab sau Mã nguồn Matlab close all; clear all; clc; M0=[0,0,0,0]; M1=[1,1,1,1]; Ob= [0 1 1 1]; Ib= [0 1 0 1]; Tb= [0 1 1 0]; SIG=[Ob,Ib,Tb]; br = 2000 ; %time length to transmitt signal Tb=1/br; fs = 16*br; % Sampling Frequency Ts = 1/fs; % Sampling Period t=0:Ts:Tb*length(SIG)-Ts; N = 2^nextpow2(length(t)); f = fs/2*linspace(0,1,N/2+1); SIG_E= NRZ_Encode(SIG,br,fs); fc = 1000; %carrier frequency OSC = 5*sin(2*pi*fc*t); %jamming signal SIGJAM = 3*sin(2*pi*900*t); SIGJAM_FFT = abs(fft(SIGJAM,N))/length(t); figure subplot(2,1,1) stem(SIG);ylim([-2 2]) subplot(2,1,2) stem(SIG_E);ylim([-2 2]) PRAND =round(rand(1,length(SIG))); PRAND_E= NRZ_Encode(PRAND,br,fs); SIG_PRAND = SIG_E * PRAND_E; % CALCULATE FFT SIG_E_FFT = abs(fft(SIG_E,N))/length(t); PRAND_E_FFT = abs(fft(PRAND_E,N))/length(t); SIG_PRAND_FFT = abs(fft(SIG_PRAND,N))/length(t); %PLOT FIGURE SIGNALS AND FFT (SIGNAL,PRAND,PRODUCT,BPSK MODUALTION) figure(2) subplot(3,2,1) stairs(t,SIG_E,'linewidth',2); ylim([-2 2]);axis tight;box off; title('INFORMATION SIGNAL "OIT"') xlabel('time,s');ylabel('amplitude'); subplot(3,2,2) plot(f,2*abs(SIG_E_FFT(1:N/2+1))); axis tight;box off; subplot(3,2,3) stairs(t,PRAND_E,'linewidth',2); ylim([-2 2]);axis tight;box off; title('PSEUDORANDOM BIT SEQUENCE'); xlabel('time,s');ylabel('amplitude'); subplot(3,2,4) plot(f,2*abs(PRAND_E_FFT(1:N/2+1))); axis tight;box off; subplot(3,2,5) stairs(t,SIG_PRAND,'linewidth',2); ylim([-2 2]);axis tight;box off; title('INFORMATION SIGNAL AND RANDOM SEQUENCE') xlabel('time,s');ylabel('amplitude'); subplot(3,2,6) plot(f,2*abs(SIG_PRAND_FFT(1:N/2+1))); axis tight;box off; % modulatiion Giải thích dòng lệnh BPSK_MOD = SIG_PRAND.*OSC; BPSK_MOD_FFT = abs(fft(BPSK_MOD,N))/length(t); figure subplot(2,1,1) plot(t,BPSK_MOD,t,SIG_PRAND,' r');axis tight;box off; subplot(2,1,2) plot(f,2*abs(BPSK_MOD_FFT(1:N/2+1)));axis tight;box off; %ADDING PRAND TO THE SIGNAL variance = 5; %noise variance; NOISE = sqrt(variance)*randn(1,length(BPSK_MOD)); BPSK_MOD_NOISE = BPSK_MOD + SIGJAM; BPSK_MOD_NOISE_FFT = abs(fft(BPSK_MOD_NOISE,N))/length(t); figure(4) subplot(1,2,1) plot(t,BPSK_MOD_NOISE);axis tight;box off; xlabel('Time'); ylabel('Amplitude'); title('BPSK Modulated Data with AWGN noise'); subplot(1,2,2) plot(f,2*abs(BPSK_MOD_NOISE_FFT(1:N/2+1)),f,2*ab s(SIGJAM_FFT(1:N/2+1)),'r');axis tight;box off; %*******Demodulated BPSK_DEMOD_P = (BPSK_MOD_NOISE).*OSC; BPSK_DEMOD = BPSK_DEMOD_P.*PRAND_E; figure plot(t,BPSK_DEMOD,t,SIG_PRAND); title('BPSK DEMODULATED SIGNAL'); %Integrator integrationBase = 0:Ts:Tb-Ts; for i = 0:(length(BPSK_DEMOD )/(Tb*fs))-1, y(i+1)=trapz(integrationBase,BPSK_DEMOD (int32(i*Tb*fs+1):int32((i+1)*Tb*fs))); end %Threshold Comparator estimatedBits=(y>=0); figure subplot(3,1,1) stem(estimatedBits);axis tight;box off; xlabel('Samples'); ylabel('Amplitude'); title('Estimated Binary Data'); subplot(3,1,2) stem(SIG);axis tight;box off; subplot(3,1,3) stem(y);axis tight;box off; BER = sum(xor(SIG,estimatedBits))/length(SIG); Giải thích đồ thị vẽ ... BÀI THÍ NGHIỆM 1: KỸ THUẬT TRUY NHẬP KÊNH TRUY? ??N THEO Điểm: Nhận xét: PHƯƠNG THỨC ALOHA VÀ SLOTTED ALOHA Mục đích thí nghiệm giúp sinh viên hiểu nguyên tắc hệ thống truy nhập theo kỹ thuật Aloha... lưu lượng chuẩn hóa kênh truy? ??n G L R (3) Thời gian để truy? ??n gói tin với đơn vị bit/s T L R (4) ta dễ dàng có S sT G T Trong hệ thống ALOHA, để gói tín đầu cuối truy? ??n thành công khoảng... mà khơng có ACK, đầu cuối tự hiểu gói liệu - Nếu xảy xung đột (ít hai đầu cuối truy? ??n mơt điểm thời gian) dừng truy? ??n tiến hành gửi lại sau khoản thời gian ngẫu nhiên gọi backoff Trong thí nghiệm