Anda di halaman 1dari 11

Praktikum Sinyal Suara menggunakan

Matlab
Wahyu Dwi Pranata 9:02:00 am 1 comment

TEORI
Sinyal Sinus :
y = A sin (2ft + )
A = Amplitudo
f = frekuensi
t = waktu (dalam detik)
= fase sinyal

MEMULAI MATLAB
1. Jalankan MATLAB
2. Pada command window ketik edit jajal kemudian tekan ENTER
>> edit jajal [ENTER]
3. Maka akan muncul MATLAB Editor berikut

Disinilah tempat untuk menuliskan program MATLAB

4. ketiklah program berikut


t = 0:0.01:1;
f = 2;
y = 2*sin(2*pi*f*t);
plot(t,y);

5. jalankan program dengan menekan tombol: F5, lihat hasilnya

SINYAL SINUS TUNGGAL


1. Membangkitkan sinyal sinus tunggal
A = 3, f = 1 Hz, = 0, t = 0 s/d 1
clc; % membersihkan layar
clear all; % membersihkan isi variabel
f = 1; % frekuensi sinyal
t=0:0.01:1; % t = 0, 0.01, 0.02,0.03,, 1
y=3*sin(2*pi*f*t); % sinyal sinus dengan amplitudo 3
plot(t,y); % menggambar kurva dilayar
axis([0 1 -10 10]) % batasan sumbu x dan sumbu y
grid on % tampilan layar dibuat kotak-2

2. Mengamati perbedaan frekuensi sinyal dalam domain waktu


Gantilah nilai f dengan : 2, 3, 4 atau 5. Lihat hasilnya digambar dan bandingkan!
3. Mengamati perbedaan Amplitudo
Gantilah nilai A dengan : 1, 2, 3, 4 atau 5. Lihat hasilnya digambar dan bandingkan!
4. Menambahkan offset DC pada sinyal
y = K + A sin (2ft + ) K = konstanta (offset DC)
clc; % membersihkan layar
clear all; % membersihkan semua isi variabel yang pernah dibuat
f = 1; % frekuensi sinyal
t=0:0.01:1;
y=4+3*sin(2*pi*f*t);
plot(t,y); % menggambar kurva dilayar
axis([0 1 -10 10]) % batasan sumbu x dan sumbu y
grid on

Gantilah nilai K dengan : 5, 4, 3, 4 atau 5. Lihat hasilnya digambar dan


bandingkan!
5. Membangkitkan sinyal sinus tunggal, menampilkan suara dan menyimpan ke hardisk
clc;
clear all;
f=800; %frekuensi sinyal
fs=16000; %frekuensi sampling
t=1/fs:1/fs:1;
y=sin(2*pi*f*t);
sound(y,fs) %menampilkan suara
wavwrite(y,fs,'sinus1.wav') %menyimpan dg nama: sinus1.wav
plot(t,y);axis([0 1 -1 1]);
title('Sinyal Sinus (f=800 Hz), sampling 16000 Hz')

untuk memperpanjang atau memperpendek suara gantilah nilai t dengan berikut:


t=1/fs:1/fs:2; t=1/fs:1/fs:3; t=1/fs:1/fs:4; t=1/fs:1/fs:0.5;
perhatikan perbedaannya dengan program berikut
clc;
clear all;
fs=16000;
f=800;
t=0:0.001:1.0;
y=sin(2*pi*f*t);
wavplay(y,fs)
plot(t,y);axis([0 0.2 -1 1]);
title('Sinyal Sinus (f=800 Hz), sampling 16000 Hz')

6. Mengamati perbedaan frekuensi sinyal dalam domain frekuensi


