42
TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS BRAWIJAYA SIMULASI ISYARAT TELEKOMUNIKASI MODUL AJAR Ir. Sigit Kusmaryanto, M.Eng 2013

SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

Embed Size (px)

Citation preview

Page 1: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS BRAWIJAYA

SIMULASI ISYARAT TELEKOMUNIKASI MODUL AJAR

Ir. Sigit Kusmaryanto, M.Eng

2 0 1 3

Page 2: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

KATA PENGANTAR Dengan mengucap syukur Alhamdulillah Modul Ajar : Simulasi Isyarat Telekomunikasi dapat

tersusun. Modul ini membahas aplikasi program MATLAB untuk membuktikan teori dan model isyarat

telekomunikasi. Buku ini terdiri atas 4 modul. Modul 1 membahas tentang operasi dasar MAtlab dengan

harpan mahasiswa mampu secara mandiri menggunakan aplikasi matlab. Modul 2 dan 3 membahas

dasar pembangkitan dan operasi sinyal dengan Matlab. modul 4 membahas aplikasi Matlab untuk

menjelaskan fenomena modulasi amplitudo.

Mahasiswa yang mempelajari buku ini adalah yang telah mengambil/mengikuti mata kuliah

Telekomunikasi. Dengan mempraktekkan simulasi isyarat telekomunikasi dengan program Matlab

dalam buku ini maka diharapkan mahasiswa memperoleh tidak hanya kemampuan teoritis tetapi juga

mendapatkan kemampuan praktek simulasi.

Semoga buku Modul Ajar ini bermanfaat, saran, kritik dan masukan untuk perbaikan pada

buku ini kami sampaikan terima kasih

Malang, 2013 Penyusun

Page 3: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

DAFTAR ISI

MODUL 1 OPERASI DASAR MATLAB 1

MODUL 2 PEMBANGKITAN SINYAL 12

MODUL 3 OPERASI DASAR SINYAL 23

MODUL 4 MODULASI AMPLITUDO 30

Page 4: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

1

MODUL I

OPERASI DASAR MATLAB

Tujuan Instruksional: Mahasiswa mampu mengoperasikan Matlab sebagai perangkat Simulasi Isyarat Telekomunikasi. MATLAB MATLAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi untuk komputasi masalah

teknik. Matlab mengintegrasikan komputasi, visualisasi, dan pemrograman dalam suatu model yang

sangat mudah untuk pakai dimana masalah-masalah dan penyelesaiannya diekspresikan dalam notasi

matematika yang familiar. Penggunaan Matlab meliputi bidang–bidang:

• Matematika dan Komputasi

• Pembentukan Algorithm

• Akusisi Data

• Pemodelan, simulasi, dan pembuatan prototipe

• Analisa data, explorasi, dan visualisasi

• Grafik Keilmuan dan bidang Rekayasa

MATLAB merupakan suatu sistem interaktif yang memiliki elemen data dalam suatu array sehingga

tidak lagi kita dipusingkan dengan masalah dimensi. Hal ini memungkinkan kita untuk memecahkan

banyak masalah teknis yang terkait dengan komputasi, khususnya yang berhubungan dengan matrix dan

formulasi vektor, yang mana masalah tersebut merupakan momok apabila kita harus menyelesaikannya

dengan menggunakan bahasa level rendah seperti Pascall, C dan Basic. Nama MATLAB merupakan

singkatan dari matrix laboratory. MATLAB pada awalnya ditulis untuk memudahkan akses perangkat

lunak matrik yang telah dibentuk oleh LINPACK dan EISPACK. Saat ini perangkat MATLAB telah

menggabung dengan LAPACK dan BLAS library, yang merupakan satu kesatuan dari sebuah seni

tersendiri dalam perangkat lunak untuk komputasi matrix. Dalam lingkungan perguruan tinggi teknik,

Matlab merupakan perangkat standar untuk memperkenalkan dan mengembangkan penyajian materi

matematika, rekayasa dan keilmuan. Di industri, MATLAB merupakan perangkat pilihan untuk

penelitian dengan produktifitas yang tingi, pengembangan dan analisanya. Fitur-fitur MATLAB sudah

banyak dikembangkan, dan lebih kita kenal dengan nama toolbox. Sangat penting bagi seorang

pengguna Matlab, toolbox mana yang mandukung untuk learn dan apply technologi yang sedang

dipelajarinya. Toolbox toolbox ini merupakan kumpulan dari fungsi-fungsi MATLAB (M-files) yang

telah dikembangkan ke suatu lingkungan kerja MATLAB untuk memecahkan masalah dalam kelas

particular. Area-area yang sudah bisa dipecahkan dengan toolbox saat ini meliputi pengolahan sinyal,

system kontrol, neural networks, fuzzy logic, wavelets, dan lain-lain.

Page 5: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

2

Kelengkapan pada Sistem MATLAB Sebagai sebuah system, MATLAB tersusun dari 5 bagian utama:

1. Development Environment. Merupakan sekumpulan perangkat dan fasilitas yang membantu

anda untuk menggunakan fungsi-fungsi dan file-file MATLAB. Beberapa perangkat ini merupakan

sebuah graphical user interfaces (GUI). Termasuk didalamnya adalah MATLAB desktop dan

Command Window, command history, sebuah editor dan debugger, dan browsers untuk melihat

help, workspace, files, dan search path.

2. MATLAB Mathematical Function Library. Merupakan sekumpulan algoritma komputasi

mulai dari fungsi-fungsi dasar sepertri: sum, sin, cos, dan complex arithmetic, sampai dengan

fungsi-fungsi yang lebih kompek seperti matrix inverse, matrix eigenvalues, Bessel functions, dan

fast Fourier transforms.

3. MATLAB Language. Merupakan suatu high-level matrix/array language dengan control flow

statements, functions, data structures, input/output, dan fitur-fitur object-oriented programming. Ini

memungkinkan bagi kita untuk melakukan kedua hal baik "pemrograman dalam lingkup sederhana "

untuk mendapatkan hasil yang cepat, dan "pemrograman dalam lingkup yang lebih besar" untuk

memperoleh hasil-hasil dan aplikasi yang komplek.

4. Graphics. MATLAB memiliki fasilitas untuk menampilkan vector dan matrices sebagai suatu

grafik. Didalamnya melibatkan high-level functions (fungsi-fungsi level tinggi) untuk visualisasi

data dua dikensi dan data tiga dimensi, image processing, animation, dan presentation graphics. Ini

juga melibatkan fungsi level rendah yang memungkinkan bagi anda untuk membiasakan diri untuk

memunculkan grafik mulai dari benutk yang sederhana sampai dengan tingkatan graphical user

interfaces pada aplikasi MATLAB anda.

5. MATLAB Application Program Interface (API). Merupakan suatu library yang

memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran mampu berinterakasi

dengan MATLAB. Ini melibatkan fasilitas untuk pemanggilan routines dari MATLAB (dynamic

linking), pemanggilan MATLAB sebagai sebuah computational engine, dan untuk membaca dan

menuliskan MAT-files.

Memulai Matlab Perhatikan Dekstop pada layar monitor PC, anda mulai MATLAB dengan melakukan

double-clicking pada shortcut icon MATLAB

Gambar 1. Icon MATLAB pada desktop PC

Page 6: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

3

Selanjutnya anda akan mendapatkan tampilan seperti pada Gambar berikut ini.

Gambar 2. Tampilan awal Matlab

Sedangkan untuk mengakhiri sebuah sesi MATLAB, anda bisa melakukan dengan dua cara, pertama

