T1 612009011 BAB III

(1)

PERANCANGAN

3.1. Perancangan

Secara umum, tampilan simulator modulasi digital ini dibagi menjadi 10 bagian, yaitu

menu utama dan 8 jenis modulasi yang terpisah tiap

GUI

-nya. Cara pengoperasian simulator

modulasi digital ini adalah menekan tombol

start

. Kemudian masuk ke menu utama, yang di

dalamnya terdapat 8 jenis modulasi yang dibagi dalam 4 kategori yaitu

Amplitude Shift

Keying

(

ASK

),

Frequency Shift Keying

(

FSK

),

Phase Shift Keying

(

PSK

), dan

Quadrature

Amplitude Modulation

(

QAM

) seperti terlihat dalam Gambar 3.2.

Gambar 3.1. Tampilan Awal Simulator Modulasi Digital.


(2)

3.1.1.

Simulator Modulasi

BASK

(

Binary Amplitude Shift Keying

)

Gambar 3.3. Tampilan Keseluruhan Simulator Modulasi

BASK

.

Masukan simulator modulasi

BASK

berupa deretan

bit

(b). Isyarat masukan akan

dimodulasi dengan 2 isyarat pembawa yang memiliki ampitudo berbeda (am1

dan

am0)

dan frekuensi f.

b = get(handles.input, 'string');

f = str2num(get(handles.frekuensi, 'string')); am1 = str2num(get(handles.a1,'string'));

am0 = str2num(get(handles.a0,'string'));

for ii = 1: 1: length(b)

% Isyarat Termodulasi BASK

ASK_signal = [ASK_signal (b(ii)==0)*am0*sin(2*pi*f*t1)+... (b(ii)==1)*am1*sin(2*pi*f*t1)];

% Isyarat Masukkan

Digital_signal = [Digital_signal (b(ii)==0)*...

zeros(1,length(t1)) + (b(ii)==1)*ones(1,length(t1))]; end


(3)

3.1.2.

Simulator Modulasi

OOK

(

On-Off Shift Keying

)

Gambar 3.4. Tampilan Keseluruhan Simulator Modulasi

OOK.

Masukan simulator modulasi

OOK

berupa deretan

bit

(b). Isyarat masukan akan

dimodulasi dengan sebuah isyarat pembawa dengan amplitudo a dan frekuensi f.

b = get(handles.edit1, 'string');

f = str2num(get(handles.frekuensi, 'string')); a = str2num(get(handles.am,'string'));

for ii = 1: 1: length(b)

% Isyarat termodulasi OOK

OOK_signal = [OOK_signal (b(ii)==0)*sin(2*pi*f*t1)*0+... (b(ii)==1)*a*sin(2*pi*f*t1)];

% Isyarat masukan

Digital_signal = [Digital_signal (b(ii)==0)*...

zeros(1,length(t1)) + (b(ii)==1)*ones(1,length(t1))]; end


(4)

3.1.3.

Simulator Modulasi

BFSK

(

Binary Frequency Shift Keying

)

Gambar 3.5. Tampilan Keseluruhan Simulator Modulasi

BFSK.

Masukan simulator modulasi

BFSK

berupa deretan

bit

(b). Isyarat masukan akan

dimodulasi dengan 2 buah isyarat pembawa yang memiliki frekuensi berbeda (f1

dan

f0) dan amplitudo am.

b = get(handles.edit1, 'string');

f1 = str2num(get(handles.frek1,'string')); %untuk bit "1"

f0 = str2num(get(handles.frek2,'string')); %untuk bit "0"

am= str2num(get(handles.amplitudo,'string'));

for ii = 1: 1: length(b)

% Isyarat termodulasi FSK

BFSK_signal = [BFSK_signal (b(ii)==0)*am*sin(2*pi*f0*t1)+... (b(ii)==1)*am*sin(2*pi*f1*t1)];

% Isyarat Masukan

Digital_signal = [Digital_signal (b(ii)==0)*...

zeros(1,length(t1)) + (b(ii)==1)*ones(1,length(t1))]; end


