Kênh truyền và đánh giá chất lượng kênh truyền
233
kênh truyền theo phương pháp thông thường (phương pháp băng dải). Ví dụ sau đây sẽ minh
hoạ điều này.
Ví dụ 16-2. Viết chương trình điều chế 1 chuỗi bit nhị phân tốc độ 8Kbps bằng phương
pháp BPSK với sóng mang 100KHz và phát đi trên kênh truyền có nhiễu AWGN với
0
b
N
/
E
=10dB, sau đó giải điều chế. Vẽ các tín hiệu phát và thu.
Chọn tần số lấy mẫu
s
f
bằng 1MHz.
Phương pháp thực hiện tương tự như ví dụ 15-3.
% Thiết lập các thông số
N = 10;
% Số bit
x = randint(N,1); % Chuỗi bit ngẫu nhiên N bit
M = 2;
% Số mức của tín hiệu
k = 1; %
Fb = 8000; % Tốc độ bit
Fc = 40000; % Tần số sóng mang
Fs = 400000;
% Tần số lấy mẫu
EbNo = 10; % Đơn vị dB
Nsamp = floor(Fs/Fb*N); % Số mẫu
Time = [0:1/Fs:(Nsamp-1)/Fs]; % Vector thời gian
% Xây dựng các tín hiệu
% Tín hiệu tin tức
xmsg = zeros(1,Nsamp);
for i=1:Nsamp
xmsg(i) = x(floor((i-1)*Fb/Fs)+1);
end
% Sóng mang
xcar = cos(2*pi*Fc*Time);
% Tín hiệu điều chế BPSK
ytx = (2*xmsg-1).*xcar;
% Cộng nhiễu
snr = EbNo + 10*log10(k) - 10*log10(Nsamp);
ynoisy = awgn(ytx,snr,'measured');
% Giải điều chế
ytmp = ynoisy.*xcar;
% Nhân với sóng mang
[num,den]=butter(2,Fc/(Fs/2));% Bộ lọc thấp Butterworth bậc 2, tần số cắt
Fc
ztmp = filter(num,den,ytmp); % Lọc bỏ tần số cao
for i = 1:length(x)
% Lấy mẫu và quyết định
if ztmp(floor(((i-1)/Fb+1/2/Fb)*Fs)) > 0 % Lấy mẫu ở giữa bit
z(i) = 1;
% Ngưỡng quyết định là 0
else