clc;
clear all;
f=800; %frekuensi sinyal
fs=16000; %frekuensi sampling
t=1/fs:1/fs:1;
y=sin(2*pi*f*t);
sound(y,fs)
Y_f=(abs(fft(y)));
plot(Y_f)
axis([0 1500 0 100])
Gantilah nilai f dengan : 200, 700, 900 atau 1000. Lihat hasilnya digambar dan suara
kemudian bandingkan!
Gantilah nilai fs dengan : 8000, 10000, 15000 atau 20000. Lihat hasilnya digambar dan suara
kemudian bandingkan!
7. Mengamati perbedaan Amplitudo
Gantilah nilai A dengan : 2, 3, 4 atau 5. Lihat hasilnya digambar dan suara kemudian
bandingkan!
8. Membangkitkan sinyal Sirine
fs=16000;
t=0:1/fs:4;
alfa=2*pi*(150 + 250*t + 550*t.*t);
y= 10*sin(alfa);
sound(y,fs);

SINYAL SINUS GANDA


1. Membangkitkan 2 buah sinyal sinus
A1 = 10, f 1= 1 Hz, 1 = 0,
A2 = 1, f 2= 20 Hz, 2 = 0,
t = 0 s/d 1
clc; % membersihkan layar
clear all; % membersihkan semua isi variabel yang pernah
dibuat
f1 = 1; % frekuensi sinyal
f2 = 20;
t=0:0.01:1;
y1=10*sin(2*pi*f1*t);
plot(t,y1);
hold on;
y2=sin(2*pi*f2*t);
plot(t,y2);
axis([0 1 -15 15]) % batasan sumbu x dan sumbu y
grid on

2. menampilkan 2 buah grafik dalam 2 window


clc; % membersihkan layar
clear all; % membersihkan semua isi variabel yang pernah
dibuat
f1 = 1; % frekuensi sinyal
f2 = 20;
t=0:0.01:1;
y1=10*sin(2*pi*f1*t);
subplot(2,1,1);plot(t,y1); % 2 baris, 1 kolom, posisi ke-1
axis([0 1 -15 15]) % batasan sumbu x dan sumbu y
grid on
y2=sin(2*pi*f2*t);
subplot(2,1,2);plot(t,y2); % 2 baris, 1 kolom, posisi ke-2
axis([0 1 -15 15]) % batasan sumbu x dan sumbu y
grid on

OPERASI 2 BUAH SINYAL


1. Penjumlahan
clc; % membersihkan layar
clear all; % membersihkan semua isi variabel yang pernah
dibuat
f1 = 1; % frekuensi sinyal ke-1
f2 = 20; % frekuensi sinyal ke-2
t=0:0.01:1;
y1=10*sin(2*pi*f1*t);
y2=sin(2*pi*f2*t);
y3= y1+y2;
subplot(3,1,1);plot(t,y1); % 3 baris, 1 kolom, posisi ke-1
axis([0 1 -15 15]);
subplot(3,1,2);plot(t,y2); % 3 baris, 1 kolom, posisi ke-2
axis([0 1 -15 15]);
subplot(3,1,3);plot(t,y3); % 3 baris, 1 kolom, posisi ke-3
axis([0 1 -15 15]) % batasan sumbu x dan sumbu y
grid on

2. Pengurangan
clc; % membersihkan layar
clear all; % membersihkan semua isi variabel yang pernah
dibuat
f1 = 1; % frekuensi sinyal
f2 = 20;
t=0:0.01:1;
y1=10*sin(2*pi*f1*t);
y2=sin(2*pi*f2*t);
y3= y1-y2;
subplot(3,1,1);plot(t,y1); % 3 baris, 1 kolom, posisi ke-1
axis([0 1 -15 15]);
subplot(3,1,2);plot(t,y2); % 3 baris, 1 kolom, posisi ke-2
axis([0 1 -15 15]);
subplot(3,1,3);plot(t,y3); % 3 baris, 1 kolom, posisi ke-3
axis([0 1 -15 15]) % batasan sumbu x dan sumbu y
grid on

