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