pilih File -> Exit MATLAB dalam window utama MATLAB yang sedang aktif, atau cara kedua lebih

mudah yaitu cukup ketikkan type quit dalam Command Window.

Menentukan Direktori Tempat Bekerja Anda dapat bekerja dengan MATLAb secara default pada directory Work ada di dalam Folder

MATLAB. Tetapi akan lebih bagus dan rapi jika anda membuat satu directory khusus dengan nama

yang sudah anda kususkan, “dargombes” atau nama yang lain yang mudah untuk diingat. Hal ini akan

lebih baik bagi anda untuk membiasakan bekerja secara rapi dan tidak mencampur program yang anda

buat dengan program orang lain. Untuk itu Arahkan pointer mouse anda pada kotak bertanda … yang

ada disebelah kanan tanda panah kebawah (yang menunjukkan folder yang sedang aktif). Pilih new

directory, selanjutnya ketikkan “dargombes”, dan diikuti dengan click Ok.

Page 7: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

4

Gambar 3. Membuat Folder baru tempat program

Memulai Perintah Sederhana

Langkah kita yang pertama adalah dengan menentukan variable scalar dengan cara melakukan

pengetikan seperti berikut:

» x = 2 (selanjutnya tekan “Enter”) x = 2 » y = 3 y = 3 » z = x + y z = 5 mendefinisikan dua buah vector, yaitu vector x dan vector y:

» x = [1 2 3] x = 1 2 3 » y = [4 5 6] y = 4 5 6 Selajutnya ketik: >> y(1) ans = 4 dan ulangi untuk y(2) and y(3).Matlab menggunakan integer positif untuk index array. Elemen pertama

adalah y(1), elemen kedua adalah y(2), dan seterusnya. Nol atau bilangan negatif tidak diperbolehkan

untuk indek array. Sekarang kita jumlahkan keduanya:

» x+y ans = 5 7 9

Page 8: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

5

dan sekarang hitung inner product:

» x*y' ans = 32 Jawabannya adalah 1*4 + 2*5 + 3*6 = 32! Catat, bahwa y' adalah transpose pada y dan merupakan

suatu vector kolom. Untuk memeriksanya, ketikkan perintah berikut:

>> y' ans = 4 5 6 Cara lain pada pengkombinasian dua vector adalah diakukan melalui perkalian elementdemi-

element:

>> x.*y ans = 4 10 18 Catat periode sebelum perkalian simbol. Sekarang kita dapat mendefinisikan suatu matrix:

» A = [1 2 3 4 5 6 7 8 9]; Catat bahwa matrik tidak diulang kalau kita menggunakan semi colon. Kita sekarang kalikan

A dengan transpose dari x:

» A*x' ans = 14 32 50 Sekarang kita harus mentranspose x untuk memenuhi perkalian suatu matrik dan suatu vector

kolom. Matrik-matrik ini dapat juga dikalikan satu sama lain diantara mereka:

» B = [1 2 3 4 5 6 7 8 7 6 5 4]; » A*B ans = 32 32 32 32 71 74 77 80 110 116 122 128 Sekarang coba anda lakukan penjumlahan antara A dan B:

» A+B

??? Error using ==> +

Matrix dimensions must agree.

Baiklah, kita tidak dapat menambah suatu matrik 3 kali 3 dengan matrix 3 kali 4 , dan Matlab

akan mendeteksi dimensi yang mismatch dan selanjutnya memeberikan pesan error. Sekarang

kita cari cara lain untuk mendefinisikan matrik dan vektor. Sebagai contoh suatu matrik nol

dengan dimensi 3 baris dan 6 kolom dapat dinyatakan sebagai:

>> zeros(3,6)

ans =

Page 9: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

6

0 0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 0 0

tentu saja jika anda tambahkan suatu ";" setelah zeros(3,6), jawabannya tidak akan

ditampilkan di layar monitor anda.

Angka pertama, 3 menunjukkan jumah baris, sedangkan angka kedua, 6, adalah jumlah

kolom. Kita dapat pula melakukan hal yang sama untuk menampilkan angka satu seperti

berikut:

>> ones(3,6) ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Pendefinisian Vektor-vektor Besar Suatu vektor 1 kali 100 yang menyusun sample pada sinyal cosinus dapat dibangkitkan

dengan

>> x = cos(0.1*pi*(0:99));

Untuk membangkitkan suatu "ramp" dari 1 sampai 50 coba:

>> x = [1:1:50];

bilangan kedua mengindikasikan step kenaikan dari dari 1 sampai 50. Untuk membangkitkan

suatu fungsi "ramp" dari 1 sampai 50 coba berikut ini:

>> x = [1:1:50];

Ketika anda tidak memasukkan angka kedua pada perintah diatas, maka secara otomatis

(default) step kenaikan ditetapkan bernilai “1”:

>> x = [1:50];

Anda bisa juga secara khusus mendefinisikan suatu rentang nilai pada x sebagai berikut::

>> x(51:100) = [50:-1:1]

Ini merupakan metode yang sangat bermanfaat untuk mensepsifikasi nilai “waktu” untuk

penggambaran. Sebagai contoh, ditetapkan interval sampling dalam contoh diatas adalah 1

detik. Selanjutnya anda dapat mendefisnisikan seperti berikut:

>> time = [0:0.001:0.099];

Penggambaran Grafik Salah satu kelebihan dari Matlab adalah kemudahan dalam mengolah grafik. Sehingga

anda tidak perlu kesulitan untuk melihat suatu respon system, misalnya pada kasus melijhat

bentuk sinyal dalam domain waktu anda cukup mengikuti langkah berikut.

Sekarang ketikkan:

>> time = [0:0.001:0.099]; >> x = cos(0.1*pi*(0:99)); >> plot(time,x) >> xlabel('time (msec)')

Page 10: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

7

>> ylabel('x(t)') ini akan menghasilkan gambar seperti berikut:

Gambar 4. Contoh tampilan grafik sederhana dengan perintah plot

Sedangkan cara untuk menampilkan sederetan nilai fungsi waktu diskrit adalah dengan

menggunakan perintah "stem". Dari contoh deretan perintah coba anda rubah beberapa bagian

dengan perintah berikut

>> stem(time,x)

>> xlabel('time (msec)')

>> ylabel('x(t)')

Apakah hasilnya seperti berikut ini?

Gambar 5. Contoh tampilan grafik dengan perintah stem

Menyusun Progam Sederhana Anda dapat mengedit suatu file text yang tersusun dari beberapa perintah Matlab. Ini dapat

dilakukan dengan menekan double-click pada icon "New M-File" icon in the Matlab toolbar.

Page 11: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

8

Gambar 6. Langkah awal menyusun program sederhana

Selanjutnya anda akan mendapatkan sebuah tampilan Matlab Editor yang masih kosong

seperti ini.

Gambar 7. Tampilan Matlab Editor tempat membuat program

Selanjutnya anda buat program seperti pada contoh sebelumnya

Gambar 8. Contoh penulisan program pada Matlab Editor

Page 12: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

9

Gambar 9. Cara menyimpan dan mengeksekusi program anda

Lanjutkan dengan menekan toolbar Debug, dan jangan lupa anda pilih Save anda Run. Disitu

anda harus menuliskan nama program. Anda tuliskan coba_1, secara otomatis akan menjadi

file coba_1.m dan akan anda lihat tampilan hasilnya. Seperti apa ya?

Program kedua anda

Cobalah untuk membuat program seperti berikut ini pada Matlab editor, dan jangan lupa anda

