TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS BRAWIJAYA
SIMULASI ISYARAT TELEKOMUNIKASI MODUL AJAR Ir. Sigit Kusmaryanto, M.Eng
2013
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
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.
1
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 2
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.
3
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= 123 » y = [4 5 6] y= 456 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 = 579 4
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 elementdemielement: >> x.*y ans = 4 10 18 Catat periode sebelum perkalian simbol. Sekarang kita dapat mendefinisikan suatu matrix: » A = [1 2 3 456 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 5678 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 = 5
000000 000000 000000 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 = 111111 111111 111111
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)') 6
>> 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.
7
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
8
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');
9
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 10
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).
11
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) 12
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
13
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.
14
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 (diecretetime impuls), atau disingkat impuls (impulse). - Sekuen Step Deret unit step (unit-step sequence), u(n), mempunyai nilai:
15
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 16
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);
17
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. 18
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?
19
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 20
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 21
fungsi waktu. Perhatikan bentuk tampilan yang anda lihat. Apa yang anda catat dari hasil yang telah anda dapatkan tsb?
22
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.
23
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.
24
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.
25
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)
26
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 27
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)
28
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 29
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.
30
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 31
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
32
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-DSBSC 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! 33
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:
34
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 35
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:
36
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 37
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
38
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!
39