Mã hóa nguồn
205
Giả sử chuỗi bit trên được chuyển thành tín hiệu đơn cực với tốc độ bit là fb. Để vẽ tín hiệu
này ta tạo ra nhiều mẫu tín hiệu trong một chu kỳ bit. Ví dụ đoạn mã sau sẽ thực hiện vẽ tín
hiệu ứng với 10 bit đầu tiên của chuỗi bit với tần số lấy mẫu fs = 50fb:
fb = 1000; % Tốc độ bit
fs = 50*fb; % Tần số lấy mẫu
nbit = 10; % Vẽ 10 chu kỳ bit đầu tiên
len = fs/fb*nbit; % Tổng số mẫu trong 10 chu kỳ bit
time = 0:(1/fs):(len-1)/fs;
% Vector thời gian
x = randint(n,1); % Chuỗi dữ liệu nhị phân ngẫu nhiên
pattern=[]; % khởi tạo vector tín hiệu
for k=1:nbit % Xét từng chu kỳ bit
if x(k,1)==0
sig=zeros(1,50); % Tạo 50 mẫu giá trị 0
else
sig=ones(1,50); % Tao 50 mẫu gia trị 1
end
pattern=[pattern sig];
end
plot(time,pattern);
axis([0 len/fs -0.5 1.5]);
title('Random Signals');
xlabel('Time in second'); ylabel('Voltage Level');
Kết quả thu được khi thực thi chương trình:
Hình 14.2.