simpan dengan nama coba_2 x(1:52) = [0 0 1:1:50]; x(53:102) = [50:-1:1]; h = [1 2]; for n = 3:101, y(n) = 0; for m = 1:2, y(n) = y(n) + h(m)*x(n-m); end end plot(y) Hasil apa yang anda dapatkan ?

Dalam hal ini anda harus memahami arti setiap perintah yang anda tuliskan dalam Matlab,

tidak ada salahnya anda bertanya kepada instruktur apa arti perintah-perintah tersebut.

Program ketiga anda

Satu contoh lain program untuk for adalah pembangkitan gambar seperti berikut.

%File Name:coba_3.m n=201; delx=10/(n-1); for k=1:n x(k)=(k-1)*delx; y(k)=sin(x(k))*exp(-0.4*x(k)); end %plot(x,y) plot(x,y,'linewidth',4) title('Grafik yang pertama') xlabel('x');ylabel('y');

Page 13: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

10

Gambar 10. Tampilan program grafik ketiga

Fungsi dalam Matlab Matlab juga mampu untuk menuliskan fungsi yang didefinisikan oleh pemakainya. Buat

sebuah fungsi dengan menuliskan program berikut ini:

function y = x2(t)

y = t^2;

Anda simpan dengan nama "x2.m" selanjutnya anda dapat memanfaatkan fungsi tersebut

melalui Matlab line command dengan cara berikut:

>>t=0:1:10;

>> y_2=x2(t)

Hasilnya adalah seperti berikut:

y_2 =

0 1 4 9 16 25 36 49 64 81 100

Anda bisa juga memanggil fungsi tersebut melalui program pada panggil_1.m file yang anda

buat seperti berikut:

t=0:1:10;

y_2=x2(t)

Hasilnya adalah sama seperti menggunakan command line window.

TUGAS 1. Dari contoh-contoh program yang sudah anda jalankan, coba berikan penjelasan arti

setiap perintah terhadap output yang dihasilkannya.

2. Coba anda cari bagaimana cara menampilkan grafik untuk tampilan tiga dimensi dan

grafik polar.

3. Bagaimana cara menampilkan lebih dari satu persamaan dalam satu grafik? Misalnya

anda memiliki dua fungsi sinus yang berbeda fase. Fungsi pertama anda tampilkan,

lalu anda lanjutkan menampilkan fungsi kedua, dengan catatan tamplan pada fungsi

Page 14: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

11

pertama tidak boleh hilang.

4. Bagaimana cara menampilkan lebih dari satu grafik dalam satu tampilan? Misalnya

anda gunakan fungsi pada soal ke-3, satu fungsi ditampilkan diatas dan fungsi lainya

di bagian bawah.

5. Bagimana cara menampilkan dua fungsi diman masing-masing fungsi disajikan

dalam grafik berbeda. Misalnya anda gunakan contoh kasus pada soal ke-3, fungsi

pertama anda tampilkan pada figure(1), sementara fungsi kedua anda tampilkan pada

figure(2).

Page 15: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

12

MODUL II

PEMBANGKITKAN SINYAL

Tujuan Instruksional: Mahasiswa dapat membangkitkan beberapa jenis sinyal dasar yang banyak digunakan dalam

Telekomunikasi.

Sinyal Sinyal merupakan sebuah fungsi yang berisi informasi mengenai keadaan tingkah laku dari sebuah

sistem secara fisik. Meskipun sinyal dapat diwujudkan dalam beberapa cara, dalam berbagai kasus,

informasi terdiri dari sebuah pola dari beberapa bentuk yang bervariasi. Sebagai contoh sinyal mungkin

berbentuk sebuah pola dari banyak variasi waktu atau sebagian saja.

Secara matematis, sinyal merupakan fungsi dari satu atau lebih variable yang berdiri sendiri

(independent variable). Sebagai contoh, sinyal wicara akan dinyatakan secara matematis oleh tekanan

akustik sebagai fungsi waktu dan sebuah gambar dinyatakan sebagai fusngsi ke-terang-an (brightness)

dari dua variable ruang (spatial).

Gambar 1. Contoh sinyal audio

Secara umum, variable yang berdiri sendiri (independent) secara matematis diwujudkan dalam fungsi

waktu, meskipun sebenarnya tidak menunjukkan waktu. Terdapat 2 tipe dasar sinyal, yaitu:

1. Sinyal waktu kontinyu (continous-time signal)

2. Sinyal waktu diskrit (discrete-time signal)

Page 16: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

13

Pada sinyal kontinyu, variable independent (yang berdiri sendiri) terjadi terus-menerus dan kemudian

sinyal dinyatakan sebagai sebuah kesatuan nilai dari variable independent. Sebaliknya, sinyal diskrit

hanya menyatakan waktu diskrit dan mengakibatkan variabel independent hanya merupakan himpunan

nilai diskrit. Fungsi sinyal dinyatakan sebagai x dengan untuk menyertakan variable dalam tanda (.).

Untuk membedakan antara sinyal waktu kontinyu dengan sinyak waktu diskrit kita menggunakan

symbol t untuk menyatakan variable kontinyu dan symbol n untuk menyatakan variable diskrit. Sebagai

contoh sinyal waktu kontinyu dinyatakan denganngsi x(t) dan sinyal waktu diskrit dinyatakan dengan

fusng x(n). Sinyal waktu diskrit hanya menyatakan nilai integer dari variable independent.

Sinyal Waktu Kontinyu

Suatu sinyal x(t) dikatakan sebagai sinyal waktu-kontinyu atau sinyal analog ketika dia memiliki nilai

real pada keseluruhan rentang waktu t yang ditempatinya. Sinyal waktu kontinyu dapat didefinisikan

dengan persamaan matematis sebagai berikut.

Fungsi Step dan Fungsi Ramp (tanjak)

Dua contoh sederhana pada sinyal kontinyu yang memiliki fungsi step dan fungsi ramp (tanjak) dapat

diberikan seperti pada Gambar 2a. Sebuah fungsi step dapat diwakili dengan suatu bentuk matematis

sebagai:

Disini tangga satuan (step) memiliki arti bahwa amplitudo pada u(t) bernilai 1 untuk semua t > 0.

Untuk suatu sinyal waktu-kontinyu x(t), hasil kali x(t)u(t) sebanding dengan x(t) untuk t > 0 dan

sebanding dengan nol untuk t < 0. Perkalian pada sinyal x(t) dengan sinyal u(t) mengeliminasi

Page 17: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

14

suatu nilai non-zero(bukan nol) pada x(t) untuk nilai t < 0. Fungsi ramp (tanjak) r(t) didefinisikan

secara matematik sebagai:

Catatan bahwa untuk t > 0, slope (kemiringan) pada r(t) adalah senilai 1. Sehingga pada kasus ini

r(t) merupakan “unit slope”, yang mana merupakan alasan bagi r(t) untuk dapat disebut sebagai

unit-ramp function. Jika ada variable K sedemikian hingga membentuk Kr(t), maka slope yang

dimilikinya adalah K untuk t > 0. Suatu fungsi ramp diberikan pada Gambar 2b.

Sinyal Periodik

Ditetapkan T sebagai suatu nilai real positif. Suatu sinyal waktu kontinyu x(t) dikatakan periodik

terhadap waktu dengan periode T jika

Suatu contoh, sinyal periodik memiliki persamaan seperti berikut

Disini A adalah amplitudo, ω adalah frekuensi dalam radian per detik (rad/detik), dan θadalah fase

dalam radian. Frekuensi f dalam hertz (Hz) atau siklus per detik adalah sebesar f = ω/2π. Untuk

melihat bahwa fungsi sinusoida yang diberikan dalam persamaan adalah fungsi periodik, untuk nilai

