Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 17 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
17
Dung lượng
2,89 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THÔNG BÁO CÁO THỰC HÀNH MÔN CƠ SỞ KỸ THUẬT THÔNG TIN VÔ TUYẾN CHỦ ĐỀ Sim_FWC01 Biểu diễn mật độ phổ công suất kỹ thuật điều chế MATLAB Giảng viên hướng dẫn: Nguyễn Viết Đảm Sinh viên thực hiện: Nguyễn Xuân Đức Mã sinh viên: B20DCVT124 Nhóm mơn học: Nhóm 02 tổ 02 Hà Nội – 2023 I Mục đích Hiểu mật độ phổ cơng suất PSD tín hiệu ngẫu nhiên băng gốc PSD tín hiệu ngẫu nhiên thơng dải q trình dịch phổ tần tín hiệu Phân tích so sánh PSD kỹ thuật điều chế II Nội dung Phân tích biểu thức tín hiệu băng tần sở biểu thức tín hiệu thơng dải miền thời gian (dạng sóng tín hiệu hàm tự tương quan), tính tốn mơ tả Matlab Phân tích biểu thức PSD tín hiệu băng tần sở, tính tốn biểu diễn Matlab Phân tích biểu thức PSD tín hiệu thơng dải, tính tốn biểu diễn Matlab Phân tích biểu thức tín hiệu điều chế miền thời gian tần số Phân tích biểu thức PSD kỹ thuật điều chế, tính tốn biểu diễn Matlab III Thực hành Bài 1: Mô PSD tín hiệu băng tần sở tín hiệu thơng dải a Bài làm b Các cơng thức tính tốn - Mật độ cơng suất tín hiệu băng tần sở - Mật độ công suất tín hiệu thơng dải c Mơ Nhận xét đồ thị: Khảo sát cho thấy PSD phụ thuộc vào tốc độ bit tốc độ sóng mang Mật độ phổ cơng suất nhỏ tốc độ bit lớn d Giải thích câu lệnh clc; Câu lệnh clear; close all; f= -200:5:200; Tb = 0.02; Rb = 1/Tb; A = 10; AA = A^2*Tb; fc = 120; PSD_BaseBand = AA*(sinc((f*Tb)).^2); PSD_PassBand = (AA/4)*((sinc((f+fc)*Tb)).^2+ (sinc((f-fc)*Tb)).^2); PSD_PassBand_1 = (AA/4)*((sinc((f-fc)*Tb)).^2); PSD_PassBand_2 = (AA/4)*((sinc((f+fc)*Tb)).^2); figure(1); Subplot(2,1,1); Giải thích Xóa cửa sổ lệnh Xóa tất biến khỏi vùng làm việc, giải phóng nhớ hệ thống Đóng tất xóa tất số liệu mà khơng xử lí ẩn Tạo vector biến f giá trị đến cách Tb: thời gian bit Rb: tốc độ bit A (AA): biên độ fc: tần số sóng mang Mật độ phổ cơng suất tín hiệu tần sở Mật độ phổ cơng suất BDSK Hai thành phần cấu tạo nên mật độ phổ cơng suất tín hiệu BDSK Hàm figure để tạo figure để vẽ đồ thị Chia cửa sổ thành ma trận 2x1 khoảng để vẽ đồ thị, chọn cửa sổ cửa sổ hoạt động Các đồ thị thành phần đánh số từ trái qua phải, từ xuống dưới, sau đố đến hàng thứ hai stem(f,PSD_BaseBand, 'b','LineWidth',3); hold on plot(f,PSD_BaseBand, 'b','LineWidth',3); xlabel('Tan so [H_z]','FontName','.VnTime','color','b','FontSize',14) ; Title (['Mat cong suat PSD cua tin hieu bang tan co so voi toc R_b =',num2str(Rb),'b/s'], 'FontName','.VnTime','color','b','FontSize',12); grid on; Tạo biểu đồ gốc đặt kiểu đường thành đường chấm dứt, màu mặt điểm đánh dấu thành màu đỏ màu cạnh điểm đánh dấu thành màu xanh cách sử dụng đối cặp số tên, giá trị Lệnh hold on, MATLAB không bỏ hệ trục tồn lệnh plot thực hiện, thay vào đó, thêm đường cong vào hệ trục Tuy nhiên, liệu khơng phù hợp hệ trục tọa độ cũ, trục chia lại Vẽ 2D với trục x y tuyến tính Lệnh plot vẽ đồ thị mảng liệu hệ trục thích hợp nối điểm đường thẳng xlabel(str,name,value) ghi tên trục x trục chuỗi Bổ sung đặc điểm font chữ, màu chữ, cỡ chữ,… title (str, name, value,…) bổ sung thêm thuộc tính title: tên, đơn vị, font chữ, màu, cỡ chữ,… Trên hình hiển thị đường lưới cho đồ thị Các đường lưới kéo dài từ dấu tick 2 Mô tả so sánh PSD tín hiệu BPSK, QPSK, MSK, Q-MSK a Bài làm b Các cơng thức tính tốn - Mật độ phổ công suất QPSK - Mật độ phổ công suất BPSK - Mật độ phổ công suất MSK c Mô Nhận xét đồ thị: Các tín hiệu có PSD chênh lệch điều kiện xét PSD MSK nhỏ PSD QPSK nhỏ PSD BPSK d Giải thích code MATLAB clc; clear; Câu lệnh close all; f = linspace(-2000,2000,1500); Tb = 1/300; Rb = 1/Tb; A = 10; AA = A^2*Tb; fc = 300; Eb = P*Tb; PSD_BaseBand = AA*(sinc((f*Tb)).^2); PSD_BPSK = (Eb*log2(2))*((sinc((ffc)*Tb*log2(2))).^2); PSD_QPSK = (Eb*log2(4))*((sinc((ffc)*Tb*log2(4))).^2); PSD_8_PSK = (Eb*log2(8))*((sinc((ffc)*Tb*log2(8))).^2); PSD_BPSK_2 = (Eb*log2(2)/2)*(((sinc((ffc)*Tb*log2(2))).^2) + ((sinc((f+fc)*Tb*log2(2))).^2)); PSD_QPSK_2 = (Eb*log2(4)/2)*(((sinc((f-fc)*Tb*log2(4))).^2) + ((sinc((f+fc)*Tb*log2(4))).^2)); PSD_8_PSK_2 = (Eb*log2(8)/2)*(((sinc((f-fc)*Tb*log2(8))).^2) + ((sinc((f+fc)*Tb*log2(8))).^2)); SF = ((16*Eb)/(pi^2)); Num = (cos(2*pi*(f-fc)*Tb)); Giải thích Xóa cửa sổ lệnh Xóa tất biến khỏi vùng làm Đóng tất xóa tất số liệu mà khơng xử lí ẩn Tạo vector biến f giá trị đến cách Tb: thời gian bit Rb: tốc độ bit A (AA): biên độ fc: tần số sóng mang Eb: lượng bit Mật độ phổ công suất tín hiệu băng tần sở Khai triển cơng thức thành phần Cơng thức tính PSD BPSK, QPSK, 8PSK Khai triển công thức thành phần Dum = (16*(Tb^2)*(f-fc).^2)-1; PSD_MSK = SF*((Num./Dum).^2); Num_2 = (cos(2*pi*(f+fc)*Tb)); Dum_2 = (16*(Tb^2)*(f+fc).^2)-1; PSD_MSK_2 = (SF/2)*(((Num./Dum).^2) + ((Num_2./Dum_2).^2)); figure(1); subplot(2,1,1); stem(f,PSD_BaseBand,'b','LineWidth',3); hold on plot(f,PSD_BaseBand,'b','LineWidth',3); Khai triển công thức thành phần Mật độ phổ công suất MSK Hàm figure để tạo figure để vẽ đồ thị Chia cửa số thành ma trận x khoảng để vẽ đồ thị, chọn cửa sổ cửa sổ hoạt động Các đồ thị thành phần đánh số từ trái qua phải, từ xuống dưới, sau đến hàng thứ hai Tạo biểu đồ gốc đặt kiểu đường thành đường chấm dứt, màu mặt điểm đánh dấu thành màu đỏ màu cạnh điểm đánh dấu thành màu xanh cách sử dụng đối số cặp tên, giá trị Lệnh hold on, MATLAB không bỏ hệ trục tồn lệnh plot thực hiện, thay vào đó, thêm đường cong vào hệ trục Tuy nhiên, liệu không phù hợp hệ trục tọa độ cũ, trục chia lại Vẽ 2D với trục x y tuyến tính Lệnh plot vẽ đồ thị mảng liệu hệ trục thích hợp nối điểm đường thẳng xlabel('Tan so xlabel (str, name, [H_z]','FontName','.VnTime','color','b','FontSize',14); value) ghi tên trục x trục chuỗi Bổ sung đặc điểm font chữ, màu chữ, cỡ chữ ylabel('PSD Dau vao khoi dieu ylabel (str, name, che','FontName','.VnTime','color','b','FontSize',14); value) ghi tên trục y trục chuỗi Bổ sung đặc điểm font chữ, màu chữ, cỡ chữ title(['Mat cong suat PSD cua tin hieu dau title (str, name, vao khoi dieu che R_b=', value, ) bổ sung thêm num2str(Rb),'b/s'], thuộc tính title: 'FontName','.VnTime','color','b','FontSize',12); tên, đơn vị, font chữ, màu, cỡ chữ, grid on; Trên hình hiển thị đường lưới cho đồ thị Các đường lưới kéo dài từ dấu tick L = legend Chú thích đường vẽ đồ thị set(L, 'fontname','.Vntime','fontsize',13); Bổ sung giá trị kèm cho thích đồ thị: cỡ chữ, font chữ,… Bài 2: Sim_FWC_02_02_BER_BPSK_AWGN a Bài làm b Mô Nhận xét đồ thị: Trong mô hệ thống BPSK kênh AWGN tỉ lệ tín hiệu nhiễu tăng (tín hiệu thu càn tốt) xác suất lỗi bit BER giảm, đồ thị thể cho việc tính tốn mơ giống – khác Trong đồ thị so sánh xác suất lỗi bit hệ thống BPSK trực giao đối cực kênh AWGN cho thấy thành phần trực giao có tỉ lệ lỗi bit cao so với thành phần đối cực phương pháp điều chế BPSK c Giải thích code MATLAB Lệnh SNRindB SNR = 0:1:8; = 10.^(SNRindB/10); EB = 1; Sgma = Eb./sqrt(2*SNR); NumBits = 10^7; Giải thích Tạo gán khoảng giá trị cho tỷ lệ tín hiệu nhiễu SNRindB Tạo gán giá trị cho SNR (tỷ số tín hiệu tạp âm) theo cơng thức 10.^(SNRindB/10) Tạo gán giá trị cho Eb (năng lượng bit) Tạo gán giá trị cho sgma (độ lệch chuẩn nhiễu) theo công thức Eb./sqrt(2*SNR); Tạo gán giá trị cho NumBits (số lượng bit) theo_Orthogonal_err_prb = 0.5*erfc(sqrt(SNR/2)); Tạo gán giá trị cho theo_Orthogonal_err_pr b 0.5 theo công thức *erfc(sqrt(SNR/2)); H = waitbar(0,’Please wait…’); Hiển thị thành chờ, hình chờ hiển thị mã điều khiển đóng việc sử dụng nhấp vào nút Close Window Xử lý (hình) trả h tic Bắt đầu hẹn đồng hồ bấm để đo hiệu suất Hàm ghi lại thời gian nội thực lệnh tic Hiển thị thời gian trôi qua với chức tic SimTime = max(tElapsed) Gián giá trị SimTime giá trị lớn tElapsed set(G,'LineWidth',[1.5]); Chỉ định nhiều giá trị thuộc tính xlabel('SNR % Đặt nhãn cho trục X [dB]','FontName','.VnTime','color','b','FontSize',12 đặt kiểu chữ, màu ); sắc, kích thước ylabel('Xac suat loi % Đặt nhãn cho trục Y Pe','FontName','.VnTime','color','b','FontSize',18); đặt kiểu chữ, màu sắc, kích thước title('So sanh xac suat loi bit he thong BPSK truc % Đặt tiêu đề, num2str giao va doi cuc kenh AWGN', chuyển đổi từ kiểu số 'FontName','.VnTime','color','b','FontSize',15); sang kiểu chữ grid on % Hiển thị đường lưới cho trục