Professional Documents
Culture Documents
1 kênh con
Tần số
(b)
Hình 7.1: So sánh điều chế đa sóng mang ghép kênh theo tần số
thông thường (FDM) (a) và OFDM (b).
Tần số
Hình 7.2: Phổ của tín hiệu OFDM dùng 4 kênh con
Khối nguồn Khối điều chế Khối kênh truyền Khối hiển thị
+ Xây dụng các khối điều chế QAM 16, giải điều chế QAM16, các bộ ước lượng
kênh truyền.
+ Mô hình hệ thống OFDM như sau:
Hình 7.7: Mô hình hệ thống OFDM
- Lập trình code hiển thị tín hiệu OFDM theo miền thời gian, miền tần số, tín hiệu
OFDM trực giao: (Code cho nút bấn “Tín hiệu OFDM”):
%----------Tao tin hieu OFDM mien thoi gian- tan so- tin hieu truc giao-------%
Fd=1; % tan so lay mau (1Hz)
Fs=1*Fd; % So mau cua cac ky tu
M=4; % kind(range) of symbol (0,1,2,3)
% vector initialization
X=zeros(Ndata,1);
Y1=zeros(Ndata,1);
Y2=zeros(Ndata,1);
Y3=zeros(Slen,1);
z0=zeros(Slen,1);
z1=zeros(Ndata/Sdata*Slen,1);
g=zeros(GIlen,1);
z2=zeros(GIlen*Nsym,1);
z3=zeros(GIlen*Nsym,1);
% random integer generation by M kinds
X = randint(Ndata, 1, M);
% Anh xa ky tu tuong tu
Y1 = modmap(X, Fd, Fs, 'qask', M);
% covert to complex number
Y2=amodce(Y1,1,'qam');
for j=1:Nsym;
for i=1:Sdata;
Y3(i+Slen/2-Sdata/2,1)=Y2(i+(j-1)*Sdata,1);
end
z0=ifft(Y3);
for i=1:Slen;
z1(((j-1)*Slen)+i)=z0(i,1);
end
for i=1:Slen;
g(i+16)=z0(i,1);
end
for i=1:GI;
g(i)=z0(i+Slen-GI,1);
end
for i=1:GIlen;
z2(((j-1)*GIlen)+i)=g(i,1);
end
end
%-----------------Ve tin hieu OFDM trong mien tan so----------------------------%
% graph on time domain
figure(2);
f = linspace(-Sdata,Sdata,length(z1));
plot(f,abs(z1));
title('OFDM trong mien tan so');
Y4 = fft(z1);
% if Y4 is under 0.01 Y4=0.001
for j=1:Ndata/Sdata*Slen;
if abs(Y4(j)) < 0.01
Y4(j)=0.01;
end
end
Y4 = 10*log10(abs(Y4));
%---------------------Ve tin hieu OFDM trong mien thoi gia-------------------------%
% graph on frequency domain
figure(1);
f = linspace(-Sdata,Sdata,length(Y4));
plot(f,Y4);
axis([-Slen/2 Slen/2 -20 20]);
title('OFDM trong mien thoi gian');
%--------------Ve tin hieu OFDM truc giao-----------------------------------------%
figure(3);
%clear all;
%close all;
t = -2*pi:0.01:2*pi;
y = sin(pi*t)./(pi*t);
for k = 1:5
plot(t+k,y);
hold on;
end
for k = 1:5
plot(t+1,y,'r-');
plot(t+2,y,'b--');
plot(t+3,y,'m:');
plot(t+4,y,'y*');
plot(t+5,y,'k.');
hold on;
end
title('Pho tan tin hieu sin OFDM','FontName','.Vntime','FontSize',14,'Color','r');
xlabel('Tan so','FontName','.Vntime','FontSize',12,'Color','r');
ylabel('Bien do pho','FontName','.Vntime','FontSize',12,'Color','r');
grid on;
- Lập trình cho tín hiệu FDM (Nut bấm “Tín hiệu FDM”):
%-----------Tin hieu FDM--------------------------------------------------------------%
figure;
Ts =1;
f = 0;
N=10000;
t = 0:1/N:1;
%t2 =0:1/1000:0.2;
%t2 = t2*200;
%k = length(t2);
%%%%%%
y1 = cos(2*pi*(f+10)*t);
y11 =abs(fft(y1))/500;
%%%%%%
y2 = cos(2*pi*(f+20)*t);
y22 =abs(fft(y2))/500;
%%%%%%
y3 = cos(2*pi*(f+30)*t);
y33 =abs(fft(y3))/500;
%%%%%%
y4 = cos(2*pi*(f+40)*t);
y44 =abs(fft(y4))/500;
%%%%%%
y5 = y1 + y2 + y3 + y4;
y55 = abs(fft(y5))/500;
subplot(5,2,1);
plot(t(1:1000),y1(1:1000));
title('Song mang 1');
subplot(5,2,2);
plot(y11);
title('Pho song mang 1');
xlim([2 50]);
subplot(5,2,3);
plot(t,y2);
title('Song mang 2');
subplot(5,2,4);
plot(y22);
title('Pho song mang 2');
xlim([2 50]);
subplot(5,2,5);
plot(t,y3);
title('Song mang 3');
subplot(5,2,6);
plot(y33);
title('Pho song mang 3')
xlim([2 50]);
subplot(5,2,7);
plot(t,y4);
title('Song mang 4');
subplot(5,2,8);
plot(y44);
title('Pho song mang 4');
xlim([2 50]);
subplot(5,2,9);
plot(t(1:1000),y5(1:1000));
title('Tin hieu FDM');
subplot(5,2,10);
plot(y55);
title('Pho FDM');
xlim([2 50]);
- Lập trình so sánh OFDM và QAM, so sánh tín hiệu âm thanh sử dụng chương
trình: sosanh.m, sosanhamthanh.m