pada variable waktu t, maka:

Sedemikian hingga fungsi sinusoida merupakan fungsi periodik dengan periode 2π/ω, nilai ini

selanjutnya dikenal sebagai periode fundamentalnya. Sebuah sinyal dengan fungsi sinusoida x(t) = A

cos(ωt+θ) diberikan pada Gambar 3 untuk nilai θ = −π/2 , dan f = 1 Hz.

Page 18: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

15

Sinyal Diskrit

Pada teori system diskrit, lebih ditekankan pada pemrosesan sinyal yang berderetan. Pada sejumlah nilai

x, dimana nilai yang ke-x pada deret x(n) akan dituliskan secara formal sebagai

:x = {x(n)}; −∞ < n < ∞

Dalam hal ini x(n) menyatakan nilai yang ke-n dari suatu deret, persamaan biasanya tidak disarankan

untuk dipakai dan selanjutnya sinyal diskrit diberikan seperti Gambar (4) Meskipun absis digambar

sebagai garis yang kontinyu, sangat penting untuk menyatakan bahwa x(n) hanya merupakan nilai dari

n. Fungsi x(n) tidak bernilai nol untuk n yang bukan integer; x(n) secara sederhana bukan merupakan

bilangan selain integer dari n.

Gambar 4. Penggambaran secara grafis dari sebuah sinyal waktu diskrit

Sinyal waktu diskrit mempunyai beberapa fungsi dasar seperti berikut:

- Sekuen Impuls

Gambar 5. Sinyal impuls

Deret unit sample (unit-sampel sequence), δ(n), dinyatakan sebagai deret dengan nilai

Deret unit sample mempunyai aturan yang sama untuk sinyal diskrit dan system dnegan fungsi impuls

pada sinyal kontinyu dan system. Deret unit sample biasanya disebut dengan impuls diskrit (diecrete-

time impuls), atau disingkat impuls (impulse).

- Sekuen Step

Deret unit step (unit-step sequence), u(n), mempunyai nilai:

Page 19: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

16

Unit step dihubungkan dengan unit sample sebagai:

Unit sample juga dapat dihubungkan dengan unit step sebagai:

Gambar 6. Sekuen Step

Sinus Diskrit

Deret eksponensial real adalah deret yang nilainya berbentuk an, dimana a adalah nilai real.

Deret sinusoidal mempunyai nilai berbentuk Asin(ωon + φ).

Pembangkitan Sinyal Waktu Kontinyu Sinusoida

Page 20: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

17

1. Disini kita mencoba membangkitkan sinyal sinusoida untuk itu coba anda buat program seperti

berikut:

Fs=100;

t=(1:100)/Fs;

s1=sin(2*pi*t*5);

plot(t,s1)

Sinyal yang terbangkit adalah sebuah sinus dengan amplitudo Amp = 1, frekuensi f = 5Hz dan fase awal

θ = 0. Diharapkan anda sudah memahami tiga parameter dasar pada sinyal sinus ini. Untuk lebih

memahami coba lanjutkan dengan langkah berikut.

2. Lakukan perubahan pada nilai s1:

s1=sin(2*pi*t*10);

Dan perhatikan apa yang terjadi, kemudian ulangi untuk mengganti angka 10 dengan 15, dan 20.

Perhatikan apa yang terjadi.

3. Coba anda edit kembali program anda sehingga bentuknya persis seperti pada langkah 1, kemudian

lanjutkan dengan melakukan perubahan pada nilai amplitudo, sehingga bentuk perintah pada s1

menjadi: s1=2*sin(2*pi*t*5);

Coba perhatikan apa yang terjadi? Lanjutkan dengan merubah nilai amplitudo menjadi 4, 5,6,… sampai

20. Apa pengaruh perubahan amplitudo pada bentuk sinyal sinus?

4. Kembalikan program anda sehingga menjadi seperti pada langkah pertama. Sekarang coba anda

lakukan sedikit perubahan sehingga perintah pada s1 menjadi:

s1=2*sin(2*pi*t*5 + pi/2);

Page 21: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

18

Coba anda perhatikan, apa yang terjadi? Apa yang baru saja anda lakukan adalah merubah nilai fase

awal sebuah sinyal dalam hal ini nilai θ = π/ 2 = 90o. Sekarang lanjutkan langkah anda dengan

merubah nilai fase awal menjadi 45o, 120o, 180o, dan 225o. Amati bentuk sinyal

sinus terbangkit, dan catat hasilnya.

Pembangkitan Sinyal Persegi

Disini akan kita bangkitkan sebuah sinyal persegi dengan karakteristik frekuensi dan amplitudo yang

sama dengan sinyal sinus. Untuk melakukannya ikuti langkah berikut ini. 1. Buat sebuah file baru dan

beri nama coba_kotak.m kemudian buat program seperti berikut ini.

Fs=100;

t=(1:100)/Fs;

s1=SQUARE(2*pi*5*t);

plot(t,s1,'linewidth',2)

axis([0 1 -1.2 1.2])

Dari gambar 7 anda dapat melihat sebuah sinyal persegi dengan amplitudo senilai 1 dan

frekuensinya sebesar 5 Hz.

2. Coba anda lakukan satu perubahan dalam hal ini nilai frekuensinya anda rubah menjadi 10 Hz,

15 Hz, dan 20 Hz. Apa yang anda dapatkan?

3. Kembalikan bentuk program menjadi seperti pada langkah pertama, Sekarang coba anda rubah

nilai fase awal menjadi menjadi 45o, 120o, 180o, dan 225o. Amati dan catat apa yang terjadi

dengan sinyal persegi terbangkit.

Page 22: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

19

Pembangkitan Sinyal Waktu Diskrit, Sekuen Konstan

Disini akan kita lakukan pembangkitan sinyal waktu diskrit. Sebagai langkah awal kita mulai

dengan membangkitkan sebuah sekuenunit step. Sesuai dengan namanya, unit step berarti nilainya

adalah satu satuan. Untuk itu anda ikuti langkah berikut ini.

1. Buat program baru dan anda ketikkan perintah seperti berikut:

%File Name: SS1_3.m

%Oleh: tri Budi 212

%Pembangkitan Unit Step Sekuen

L=input('Panjang Gelombang (>=40)=' )

P=input('Panjang Sekuen =' )

for n=1:L

if (n>=P)

step(n)=1;

else

step(n)=0;

end

end

x=1:L;

stem(x,step)

2. Anda ulangi langkah pertama dengan cara me-run program anda dan masukan nilai untuk

panjang gelombang dan panjang sekuen yang berbeda-beda. Catat apa yang terjadi?

Page 23: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

20

Pembangkitan Sinyal Waktu Diskrit, Sekuen Pulsa

Disini akan kita bangkitkan sebuah sinyal waktu diskrit berbentuk sekuen pulsa, untuk itu

ikuti langkah berikut ini

1. Buat program baru dengan perintah berikut ini.

%File Name: SS1_5.m

%Pembangkitan Sekuen Pulsa

L=input('Panjang Gelombang (>=40)=' )

P=input('Posisi Pulsa =' )

for n=1:L

if (n==P)

step(n)=1;

else

step(n)=0;

end

end

x=1:L;

stem(x,step)

axis([0 L -.1 1.2])

2. Jalankan program diatas berulang-ulang dengan catatan nilai L dan P dirubah-subah sesuai

kehendak anda, perhatikan apa yang terjadi? Catat apa yang anda lihat.

Pembentukan Sinyal Sinus waktu Diskrit

