Professional Documents
Culture Documents
Lab 5 - Digital Modulation
Lab 5 - Digital Modulation
Lab 5 - Digital Modulation
1 0 0 1
11000110
1 0 1 0
Hình 5.4: Biểu đồ dạng sóng tín hiệu QPSK theo thời gian
5.4. XÂY DỰNG BÀI THÍ NGHIỆM
Bước 1: Tạo giao diện trên Guide của Matlab
if f<1;
error('tan so phai lon hon 1');
end
l=length(g);
r=l/2;
re=ceil(r);
val=re-r;
if val~=0;
error('so bit nhi phan nhap vao phai la chan');
end
t=0:2*pi/99:2*pi;
cp=[];sp=[];
mod=[];mod1=[];bit=[];
bit1=[];bit2=[];bit0=[];
for n=1:length(g)/2;
if g(2*n-1)==0;
se1=zeros(1,100);
else g(2*n-1)==1;
se1=ones(1,100);
end
bit1=[bit1 se1];
end
for n=1:length(g)/2;
if g(2*n)==0;
se2=zeros(1,100);
else g(2*n)==1;
se2=ones(1,100);
end
bit2=[bit2 se2];
end
%---------------------------------------Tách dữ liệu I & Q-----------------------------%
for n=1:2:length(g);
if g(n)==0 && g(n+1)==1;
die=sqrt(2)/2*ones(1,100);
die1=-sqrt(2)/2*ones(1,100);
se=[zeros(1,50) ones(1,50)];
elseif g(n)==0 && g(n+1)==0;
die=-sqrt(2)/2*ones(1,100);
die1=-sqrt(2)/2*ones(1,100);
se=[zeros(1,50) zeros(1,50)];
elseif g(n)==1 && g(n+1)==0;
die=-sqrt(2)/2*ones(1,100);
die1=sqrt(2)/2*ones(1,100);
se=[ones(1,50) zeros(1,50)];
elseif g(n)==1 && g(n+1)==1;
die=sqrt(2)/2*ones(1,100);
die1=sqrt(2)/2*ones(1,100);
se=[ones(1,50) ones(1,50)];
end
c=sin(f*t);
s=cos(f*t);
cp=[cp die]; %Amplitude cosino
sp=[sp die1]; %Amplitude sino
mod=[mod c]; %cosino carrier (Q)
mod1=[mod1 s]; %sino carrier (I)
bit=[bit se];
end
%--------------------------------Ghép tín hiệu I & Q -----------------------------------%
qpsk=cp.*mod+sp.*mod1;
%-------------------------------Vẽ các đường tin hiệu----------------------------------%
subplot(4,2,1);plot(bit,'LineWidth',1.5);grid on;
title('Tin hieu dua vao dieu che')
axis([0 50*length(g) -1.5 1.5]);
subplot(4,2,3);plot(bit1,'LineWidth',1.5);grid on;
title('Tin hieu I')
axis([0 50*length(g) -1.5 1.5]);
subplot(4,2,5);plot(bit2,'LineWidth',1.5);grid on;
title('Tin hieu Q')
axis([0 50*length(g) -1.5 1.5]);
subplot(4,2,7);plot(qpsk,'LineWidth',1.5);grid on;
title('Tin hieu dieu che qpsk');
% --------------------------------Ma Gray---------------------------------------------%
mappingTable(1) = r1 * exp(1i* 0);
mappingTable(2) = r1 * exp(1i* pi/4);
mappingTable(3) = r1 * exp(1i* 3*pi/4);
mappingTable(4) = r1 * exp(1i* pi/2);
mappingTable(5) = r1 * exp(1i* 7*pi/4);
mappingTable(6) = r1 * exp(1i* 3*pi/2);
mappingTable(7) = r1 * exp(1i* pi);
mappingTable(8) = r1 * exp(1i* 5*pi/4);
mappingTable(9:16) = mappingTable(1:8) ./ r1 .* r2;
if mod(numberOfBits, 4) ~= 0
error('numberOfBits must be a multiple of 4.');
end
mappedSymbols = zeros(1, numberOfBits / 4);
for i = 1:4:length(x)
symbolBits = x(i:i+3);
symbolIndex = 2^3 * symbolBits(1) + 2^2 * symbolBits(2) + 2^1 *
symbolBits(3) + 2^0 * symbolBits(4);
% Mapping
mappedSymbols((i - 1)/4 + 1) = mappingTable( symbolIndex + 1);
end
Hình 5.6 a
Hình 5.6 b
Hình 5.6: Kết quả mô phỏng điều chế QPSK:
SNR = 25 dB
SNR = 0,5
5.5. BÀI TẬP
Mô phỏ ng bộ điều ASK, FSK, PSK và 64 - QAM
5.6. BÁO CÁO TỔNG KẾT