3. Perkalian
clc; % membersihkan layar
clear all; % membersihkan semua isi variabel yang pernah
dibuat
f1 = 1; % frekuensi sinyal
f2 = 20;
t=0:0.01:1;
y1=10*sin(2*pi*f1*t);
y2=sin(2*pi*f2*t);
y3= y1.*y2;
subplot(3,1,1);plot(t,y1); % 3 baris, 1 kolom, posisi ke-1
axis([0 1 -15 15]);
subplot(3,1,2);plot(t,y2); % 3 baris, 1 kolom, posisi ke-2
axis([0 1 -15 15]);
subplot(3,1,3);plot(t,y3); % 3 baris, 1 kolom, posisi ke-3
axis([0 1 -15 15]) % batasan sumbu x dan sumbu y
grid on

4. Penguatan dan Pelemahan Sinyal


y = A sin (2ft + )
jika A > 1 maka terjadi penguatan sinyal
jika 0 < A < 1 maka terjadi pelemahan sinyal
clc; % membersihkan layar
clear all; % membersihkan semua isi variabel yang pernah
dibuat
f = 1; % frekuensi sinyal
#A6A6A6; line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; margin-left:
36.0pt; margin-right: 0cm; margin-top: 0cm; mso-background-themecolor: background1;
mso-background-themeshade: 166; mso-layout-grid-align: none; text-autospace: none;">
t=0:0.01:1;
y1=10*sin(2*pi*f*t); % Sinyal asli dengan amplitudo 10
y2=15*sin(2*pi*f*t); % Sinyal asli diperkuat menjadi 3/2 kali
y3=5*sin(2*pi*f*t); % Sinyal asli diperlemah menjadi 1/2 kali
subplot(3,1,1);plot(t,y1); % 3 baris, 1 kolom, posisi ke-1
axis([0 1 -15 15]);
subplot(3,1,2);plot(t,y2); % 3 baris, 1 kolom, posisi ke-2
axis([0 1 -15 15]);
subplot(3,1,3);plot(t,y3); % 3 baris, 1 kolom, posisi ke-3
axis([0 1 -15 15]); % batasan sumbu x dan sumbu y
grid on

6. Pengamatan Operasi dua buah sinyal melalui suara


clc;
clear all;
fs= 16000;
f1= 852;
f2= 1209;
t=0:0.001:1.0;

y1=sin(2*pi*f1*t);
wavplay(y1,fs)
plot(t,y1);axis([0 1 -1 1]);
title('Sinyal Sinus Y1:(f=852 Hz), sampling 16000 Hz')
pause

y2=sin(2*pi*f2*t);
wavplay(y2,fs)
plot(t,y2);axis([0 1 -1 1]);
title('Sinyal Sinus Y2:(f=1209 Hz), sampling 16000 Hz')
pause

y3 = y1 + y2;
wavplay(y3,fs)
plot(t,y3);axis([0 1 -2 2]);
title('Sinyal Sinus Y3 = Y1+Y2')
pause
y4 = y1 - y2;
wavplay(y4,fs)
plot(t,y4);axis([0 1 -1 1]);
title('Sinyal Sinus Y4 = Y1-Y2')
pause

y5 = y1 .* y2;
wavplay(y5,fs)
plot(t,y5);axis([0 1 -1 1]);
title('Sinyal Sinus Y5 = Y1*Y2')
pause

FREKUENSI SUARA MUSIK