Pada bagian ini kita akan dicoba untuk membuat sebuah sinyal sinus diskrit. Secara umum

sifat dasarnya memiliki kemiripan dengan sinus waktu kontinyu. Untuk itu ikuti langkah berikut

Page 24: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

21

1. Buat program baru dengan perintah seperti berikut.

%sin_dikrit1.m

Fs=20;%frekuensi sampling

t=(0:Fs-1)/Fs;%proses normalisasi

s1=sin(2*pi*t*2);

stem(t,s1)

axis([0 1 -1.2 1.2])

2. Lakukan perubahan pada nilai Fs, sehingga bernilai 30, 40, 50, 60, 70, dan 80. Catat apa yang

terjadi ?

3. Lakukan perubahan pada nilai Fs, sehingga bernilai 18, 15, 12, 10, dan 8. Catat apa yang

terjadi?

Pembangkitan Sinyal Dengan memanfaatkan file *.wav

Kita mulai bermain dengan file *.wav. Dalam hal ini kita lakukan pemanggilan sinyal audio

yang ada dalam hardisk kita. Langkah yang kita lakukan adalah seperti berikut.

1. Anda buat file kuat_1.m seperti berikut

%File Name: kuat_1.m

%Description: how to read and play a wav file

%Programer: Tri Budi Santoso

%Group: Signal Processing, EEPIS

y1=wavread('audio3.wav');

Fs=10000;

wavplay(y1,Fs,'async') % Memainkan audio sinyal asli

2. Cobalah untuk menampilkan file audio yang telah anda panggil dalam bentuk grafik sebagai

Page 25: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

22

fungsi waktu. Perhatikan bentuk tampilan yang anda lihat. Apa yang anda catat dari hasil yang

telah anda dapatkan tsb?

Page 26: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

23

MODUL 3

OPERASI DASAR PADA SINYAL

Tujuan Instruksional: Mahasiswa dapat memperlihatkan proses-proses operasi sinyal: penguatan, pelemahan,

penjumlahan, perkalian dan menerapkan sebagai proses dasar dari pengolah sinyal audio.

Operasi Dasar Sinyal

Pada analisa system pemrosesan sinyal diskrit, deretnya dapat dimanipulasi dalam beberapa cara.

Perkalian (product) dan penambahan (sum) dari dua deret x dan y dinyatakan sebagai sample perkalian

dan pembagian dimana

x.y={x(n)y(n)} (product) (1)

x+y={x(n)+y(n)} (sum) (2)

Perkalian dari deret x dengan sebuah nilai α dinyatakan sebagai

α.x = x(n - n0) (3)

dimana n0 adalah bilangan integer.

Dalam realita kehidupan sehari-hari, khususnya dalam dunia electronic communication engineering,

kita mengenal proses aritmatika pada sinyal yang meliputi meliputi

- penguatan sinyal

- pelemahan sinyal

- penjumlahan dua buah sinyal

- perkalian dua buah sinyal

Penguatan Sinyal

Peristiwa penguatan sinyal seringkali kita jumpai pada perangkat audio seperti radio, tape, dsb.

Fenomena ini dapat juga direpresentasikan secara sederhana sebagai sebuah operasi matematika sebagai

berikut:

y(t) = amp x(t) (4)

dimana:

y(t) = sinyal output

amp = konstanta penguatan sinyal

x(t) = sinyal input

Bentuk diagram blok dari sebuah operasi pernguatan sinyal dapat diberikan pada gambar berikut ini.

Page 27: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

24

Besarnya nilai konstanta sinyal amp >1, dan penguatan sinyal seringkali dinyataklan dalam besaran deci

Bell, yang didefinisikan sebagai:

amp_dB = 10 log(output/input) (5)

Dalam domain waktu, bentuk sinyal asli dan setelah mengalami penguatan adalah seperti gambar

berikut.

Pelemahan Sinyal

Apabila sebuah sinyal dilewatkan suatu medium seringkali mengalami berbagai perlakuan dari medium

(kanal) yang dilaluinya. Ada satu mekanisme dimana sinyal yang melewati suatu medium mengalami

pelemahan energi yang selanjutnya dikenal sebagai atenuasi (pelemahan atau redaman) sinyal.

Bentuk diagram blok dari sebuah operasi pelemahan sinyal dapat diberikan pada gambar berikut ini.

Dalam bentuk operasi matematik sebagai pendekatannya, peristiwa ini dapat diberikan

sebagai berikut:

y(t) = att x(t) (6)

Dalam hal ini nilai att < 1, yang merupakan konstanta pelemahan yang terjadi. Kejadian

ini sering muncul pada sistem transmisi, dan munculnya konstanta pelemahan ini

dihasilkan oleh berbagai proses yang cukup komplek dalam suatu media transmisi.

Page 28: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

25

Dari gambar tersebut dapat dilihat bahwa proses penguatan dan pelemahan sinyal merupakan dua

hal yang hampir sama. Dalam pengatan sinyal amplitudo sinyal output lebih tinggi disbanding

sinyal input, sementara pada pelemahan sinyal amplitudo sinyal output lebih rendah disbanding

sinyal input. Tetapi pada kedua proses operasi ini bentuk dasar sinyal tidak mengalami perubahan.

Penjumlahan Dua Buah Sinyal

Proses penjumlahan sinyal seringkali terjadi pada peristiwa transmisi sinyal melalui suatu medium.

Sinyal yang dikirimkan oleh pemancar setelah melewati medium tertentu misalnya udara akan

mendapat pengaruh kanal, dapat menaikkan level tegangan atau menurunkan level tegangannya

tergantung komponen yang dijumlahkan. Sehingga pada bagian penerima akan mendapatkan sinyal

sebagai hasil jumlahan sinyal asli dari pemancar dengan sinyal yang terdapat pada kanal tersebut.

Secara matematis dapat diberikan sebagai berikut:

y(t) = x1(t) + x2(t)

Dalam hal ini, setiap komponen sinyal pertama dijumlahkan dengan komponen sinyal kedua.

Page 29: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

26

Gambar 6. Contoh penjumlahan pada sinyal sinus

(a) Sinyal input 1 (b) Sinyal input 2

(c) Sinyal hasil penjumlahan Perkalian Dua Buah Sinyal

Perkalian merupakan bentuk operasi yang sering anda jumpai dalam kondisi real. Pada rangkaian

mixer, rangkaian product modulator dan frequency multiplier, operasi perkalian merupakan bentuk

standar yang seringkali dijumpai. Bentuk diagram blok operasi perkalian dua buah sinyal dapat

diberikan seperti pada Gambar 7 berikut.

PEMBUATAN PROGRAM MATLAB

Penguatan Sinyal

1. Bangkitkan gelombang pertama dengan langkah berikut:

T=100;

t=0:1/T:2;

f1=1;

y1=sin(2*pi*t);

subplot(2,1,1)

plot(t,y1)

Page 30: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

27

2. Lanjutkan dengan langkah berikut ini

a=input('nilai pengali yang anda gunakan (> 0): ');

y1_kuat=a*sin(2*pi*t);

subplot(2,1,2)

plot(t,y1_kuat)

Jangan lupa anda masukkan sebuah nilai untuk ‘a’, misalnya 1.5 atau yang lain. Apa yang anda

dapatkan? Apakah gambar seperti berikut? Nilai penguatan sinyal juga seringkali dituliskan dalam

dBell (dB), untuk penguatan 1.5 kali berapa nilainya dalam dB?

3. Ulangi langkah 1 dan 2, tetapi dengan nilai a berbeda misalnya 1.7, 2.5, 3.0 atau yang lain. Dan