(5)

3.1.4.

Simulator Modulasi

BPSK

(

Binary Phase Shift Keying

)

Gambar 3.6. Tampilan Keseluruhan Simulator Modulasi

BPSK.

Masukan simulator modulasi

BPSK

berupa deretan

bit

(b). Isyarat masukan akan

dimodulasi dengan sebuah isyarat pembawa dengan amplitudo am dan frekuensi f.

b = get(handles.input, 'string');

f = str2num(get(handles.frekuensi, 'string')); am= str2num (get(handles.amplitudo,'string'));

for ii = 1: 1: length(b)

% The FSK Signal

PSK_signal = [PSK_signal (b(ii)==0)*(-1)*am*cos(2*pi*f*t1)+... (b(ii)==1)*am*(cos(2*pi*f*t1))];

% The Original Digital Signal

Digital_signal = [Digital_signal (b(ii)==0)*...

zeros(1,length(t1))+(b(ii)==1)*ones(1,length(t1))]; end


(6)

3.1.5.

Simulator Modulasi

DPSK

(

Differential Phase Shift Keying

)

Gambar 3.7. Tampilan Keseluruhan Simulator Modulasi

DPSK.

Masukan simulator modulasi

DPSK

berupa deretan

bit

(b). Isyarat masukan akan

dimodulasi dengan sebuah isyarat pembawa dengan amplitudo am dan frekuensi f.

b = get(handles.input, 'string');

f = str2num(get(handles.frekuensi,'string')); am= str2num(get(handles.amplitudo,'string'));

z=length(b); dk(1,1)=1; for n=2:z

if b(1,n)==1 B(1,n)=dk(1,n-1); dk(1,n)=B(1,n); else b(1,n)==0 B(1,n)=~dk(1,n-1); dk(1,n)=B(1,n); end

end

for ii = 1: 1: length(b)

if (dk(ii)==0) a=a*-1


(7)

end

% Isyarat termodulasi DPSK

DPSK_signal = [DPSK_signal (dk(ii)==0)*(-1)*am*sin(2*pi*f*t1)+... (dk(ii)==1)*am*(sin(2*pi*f*t1))];

% Isyarat masukan

Digital_signal = [Digital_signal (b(ii)==0)*...

zeros(1,length(t1))+(b(ii)==1)*ones(1,length(t1))]; end

3.1.6.

Simulator Modulasi

QPSK

(

Quadrature Phase Shift Keying

)

Gambar 3.8. Tampilan Keseluruhan Simulator Modulasi QPSK.

Masukan simulator modulasi

QPSK

berupa deretan

bit

yang dibagi menjadi 2,

yaitu

bit

urutan ke-genap

b dan

bit

urutan ke-gasal

c. Isyarat masukan akan dimodulasi

dengan sebuah isyarat pembawa dengan amplitudo am dan frekuensi f.

b = get(handles.input1, 'string'); c = get (handles.input2,'string');

f = str2num(get(handles.frekuensi, 'string')); am = str2num(get(handles.amplitudo,'string'));

for ii = 1: 1: length(b) %Bit ganjil ( I )


(8)

(b(ii)==1)*am*cos(2*pi*f*t1)]; end

for iii=1:1:length(c) %bit genap( Q )

Q_signal = [Q_signal (c(iii)==0)*am*(-1)*sin(2*pi*f*t2)+... (c(iii)==1)*am*sin(2*pi*f*t2)];

end

QPSK_signal= I_signal - Q_signal;

3.1.7.

Simulator Modulasi

OQPSK

(

Offset Quadrature Phase Shift Keying

)

Gambar 3.9. Tampilan Keseluruhan Simulator Modulasi

OQPSK.

Masukan simulator modulasi

OQPSK

berupa deretan

bit

yang dibagi menjadi 2,

yaitu

bit

urutan ke-genap

b dan

bit

urutan ke-gasal

c. Isyarat masukan akan dimodulasi

