PERCOBAAN 3
OPERASI DASAR PADA SINYAL
Tujuan
Praktikum
- Mahasiswa dapat memperlihatkan proses-proses aritmatika sinyal dan menerapkan sebagai proses dasar dari pengolah sinyal audio.
- Mahasiswa dapat menjumlahkan dua sinyal sudio dalam format ”wav” dan menampilkan grafik dan menguji dalam bunyi.
3.1. Dasar
Teori
Bisa jadi sebuah sinyal
belum sesuai dengan yang dibutuhkan, mungkin amplitudonya tidak sesuai, atau
mungkin perlu adanya penjumlahan dua sinyal, atau operasi yang lainnya. Berikut
ini akan dipelajari memanipulasi sinyal.
3.1.1 Operasi Aritmatika Sinyal
Pada analisa sistem 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)
x+y= {x(n) + y(n)} (sum)
Perkalian
dari deret x dengan sebuah nilai α dinyatakan sebagai
α.x = x(n - n0)
dimana
n0 adalah bilangan integer.
Dalam realita kehidupan sehari-hari, khususnya
dalam dunia electronic communication engineering, kita mengenal proses
aritmatika pada sinyal yang 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)
keterangan:
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.
Gambar
3.1. Diagram Blok Penguatan Suatu
Sinyal
Besarnya nilai konstanta sinyal amp >1, dan
penguatan sinyal seringkali dinyataklan dalam besaran deci Bell, yang
didefinisikan sebagai:
amp_dB = 10 log(output/input)
Dalam domain waktu, bentuk sinyal asli dan setelah
mengalami penguatan adalah seperti gambar 3.2.
Gambar
3.2. Penguatan Sinyal
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 pernguatan sinyal dapat diberikan pada gambar 3.3
berikut ini.
Gambar
3.3 Operasi Pelemahan Suatu Sinyal
Dalam
bentuk operasi matematik sebagai pendekatannya, peristiwa ini dapat diberikan
sebagai berikut:
y(t) = att x(t)
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.
Gambar 3.4. Pelemahan
Sinyal
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.
Penguatan Terkontrol pada Sinyal
Jika terpat beberapa
sinyal yang akan dibandingkan untuk keperluan identifkasi, haruslah mempunyai
amplitudo yang sama. Salah satu cara untuk menyamakan amplitudo adalah dengan
menggunakan penguatan terkontrol (AGC: automatic gain control), dengan ide
dasar sebagai berikut:
Sehingga sinyal yang baru adalah:
Dengan
demikian semua sinyal akan mempunyai amplitudo yang sama, sesuai dengan nilai ”amp”
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.
Gambar
3.5. Diagram Blok Operasi Penjumlahan
Dua Sinyal.
Secara
matematis dapat diberikan sebagai berikut:
y(t) = x1(t) + x2(t)
Dalam hal
ini, setiap komponen sinyal pertama dijumlahkan dengan komponen sinyal kedua.
Gambar 3.6. Contoh Penjumlahan
pada Sinyal Sinus
(a) Sinyal Masuk 1
(b) Sinyal Masuk 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.
Gambar
3.7. Diagram blok operasi
perkalian dua sinyal.
3.2. Peralatan
Satu buah PC multimedia OS Windows yang telah
diinstall dengan perangkat lunak Matlab.
3.3. Langkah
Percobaan
Dalam percobaan ini,
mahasiswa harus melakukan langkah-langkah sesuai petnjuk di bawah.
Langkah-langkah tersebut harus dibuktikan dalam laporan dengan cara melampirkan
PrtScr yang telah di crop untuk penyajian yang lebih bagus
dalam laporan. Jawab setiap pertanyaan dalam langkah-langkah percobaan !.
3.3. 1.
Penguatan Sinyal
1.
Bangkitkan gelombang pertama dengan langkah berikut:
%------------------------------------------------------------
% Nama File : Penguatan_Sinyal.m
% Oleh :
%------------------------------------------------------------
T=100;
t=0:1/T:2;
f1=1;
y1=sin(2*pi*t);
subplot(2,1,1)
plot(t,y1)
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?
Apa perbedaan dari kedua gambar sinyal tersebut? 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.
3.3.2 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 pada langkah
4.1.
3.3.3
Mengubah Amplitudo Maksimum Menjadi Satu Satuan
Mintalah kepada
isntruktur sebuah soft copy sinyal
dalam format wav, dan beri nama JantungNormal.wav.
Kopikan pada work dari Matlab
komputer yang digunakan. Kemudian tulis program demikian:
%------------------------------------------------------------
% Nama File : Amplitudo_Sinyal_Satuan.m
% Oleh
:
%------------------------------------------------------------
B=wavread('JantungNormal.wav');
AGC=max(B);
A=B/AGC;
subplot(2,1,1);
plot(B);set(gca,'color',[1
.2 .2]);%grid on;
subplot(2,1,2);
plot(A);set(gca,'color',[.2
1 .2]);%grid on;
3.3.4 Penjumlahan Dua Sinyal
Dua buah sinyal dapat
dijumlahkan jika mempunyai dimensi matrik yang sama. Untuk mengetahui dimensi
matrik, gunakan perintah:
length (nama_sinyal) % tekan Enter
dalam command window, maka akan ditampilkan
panjang matrik. Dengan mengacu pada penjelasan yang ada di dasar teori bab 2,
operasi penjumlahan dua buah sinyal dapat dilakukan dengan mengikuti
langkah-langkah berikut ini.
1. Buat
sebuah program baru dengan perintah:
%------------------------------------------------------------
% Nama File : Penjumlahan_Dua_Sinyal.m
% Oleh :
%------------------------------------------------------------
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 di atas. Selengkapnya
bentuk 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?
3.3.5 Perkalian Dua Sinyal
Seperti pada penjumlahan
dua sinyal, perkalian dua sinyal juga harus mempunyai panjang matrik yang sama.
Pada program di bawah yang menentukan panjang glombang adalah T dan t. Dimulai
dengan membangkitkan dua buah sinyal sinus, kemudian langkah yang harus
dilakukan adalah seperti berikut:
- Kita mulai membangkitkan seebuah gelombang sinus. Pertama dibangkitkan gelombang dengan langkah berikut:
%------------------------------------------------------------
% Nama File : Perkalian_Dua_Sinyal.m
% Oleh :
%------------------------------------------------------------
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 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?
3.3.6
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.
Gambar
3.8. Operasi penjumlahan
sinyal audio *.wav dengan noise
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.
- Untuk contoh kasus ini ikuti langkah pertama dengan membuat file Noise_Gausian.m, seperti berikut.
%------------------------------------------------------------
% Nama File : Noise_Gausian.m
% Oleh
:
%------------------------------------------------------------
y1=wavread('audio3.wav');
Fs=8192;
Fs1 = Fs;
wavplay(y1,Fs1,'sync') % Sinyal asli dimainkan
- Tambahkan perintah berikut ini setelah langkah satu di atas.
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.
3.3.7
Proses Penguatan pada 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. Buatlah program untuk membangkitkan
sebuah sinyal audio dan simpan dalam format ”wav” pada WORK dari MATLAB.
Lanjutkan dengan membuat sebuah program dengan nama: Penguatan.m seperti
berikut
%------------------------------------------------------------
% Nama File : Penguatan.m
% Oleh
:
%------------------------------------------------------------
y1=wavread('audio3.wav'); % Membaca sinyal audio
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
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.
3.3.8
Memanggil Sinyal Audio
Pertama harus
disiapkan sinyal audio yang akan dipanggil dalam format “wav”. Misalnya beri
nama sinyal tersebut dengan nama “AsthmaWheeze.wav”
dan “JantungNormal.wav”, kemudian simpan dalam work dari Matlab. Kemudian buat
program sebagai berikut:
%------------------------------------------------------------
% Nama File : Memanggil_Sinyal_Audio.m
% Oleh
:
%------------------------------------------------------------
A=wavread('AsthmaWheeze.wav');
B=wavread('JantungNormal.wav');
t=length(A);
A=A(1:1:29400);
B=B(1:1:29400);
Fs=16000;
nfft
= 256;
C=A+B';
subplot(3,1,1);
plot(R,'y','Linewidth',2);set(gca,'color',[1
.2 .2]);
%grid
on;
subplot(3,1,2);
plot(S,'y','Linewidth',2);set(gca,'color',[.2
1 .2]);
subplot(3,1,3);
plot(T,'y','Linewidth',2);set(gca,'color',[.2
.7 .1]);
Hailnya seperti ditunjukkan pada gambar 3.9
Gambar 3.9 Suara dan JantungNormal, AsthmaWheeze dan
Penjumlahannya
3.4. Data dan Analisis
Anda telah melakukan
berbagai langkah untuk percobaan operasi dasar sinyal. Yang harus anda lakukan
adalah menjawab setiap pertanyaan yang ada pada langkah percobaan. Kemudia
lanjutkan dengan mengerjakan tugas berikut ini.
3.5. Tugas
1.
Buat program dari penjumlahan tiga buah sinyal sinusoida dengan frekuensi
masing-masing: f1= 100 Hz, f2= 1 kHz, dan f3=
5 kHz. Tampilkan masing-masing gelombang dan hasil penjumlahan dalam bentuk
grafis dalam satu halaman.
2. Buat
program yang digunakan untuk memanggil sebuah gambar dan hasilnya tampilkan
dalam sebuah frame secara tepat.