jangan lupa anda simpan gambarnya dan buatlah analisa dari apa yang anda amati dari gambar

tersebut? Jangan lupa dalam setiap penggambaran anda cantumkan nilai dB setiap percobaan.

Pelemahan Sinyal Seperti yang kita ketahui bahwa pelemahan merupakan penguatan negatif, atau dalam hal ini

konstanta penguatan bernilai <1. Berdasar pemahaman ini coba anda susun sebuah program

pelemahan sinyal dengan memanfaatkan contoh program yang sudha anda buat

Penjumlahan Dua Sinyal

Dengan mengacu pada penjelasan yang ada di dasar teori ban 2, oprasi penjumlahan duabuah

sinyal dapat dilakukan dengan mengikuti langkah-langkah berikut ini

1. Buat sebuah program baru dengan perintah:

T=100;

t=0:1/T:2;

f1=1;

y1=sin(2*pi*t);

subplot(3,1,1)

plot(t,y1)

2. Bangkitkan gelombang kedua dengan langkah tambahan berikut ini:

f2=2;

pha2=pi/2;

y2=sin(2*pi*t+pi);

subplot(3,1,2)

plot(t,y2)

3. Lakukan proses penjumlahan pada kedua sinyal y1 dan y2 diatas. Selengkapnya bentuk

Page 31: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

28

programnya adalah seperti berikut:

T=100;

t=0:1/T:2;

f1=1;

f2=2;

pha2=pi/2;

y1=sin(f1*pi*t);

subplot(3,1,1)

plot(t,y1)

y2=sin(f2*pi*t+ pha2);

subplot(3,1,2)

plot(t,y2)

y3=y1+y2;

subplot(3,1,3)

plot(t,y3)

5. Coba anda rubah nilai f2menjadi 3, 4, 5,……10. Perhatikan apa yang terjadi dan catat

hasilnya.

6. Lakukan perubahan pada pha2 sehingga nilainya menjadi 0.1*pi, 0.25*pi, 0.5*pi, dan

1.5*pi. Apa yang anda dapatkan dari langkah ini?

Perkalian Dua Sinyal

Dengan menggunakan dua buah sinyal sinus, langkah yang harus dilakukan adalah seperti

berikut:

1. Bangkitkan gelombang pertama dengan langkah berikut:

T=100;

t=0:1/T:2;

f1=1;

y1=sin(2*pi*t);

subplot(3,1,1)

plot(t,y1)

2. Bangkitkan gelombang kedua dengan langkah tambahan berikut ini:

f2=2;

pha2=pi/2;

y2=sin(2*pi*t+pi);

subplot(3,1,2)

plot(t,y2)

Page 32: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

29

3. Lakukan proses perkalian pada kedua sinyal y1 dan y2 diatas. Selengkapnya bentuk

programbya adalah seperti berikut:

T=100;

t=0:1/T:2;

f1=1;

f2=2;

pha2=pi/2;

y1=sin(f1*pi*t);

subplot(3,1,1)

plot(t,y1)

y2=sin(f2*pi*t+ pha2);

subplot(3,1,2)

plot(t,y2)

y3=y1.*y2;

subplot(3,1,3)

plot(t,y3)

4. Coba anda rubah nilai f2menjadi 3, 4, 5,……10. Apa yang terjadi dan catat hasilnya.

5. Lakukan perubahan pada pha2 sehingga nilainya menjadi 0.1*pi, 0.25*pi, dan 1.5*pi. Apa yang

anda dapatkan dari langkah ini?

Penambahan Noise Gaussian pada Sinyal Audio

Mungkin anda sudah bosan melakukan aktifitas dengan sesuatu yang serba ideal teoritis dan serba

serius. Sekaranglah saatnya anda belajar sambil bermain. Tentu saja, dalam hal ini PC tempat anda

bekerja harus dilengkapi dengan perangkat multimedia, minimal sound card lengkap dengan

speaker active.

Baiklah, kita mulai dengan memanggil sebuah file audio3.wav. Kalau dalam folder dimana anda

sekarang bekerja tidak ada file ini, cobalah tanyakan ke dosen yang bersangkutan, atau kalau anda ingin

dikatakan sebagai orang yang kreatif, coba anda carai file *.wav apa saja yang ada di PC anda, copykan

ke folder dimana Matlab anda bekerja.

1. Untuk contoh kasus ini ikuti langkah pertama dengan membuat file coba_audio_3.m seperti

berikut.

%File Name:coba_audio_3.m

Page 33: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

30

y1=wavread('audio3.wav');

Fs=8192;

Fs1 = Fs;

wavplay(y1,Fs1,'sync') % Sinyal asli dimainkan

2. Tambahkan perintah berikut ini setelah langkah satu diatas.

N=length(y1);%menghitung dimensi file wav

var = 0.1;

noise_1=var*randn(N,1);%membangkitkan noise Gaussian

y_1n=y1 + noise_1;%menambahkan noise ke file

wavplay(y_1n,Fs1,'sync') % Sinyal bernoise dimainkan

3. Apakah anda melihat ada sesuatu yang baru dengan langkah anda?

Coba anda lakukan sekali lagi pangkah 2 dengan nilai var 0.2, 0.3, 0.5, dst. Coba amati apa

yang terjadi?

4. Cobalah untuk menampilkan file audio yang telah anda panggil dalam bentuk grafik

sebagai fungsi waktu, baik untuk sinyal asli atau setelah penambahan noise.

Proses Penguatan pada Sinyal Sinyal Audio

Sekarang kita lanjutkan permainan kita dengan file *.wav. Dalam hal ini kita lakukan penguatan

atau pelemahan sinyal audio yang telah kita panggil. Langkah yang kita lakukan adalah seperti

berikut.

1. Anda buat file kuat_1.m seperti berikut

%File Name: kuat_1.m

%Description: how to read and play a wav file

y1=wavread('audio3.wav');

Fs=8192;

wavplay(y1,Fs,'async') % Memainkan audio sinyal asli

2. Lakukan penambahan perintah seperti dibawah ini

amp =1.5;

y2=amp*y1;

wavplay(y1,Fs,'async') % Memainkan audio sinyal setelah penguatan 3. Apakah anda mengamati

sesuatu yang baru pada sinyal audio anda? Kalau belum juga

memahami coba rubah nilai amp = 0.1, 0.2, 0.5, dst sampai nilainya 2.0.

4. Cobalah untuk menampilkan file audio yang telah anda panggil dalam bentuk grafik sebagai

fungsi waktu, baik untuk sinyal asli atau setelah penguatan dan pelemahan.

Page 34: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

31

MODUL 4

MODULASI AMPLITUDO

Tujuan Instruksional: • Mahasiswa mampu mensimulasi Modulasi Amplitudo: AM-DSB-SC, AM-DSB-FC, AM-SSB

untuk fungsi waktu dan fungsi frekuensi /spektru frekuensi

Menghasilkan sinyal AM-DSB-SC 1. Ketikkan perintah berikutnya pada command prompt Matlab

ydouble = amod(x,Fc,Fs,'amdsb-sc'); %modulasi am-dsb-sc

plot(t,ydouble,'r')%menampilkan sinyal ydouble sebagai fungsi waktu t

xlabel('waktu t (detik)');%memberikan komentar pada sumbu datar %gambar

ylabel('amplituda');%memberikan komentar pada sumbu tegak gambar

axis([0 2 -1 1]);%membatasi sumbu datar dengan nilai 0 sampai 2 dan sumbu tegak dengan nilai -1

sampai 1

grid on %menampilkan garis putus-putus grafik