dengan sebuah isyarat pembawa dengan amplitudo am dan frekuensi f.

b = get(handles.input1, 'string'); %bit urutan ke ganjil

c= get (handles.input2,'string'); % bit urutan ke genap

f = str2num(get(handles.frekuensi, 'string')); am=str2num(get(handles.amplitudo,'string'));


(9)

for ii = 1: 1: length(b) %Bit ganjil ( I )

I_signal = [I_signal (b(ii)==0)*(-1)*am*cos(2*pi*f*(t1))+... (b(ii)==1)*am*cos(2*pi*f*t1)];

end

for iii=1:1:length(c) %bit genap ( Q )

Q_signal = [Q_signal (c(iii)==0)*(-1)*am*sin(2*pi*f*(t2))+... (c(iii)==1)*am*sin(2*pi*f*(t2))];

end

OQPSK_signal= I_signal-Q_signal;

3.1.8.

Simulator Modulasi

QAM

(

Quadrature Amplitude Modulation

)

Gambar 3.10. Tampilan Keseluruhan Simulator Modulasi

QAM

.

Dalam simulator modulasi

QAM

terdapat 4 jenis modulasi

QAM

yaitu 4

QAM

, 8

QAM

, 16

QAM,

dan 32

QAM

. Pengguna bisa langsung memilih bagian mana yang ingin

di

plot

dan

bit rate

yang diinginkan.

Ld=log2(M); ds=ceil(Ld); nbit= M*log2(M);


(10)

msg=round(rand(nbit,1));

msg_reshape=reshape(msg,Ld,nbit/Ld)';

size(msg_reshape);

for(j=1:1:nbit/log2(M)) for(i=1:1:log2(M))

a(j,i)=num2str(msg_reshape(j,i)); end

end

as=bin2dec(a); ass=as';

p=qammod(ass,M); RR=real(p);

II=imag(p);

for(k=1:1:length(RR))

yr=RR(k)*cos(2*pi*f*t);

yim=II(k)*sin(2*pi*f*t); y=yr+yim;

m=[m y]; end


(1)

3.1.4.

Simulator Modulasi

BPSK

(

Binary Phase Shift Keying

)

Gambar 3.6. Tampilan Keseluruhan Simulator Modulasi

BPSK.

Masukan simulator modulasi

BPSK

berupa deretan

bit

(b). Isyarat masukan akan

dimodulasi dengan sebuah isyarat pembawa dengan amplitudo am dan frekuensi f.

b = get(handles.input, 'string');

f = str2num(get(handles.frekuensi, 'string')); am= str2num (get(handles.amplitudo,'string'));

for ii = 1: 1: length(b)

% The FSK Signal

PSK_signal = [PSK_signal (b(ii)==0)*(-1)*am*cos(2*pi*f*t1)+... (b(ii)==1)*am*(cos(2*pi*f*t1))];

% The Original Digital Signal

Digital_signal = [Digital_signal (b(ii)==0)*...

zeros(1,length(t1))+(b(ii)==1)*ones(1,length(t1))]; end


(2)

3.1.5.

Simulator Modulasi

DPSK

(

Differential Phase Shift Keying

)

Gambar 3.7. Tampilan Keseluruhan Simulator Modulasi

DPSK.

Masukan simulator modulasi

DPSK

berupa deretan

bit

(b). Isyarat masukan akan

dimodulasi dengan sebuah isyarat pembawa dengan amplitudo am dan frekuensi f.

b = get(handles.input, 'string');

f = str2num(get(handles.frekuensi,'string')); am= str2num(get(handles.amplitudo,'string'));

z=length(b); dk(1,1)=1; for n=2:z

if b(1,n)==1 B(1,n)=dk(1,n-1); dk(1,n)=B(1,n); else b(1,n)==0 B(1,n)=~dk(1,n-1); dk(1,n)=B(1,n); end

end

for ii = 1: 1: length(b)

if (dk(ii)==0) a=a*-1


(3)

end

% Isyarat termodulasi DPSK

