SIMULASI ISYARAT TELEKOMUNIKASI - Sigit...
-
Upload
nguyenquynh -
Category
Documents
-
view
236 -
download
11
Transcript of SIMULASI ISYARAT TELEKOMUNIKASI - Sigit...
TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS BRAWIJAYA
SIMULASI ISYARAT TELEKOMUNIKASI MODUL AJAR
Ir. Sigit Kusmaryanto, M.Eng
2 0 1 3
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
DAFTAR ISI
MODUL 1 OPERASI DASAR MATLAB 1
MODUL 2 PEMBANGKITAN SINYAL 12
MODUL 3 OPERASI DASAR SINYAL 23
MODUL 4 MODULASI AMPLITUDO 30
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.
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
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.
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
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 =
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)')
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.
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
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');
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
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).
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)
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
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.
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:
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
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);
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.
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?
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
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
22
fungsi waktu. Perhatikan bentuk tampilan yang anda lihat. Apa yang anda catat dari hasil yang
telah anda dapatkan tsb?
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.
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.
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.
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)
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
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)
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
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.
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
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
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!
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:
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
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:
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
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
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!