Akan muncul perubahan terhadap gambar sebelumnya menjadi gambar berikut:

Gambar 1 Sinyal modulasi AM-DSB-SC dan Sinyal Informasi

Untuk setiap baris perintah yang diketik, perhatikanlah pengaruhnya terhadap perubahan gambar

output, sehingga anda dapat mengerti fungsi tiap perintah diatas. Kembali jelaskan fungsi perintah

amod, xlabel, ylabel, axis dan grid on pada diri anda sendiri..

Menghasilkan sinyal AM-DSB-FC 1. Ketikkan perintah berikutnya pada command prompt Matlab

ydoubletc = amod(x,Fc,Fs,'amdsb-tc',1);%memodulasi x dengan am-dsb-fc

subplot(3,1,2);%menghasilkan 3 gambar dalam 1 jendela, untuk jendela ke-2

plot(t,x); %memplot sinyal x terhadap t

hold on %menampilkan sinyal x sebagai fungsi waktu t

xlabel('waktu t (detik)'); %memberikan komentar pada sumbu datar %gambar

ylabel('amplituda AM-DSB-FC'); %memberikan komentar pada sumbu tegak gambar

plot(t,ydoubletc,'r');%menampilkan sinyal ydoubletc sebagai fungsi waktu t, berwarna merah

Page 35: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

32

axis([0 2 -2 2]);%membatasi sumbu datar dengan nilai 0 sampai 2 dan sumbu tegak dengan nilai -1

sampai 1

grid on; %menampilkan garis putus-putus grafik

Akan muncul gambar ke-2 dibawah gambar pertama pada gambar seperti yang ditunjukkan gambar

berikut:

Gambar Gambar Sinyal Modulasi AM-DSB-SC dan AM-DSB-FC

Agar kalimat pada sumbu tegak gambar tidak saling berhimpit, coba klik tombol maximize

pada sudut kanan atas jendela gambar

Menghasilkan sinyal AM-SSB 1. Perhatikan gambar kedua, gambar ini merupakan gambar sinyal termodulasi AM-DSB-FC,

dapatkah anda jelaskan perbedaannya dengan gambar diatas (sinyal termodulasi AM-DSB-SC)?

2. Cobalah ubah-ubah nilai m untuk nilai m=0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8,0.9, pada perintah

ydoubletc = amod(x,Fc,Fs,'amdsb-tc',1);

3. Dapatkah anda lihat pengaruhnya terhadap sinyal yang dihasilkan ? Coba jelaskan!

4. Ketikkan perintah berikutnya pada command prompt Matlab

ysingle = amod(x,Fc,Fs,'amssb');%memodulasi x dengan metode am-ssb

subplot(3,1,3);%menghasilkan 3 gambar dalam 1 jendela

plot(t,x); hold on %menampilkan sinyal x sebagai fungsi waktu t

xlabel('waktu t (detik)'); %memberikan komentar pada sumbu datar gambar

ylabel('amplituda AM-SSB'); %memberikan komentar pada sumbu tegak gambar

plot(t,ysingle,'r');%menampilkan sinyal ysingle sebagai fungsi waktu t, berwarna merah

axis([0 2 -1 1]);%membatasi sumbu datar dengan nilai 0 sampai 2 dan sumbu tegak dengan nilai -1

sampai 1

grid on %menampilkan garis putus-putus grafik

Page 36: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

33

Akan muncul gambar ke-3 dibawah gambar pertama dan kedua seperti ditunjukkan gambar sebagai

berikut:

Gambar Sinyal Modulasi AM-DSB-SC, AM-DSB-FC, AM-SSB

5. Perhatikan gambar ketiga gambar ini merupakan gambar sinyal termodulasi AM-DSB-SC,

dapatkah anda jelaskan perbedaannya dengan dua gambar diatasnya (sinyal termodulasi AM-DSB-

SC dan AM-DSB-FC)?

Demodulasi AM-DSB-SC 1. Ketikkanlah perintah berikut:

z1 = ademod(ydouble,Fc,Fs,'amdsb-sc');%melakukan demodulasi sinyal AM-DSB-SC

figure %membuat jendela gambar yang baru

subplot(3,1,1);%menghasilkan 3 gambar dalam 1 jendela

plot(t,z1); %menampilkan sinyal hasil demodulasi sebagai fungsi waktu t

hold on; %menahan gambar sinyal z1

axis([0 2 -1 1]);%membatasi sumbu datar dengan nilai 0 sampai 2 dan sumbu tegak dengan nilai -1

sampai 1

grid on; %menampilkan garis putus-putus grafik

2. Jika anda melakukan perintah diatas dengan benar, maka akan muncul gambar berikut:

Gambar Sinyal Demodulasi AM-DSB-SC

Coba anda bandingkan sinyal hasil demodulasi AM-DSB-SC ini dengan sinyal informasi asli (sinyal x),

adakah perbedaan? Coba anda jelaskan jika ada perbedaan atau tidak ada perbedaan!

Page 37: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

34

Demodulasi AM-DSB-FC 1. Ketikkan perintah selanjutnya berikut ini:

z2 = ademod(ydoubletc,Fc,Fs,'amdsb-tc');%melakukan sinyal AM-DSB-SC

subplot(3,1,2);%menghasilkan 3 gambar dalam 1 jendela, untuk jendela ke-2

plot(t,z2); %menampilkan sinyal hasil demodulasi sebagai fungsi waktu t

axis([0 2 -1.5 1.5]);%membatasi sumbu datar dengan nilai 0 sampai 2 dan sumbu tegak dengan

nilai -1 sampai 1

grid on; %menampilkan garis putus-putus grafik

Akan muncul gambar kedua dibawah gambar pertama pada gambar sehingga menjadi gambar

seperti berikut:

Gambar Sinyal Demoodulasi AM-DSB-SC dan AM-DSB-FC

Coba bandingkan sinyal informasi (sinyal x) hasil demodulasi AM-DSB-SC (atas) dengan sinyal

informasi (sinyal x) hasil demodulasi M-DSB-FC (bawah), manakah sinyal yang lebih mendekati sinyal

informasi asli?

Demodulasi AM-SSB 1. Ketikkan perintah selanjutnya berikut ini:

z3 = ademod(ysingle,Fc,Fs,'amssb');%melakukan sinyal AM-DSB-SC

subplot(3,1,3);%menghasilkan 3 gambar dalam 1 jendela, untuk jendela ke-3

plot(t,z3); %menampilkan sinyal hasil demodulasi sebagai fungsi waktu t

axis([0 2 -1.5 1.5]);%membatasi sumbu datar dengan nilai 0 sampai 2 dan sumbu tegak dengan

nilai -1 sampai 1

grid on; %menampilkan garis putus-putus grafik

Akan muncul gambar ke-3 dibawah gambar pertama dan kedua pada gambar menjadi gambar

sebagai berikut:

Page 38: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

35

Gambar Sinyal Demoodulasi AM-DSB-SC, AM-DSB-FC, AM-SSB

Dari ketiga gambar diatas dapatkah anda menyimpulkan metode modulasi AM yang mana yang

lebih baik (dari sisi kemiripan sinyal informasi yang didemodulasi di penerima AM)!

Latihan

1. Buatlah program untuk menghasilkan sinyal sinus selama 4 detik, dengan frekuensi sampling Fs=150

dan frekuensi carrier Fc=20

2. Buat program jika sinyal sinus pada soal no 1 dimodulasi AM-DSB-FC untuk nilai m=0.1, 0.3, 0.5,

0.7, 0.9 dan 1

3. Buat program jika sinyal sinus pada soal no 1 dimodulasi AM-DSB-SC