DPSK_signal = [DPSK_signal (dk(ii)==0)*(-1)*am*sin(2*pi*f*t1)+... (dk(ii)==1)*am*(sin(2*pi*f*t1))];

% Isyarat masukan

Digital_signal = [Digital_signal (b(ii)==0)*...

zeros(1,length(t1))+(b(ii)==1)*ones(1,length(t1))]; end

3.1.6.

Simulator Modulasi

QPSK

(

Quadrature Phase Shift Keying

)

Gambar 3.8. Tampilan Keseluruhan Simulator Modulasi QPSK.

Masukan simulator modulasi

QPSK

berupa deretan

bit

yang dibagi menjadi 2,

yaitu

bit

urutan ke-genap

b dan

bit

urutan ke-gasal

c. Isyarat masukan akan dimodulasi

dengan sebuah isyarat pembawa dengan amplitudo am dan frekuensi f.

b = get(handles.input1, 'string'); c = get (handles.input2,'string');

f = str2num(get(handles.frekuensi, 'string')); am = str2num(get(handles.amplitudo,'string'));

for ii = 1: 1: length(b) %Bit ganjil ( I )


(4)

(b(ii)==1)*am*cos(2*pi*f*t1)]; end

for iii=1:1:length(c) %bit genap( Q )

Q_signal = [Q_signal (c(iii)==0)*am*(-1)*sin(2*pi*f*t2)+... (c(iii)==1)*am*sin(2*pi*f*t2)];

end

QPSK_signal= I_signal - Q_signal;

3.1.7.

Simulator Modulasi

OQPSK

(

Offset Quadrature Phase Shift Keying

)

Gambar 3.9. Tampilan Keseluruhan Simulator Modulasi

OQPSK.

Masukan simulator modulasi

OQPSK

berupa deretan

bit

yang dibagi menjadi 2,

yaitu

bit

urutan ke-genap

b dan

bit

urutan ke-gasal

c. Isyarat masukan akan dimodulasi

dengan sebuah isyarat pembawa dengan amplitudo am dan frekuensi f.

b = get(handles.input1, 'string'); %bit urutan ke ganjil

c= get (handles.input2,'string'); % bit urutan ke genap

f = str2num(get(handles.frekuensi, 'string')); am=str2num(get(handles.amplitudo,'string'));


(5)

for ii = 1: 1: length(b) %Bit ganjil ( I )

I_signal = [I_signal (b(ii)==0)*(-1)*am*cos(2*pi*f*(t1))+... (b(ii)==1)*am*cos(2*pi*f*t1)];

end

for iii=1:1:length(c) %bit genap ( Q )

Q_signal = [Q_signal (c(iii)==0)*(-1)*am*sin(2*pi*f*(t2))+... (c(iii)==1)*am*sin(2*pi*f*(t2))];

end

OQPSK_signal= I_signal-Q_signal;

3.1.8.

Simulator Modulasi

QAM

(

Quadrature Amplitude Modulation

)

Gambar 3.10. Tampilan Keseluruhan Simulator Modulasi

QAM

.

Dalam simulator modulasi

QAM

terdapat 4 jenis modulasi

QAM

yaitu 4

QAM

, 8

QAM

, 16

QAM,

dan 32

QAM

. Pengguna bisa langsung memilih bagian mana yang ingin

di

plot

dan

bit rate

yang diinginkan.

Ld=log2(M); ds=ceil(Ld); nbit= M*log2(M);


(6)

msg=round(rand(nbit,1));

msg_reshape=reshape(msg,Ld,nbit/Ld)';

size(msg_reshape);

for(j=1:1:nbit/log2(M)) for(i=1:1:log2(M))

a(j,i)=num2str(msg_reshape(j,i)); end

end

as=bin2dec(a); ass=as';

p=qammod(ass,M); RR=real(p);

II=imag(p);

for(k=1:1:length(RR))

yr=RR(k)*cos(2*pi*f*t);

yim=II(k)*sin(2*pi*f*t); y=yr+yim;

m=[m y]; end