Professional Documents
Culture Documents
x= randi([0 1],1,16);
k=4;
xsym = bi2de(reshape(x,k,length(x)/k).','left-msb');
M = 16;
y = qammod(xsym,M);
zsym = qamdemod(y,M);
% Chuyển đổi ngược từ các ký hiệu thành chuỗi bit nhị phân%
z = reshape(z.',prod(size(z)),1);
Yreal = real(y);%Tín hiệu Y1(t) là phần thực của tín hiệu điều chế băng gốc y
Yimag = imag(y);% Tín hiệu Y2(t) là phần ảo của tín hiệu điều chế băng gốc y
% Khởi tạo vector tín hiệu
y1 = [];
y2 = [];
xtmp=[];
ztmp=[];
y1=[y1 sig1];
y2=[y2 sig2];
end
figure;
chan = rayleighchan(1/10000,100);
k = log2(M);
n = 3e4;
nsamp = 1;
% Tạo chuỗi dữ liệu nhị phân ngẫu nhiên dưới dạng vector cột.
xsym = bi2de(reshape(x,k,length(x)/k).','left-msb');
y = qammod(xsym,M);
ytx = y;
% Kênh truyền
ynoisy = awgn(ytx,snr,'measured');
yrx = ynoisy;
zsym = qamdemod(yrx,M);
% Chuyển đổi ngược từ các ký hiệu thành chuỗi bit nhị phân.
z = de2bi(zsym,'left-msb');
z = reshape(z.',prod(size(z)),1);
[number_of_errors,bit_error_rate] = biterr(x,z)