4. Buat program jika sinyal sinus pada soal no 1 dimodulasi AM-SSB

MODULASI AM DOMAIN FREKUENSI

Spektrum Frekuensi Sinyal Informasi 1. Bukalah program matlab dengan melakukan double klik pada icon matlab

2. Setelah jendela command prompt Matlab terbuka, ketikkan perintah sebagai berikut:

Fs = 100; %Frekuensi sampling 100 kali per detik

t = [0:2*Fs+1]'/Fs; %waktu sampling adalah sepanjang 2 detik

Fc = 10; % frekuensi carrier

x = sin(2*pi*t); % menghasilkan sinyal sinus sebagai sinyal informasi

xfrekuensi = fft(x);% mengubah domain waktu ke frekuensi menggunakan fft

xfrekuensi=abs(xfrekuensi(1:length(xfrekuensi)/2+1)); %absolutkan xfrekuensi

frekuensi=[0:length(xfrekuensi)-1]*Fs/length(xfrekuensi)/2;%frek yang bersesuaian

plot(frekuensi,xfrekuensi);%memplot spektrum xfrekuensi

grid on;%menampikan garis putus-putus pada gambar

xlabel('frekuensi (Hz)');%memberikan label untuk sumbu x

ylabel('Magnituda');% memberikan label untuk sumbu y

Page 39: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

36

Jika anda melakukan perintah diatas dengan benar maka akan muncul gambar berikut:

Gambar Spektrum Sinyal Informasi

Dari percobaan ini, dapatkah anda mengambil kesimpulan berapakah frekuensi dari sinyal sinus

yang baru saja anda buat?

Dari gambar yang dihasilkan dan program yang barusan dibuat dapatkah anda menerangkan apa

yang barusan anda buat?

Jelaskan juga fungsi perintah yang telah anda ketikkan barusan yaitu:

xfrekuensi = fft(x);%mengubah domain waktu ke frekuensi menggunakan fft

xfrekuensi=abs(xfrekuensi(1:length(xfrekuensi)/2+1)); absolut nilai xfrekuensi

frekuensi = [0:length(xfrekuensi)-1]*Fs/length(xfrekuensi)/2;

Spektrum Frekuensi Sinyal AM-DSB-SC 1. Ketikkan perintah berikutnya pada command promt Matlab seperti berikut:

ydouble = amod(x,Fc,Fs,'amdsb-sc');%melakukan modulasi AM-DSB-SC

zdouble = fft(ydouble);% Mengubah nilai AM-DSB-SC ke domain frekuensi

zdouble = abs(zdouble(1:length(zdouble)/2+1)); %mengabsolutkan nilai zdouble

frqdouble = [0:length(zdouble)-1]*Fs/length(zdouble)/2; % frek yang bersesuaian

plot(frqdouble,zdouble); %memplot spektrum zdouble

grid on;%menampikan garis putus-putus pada gambar

xlabel('frekuensi (Hz)');%memberikan label untuk sumbu x

ylabel('Magnituda');% memberikan label untuk sumbu y

Jika anda melakukan perintah diatas dengan benar, maka akan muncul gambar berikut:

Page 40: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

37

Gambar Spektrum Sinyal AM-DSB-SC

Dari gambar yang dihasilkan dan program yang barusan dibuat dapatkah anda menerangkan apa yang

barusan anda buat?

Dari percobaan ini, dapatkah anda mengambil kesimpulan berapakah frekuensi dari sinyal AM-DSB-SC

yang barusan anda buat?

Jelaskan apa yang dilakukan oleh perintah berikut:

ydouble = amod(x,Fc,Fs,'amdsb-sc');%melakukan modulasi AM-DSB-SC

Spektrum Frekuensi Sinyal AM-DSB-FC 1. Ketikkan perintah berikutnya pada command prompt Matlab

ydoubletc = amod(x,Fc,Fs,'amdsb-tc');%melakukan modulasi AM-DSB-FC

zdoubletc = fft(ydoubletc);% Mengubah nilai AM-DSB-SC ke domain %frekuensi

zdoubletc = abs(zdoubletc(1:length(zdoubletc)/2+1)); % absolut nilai zdoubletc

frqdouble = [0:length(zdoubletc)-1]*Fs/length(zdoubletc)/2;% frek yg bersesuaian

plot(frqdouble,zdoubletc); %memplot spektrum zdouble

grid on;%menampikan garis putus-putus pada gambar

xlabel('frekuensi (Hz)');%memberikan label untuk sumbu x

ylabel('Magnituda');% memberikan label untuk sumbu y

Akan muncul gambar seperti berikut:

Gambar Spektrum Sinyal AM-DSB-FC

Page 41: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

38

Dari gambar 5.3 yang dihasilkan dan program yang barusan dibuat dapatkah anda menerangkan apa

yang barusan anda buat?

Dari percobaan ini, dapatkah anda mengambil kesimpulan berapakah frekuensi dari sinyal AM-DSB-FC

yang barusan anda buat?

Jelaskan apa yang dilakukan oleh perintah berikut:

ydouble = amod(x,Fc,Fs,'amdsb-tc');%melakukan modulasi AM-DSB-TC

Spektrum Frekuensi Sinyal AM-SSB 1. Ketikkan perintah berikutnya pada command prompt Matlab

ysingle = amod(x,Fc,Fs,'amssb');%melakukan modulasi AM-SSB

zsingle = fft(ysingle);% Mengubah nilai AM-DSB-SSB ke domain frekuensi

zsingle = abs(zsingle(1:length(zsingle)/2+1)); % mengabsolutkan nilai zsingle

frqsingle = [0:length(zsingle)-1]*Fs/length(zsingle)/2; % frekuensi yang bersesuaian

plot(frqsingle,zsingle); %memplot spektrum zsingle

grid on;%menampikan garis putus-putus pada gambar

xlabel('frekuensi (Hz)');%memberikan label untuk sumbu x

ylabel('Magnituda');% memberikan label untuk sumbu y

Akan muncul gambar seperti berikut:

Gambar Spektrum Sinyal AM-SSB

Dari gambar yang dihasilkan dan program yang barusan dibuat dapatkah anda menerangkan apa yang

barusan anda buat?

Dari percobaan ini, dapatkah anda mengambil kesimpulan berapakah frekuensi dari sinyal AM-SSB

yang barusan anda buat?

Jelaskan apa yang dilakukan oleh perintah berikut:

ysingle = amod(x,Fc,Fs,'amssb');%melakukan modulasi AM-SSB

Latihan

Page 42: SIMULASI ISYARAT TELEKOMUNIKASI - Sigit Kusmaryantosigitkus.lecture.ub.ac.id/files/2013/05/SIMULASI-ISYARAT... · memungkinkan program yang telah anda tulis dalam bahasa C dan Fortran

39

1. Buatlah program untuk menghasilkan sinyal sinus selama 4 detik, dengan frekuensi sampling

Fs=150 dan frekuensi carrier Fc=20

2. Buatlah program untuk menampilkan sinyal pada no 1 dalam domain frekuensi!

3. Jika sinyal pada no 1 dimodulasi dengan teknik AM-DSB-FC, buatlah program untuk menampilkan

sinyal AM-DSB-FC dalam domain frekuensi!

4. Jika sinyal pada no 1 dimodulasi dengan teknik AM-DSB-SC, buatlah program untuk menampilkan

sinyal AM-DSB-SC dalam domain frekuensi!

5. Jika sinyal pada no 1 dimodulasi dengan teknik AM-SSB, buatlah program untuk menampilkan

sinyal AM-SSB dalam domain frekuensi!