Nada dasar dari suara musik didasarkan pada nada A dengan frekuensi 440 Hz. Untuk
frekuensi nada-nada yang lain dihitung menggunakan rumus berikut
f = 440 x 2n/12 Hz
Dimana :
f = Frekuensi dari nada-nada yang lain
440 = Ketentuan nilai untuk nada dasar A
n = langkah (oktaf) dari nada-nada yang akan di cari.
12 = jumlah oktaf ( C, C#, D, D#, E, F, F#, G, G#, A, A#, B)
Sebagai contoh, untuk mencari frekuensi nada F, maka n = 4, untuk mencari frekuensi nada
B, maka n = 2.
F = 440 x 2 4/12 = 349.2282 Hz 349.2 Hz
B = 440 x 2 2/12 = 493.8833 Hz 493.9 Hz
Berdasarkan rumus diatas, dapat dicari nilai-nilai frekuensi untuk nada-nada yang lain yaitu :
Oktaf 1 Oktaf 2 Oktaf 3
C 130.8 261.6 523.3
C# 138.6 277.2 554.4
D 146.8 293.7 587.3
D# 155.6 311.1 622.3
E 164.8 329.6 659.3
F 174.6 349.2 698.5
F# 185.0 370.0 740.0
G 196.0 394.0 784.0
G# 207.7 415.3 830.6
A 220.0 440.0 880.0
A# 233.1 466.2 932.3
B 247.0 493.9 987.8

%Judul Lagu: Gundul-gundul-Pacul


Fs=16000;
t=0:1/Fs:0.25;
c=sin(2*pi*262*t);
d=sin(2*pi*294*t);
e=sin(2*pi*330*t);
f=sin(2*pi*249*t);
g=sin(2*pi*392*t);
a=sin(2*pi*440*t);
b=sin(2*pi*494*t);
c1=sin(2*pi*523*t);
nol = [zeros(size(t))];
nada1 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol,nol];
nada2 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol];
nada3 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c,nol];
nada4 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c];
lagu=[nada1,nada2,nada3,nada4];
sound(lagu,Fs);

%Judul Lagu: Si-Unyil


Fs=16000;
t=0:1/Fs:0.25; %panjang not detik
c=sin(2*pi*262*t);
d=sin(2*pi*294*t);
e=sin(2*pi*330*t);
f=sin(2*pi*249*t);
g=sin(2*pi*392*t);
a=sin(2*pi*440*t);
b=sin(2*pi*494*t);
c1=sin(2*pi*523*t);
nol = [zeros(size(t))];
unyil =
[b,nol,a,nol,g,nol,a,nol,b,nol,a,nol,a,nol,nol,nol,b,nol,a,nol,g,nol,e,nol,
g,nol,e,nol,e];
sound(unyil,Fs);
wavwrite(unyil,'unyil.wav');

%Nada Pesawat telepon


%===========================
% Freq : 1209 | 1336 | 1477
%===========================
% 697 : 1 | 2 | 3
%---------------------------
% 770 : 4 | 5 | 6
%---------------------------
% 852 : 7 | 8 | 9
%---------------------------
% 941 : * | 0 | #
%---------------------------

Fs=9000;
t=0:0.001:1.5;
y9=sin(2*pi*852*t)+sin(2*pi*1477*t);
y8=sin(2*pi*852*t)+sin(2*pi*1336*t);
y7=sin(2*pi*852*t)+sin(2*pi*1209*t);
y6=sin(2*pi*770*t)+sin(2*pi*1477*t);
y5=sin(2*pi*770*t)+sin(2*pi*1336*t);
y4=sin(2*pi*770*t)+sin(2*pi*1209*t);
y3=sin(2*pi*697*t)+sin(2*pi*1477*t);
y2=sin(2*pi*697*t)+sin(2*pi*1336*t);
y1=sin(2*pi*697*t)+sin(2*pi*1209*t);
y0=sin(2*pi*941*t)+sin(2*pi*1336*t);
y = [y0,y1,y2,y3,y4,y5,y6,y7,y8,y9];
wavplay(y,Fs)

SINYAL WICARA PADA MANUSIA


Sinyal wicara adalah sinyal yang berubah-ubah terhadap waktu, bila diamati dalam selang
waktu yang sangat singkat masih tampak stasioner. Tetapi bila diamati dalam selang waktu
yang agak lama (> 1/5 detik), sinyalnya mulai menampakkan ucapan dari pembicara.
Untuk menyajikan sebuah sinyal wicara ada tiga kondisi dasar yang harus diketahui, yaitu
silence (S) (keadaan tenang) yaitu keadaan dimana sinyal wicara tidak diproduksi, unvoice
(U) (tidak bersuara) yaitu vocal cord tidak berfibrasi, dan voiced (V) (bersuara) dimana
vocal cord bervibrasi secara periodik sehingga menghasilkan sinyal wicara.
Merekam Suara dan menyimpan menjadi File.wav
clear all;
fs=8000;
y= wavrecord(5.0*fs, fs, 'double'); %merekam suara
wavwrite(y,fs,'aiueo.wav'); %simpan rekaman ke hardisk
wavplay(y,fs); %mainkan hasil rekaman
figure,plot(y); %sinyal hasil rekaman di plot
Membaca dan memainkan file.wav
clear all;
fs=8000;
y=wavread('aiueo.wav');
wavplay(y,fs)
figure,plot(y);

Memotong sinyal
clear all;
fs=8000;
y=wavread('aiueo.wav');
wavplay(y,fs)
figure,plot(y);

A1= min(y);
A2= max(y);
t=length(y);
x1=0; x2=t;
axis([x1 x2 A1 A2]);

% suara U diperkirakan berada pd t=16750 s/d 19500


y1=y(16750:19500); %sinyal y dicopy pd t=16750 s/d 19500
wavplay(y1,fs)
figure,plot(y1)
axis([x1 x2 A1 A2]);

clear all;
fs=8000;
y=wavread('aiueo.wav');
wavplay(y,fs)
figure,plot(y);
A1= min(y);
A2= max(y);
t=length(y);
x1=0; x2=t;
axis([x1 x2 A1 A2]);

y1=y(16750:19500);
wavplay(y1,fs)
figure,plot(y1)
axis([x1 x2 A1 A2]);

y2=[y1' y' y1'];


t=length(y2);
wavplay(y2,fs)

Pembangkitan Sinyal dengan


Memanfaatkan File wav
By Adib Mahdy Dated 07.34
acebook
Melanjutkan dari artikel saya Pembangkitan Sinyal Sinus Waktu Diskrit tentang
pembangkitan sinyal dengan memanfaatkan file *.wav. tipe file ini merupakan file suara. Jadi
yang akan dilakukan adalah pengamatan gelombang yang berasal dari suara. File yang akan
digunakan arus berada dalam folder yang sama dengan sourcenya agar dapat terdeteksi
dengan baik. Pada program terdapat perintah async yang artinya digunakan untuk
memainkan audio sinyal asli. Stelah itu harus dilakukan pengeplotan agar gelombang sinyal
audio bias keluar di figurenya. Karena ketika saya mencoba merunning program tanpa
menambahkan plotnya, gambar gelombang dari sinyal tersebut tidak keluar di figure.

Oleh karena itu, program harus ditambahkan dengan plotnya agar grafik file audio sebagai
fungi waktu bisa diamati melalui figure. Grafik yang muncul berbeda dengan gelombang
yang sebelumnya. Karena ini merupakan file audio, jadi sinyal gelombangnya tidak teratur,
baik dari besar amplitudo maupun frekuensinya. Fs dalam hal ini berfungsi sebagai pengatur
tempo dari file audio yang dimainkan
Kesimpulan :

1. sinyal terdiri dari sinyal kontinyu dan sinyal diskrit


2. saat membangkitkan sinyal waktu kontinyu sinusoida dan persegi, besar frekuensi,
amplitude, dan beda fasenya sangat berpengaruh
3. saat membangkitkan sinyal waktu diskrit, panjang sekuen atau posisi pulsa sangat
menentukan. Dalam hal ini yang dibangkitkan adalah sekuen unit (per satuan)
4. kita dapat melakukan pemanggilan sinyal audio dan mengamati gambar gelombang sinyal
audio tersebut. Tipe file yang digunakan adalah *.wav

Anda mungkin juga menyukai