-
Recent Posts
Recent Comments
Archives
Categories
Jangan ragu untuk memulai sebuah latihan , karena dengan latihan menjadi bisa dari tidak tahu, menjadi mahir dari biasa saja, menjadi percaya diri dari keminderan. Jika berbicara soal pemograman maka kita diwajibkan untuk terus berlatih dan mencoba, karena sesungguhnya dengan berlatih kita mulai mengenal sintak atau gaya/model pemograman tersebut . Hal ini secara tidak langsung membangun logika kita. Jika pemahaman ttg logika terbentuk maka membuat progam dengan soal apapun atau menggunakan bahasa pemograman apapun (Code Block, Matlab, Java) maka dpt teratasi.. Jadi kesimpulan nya ‘jangan pernah lelah untuk mencoba’. Apakah sinyal harus butuh seseorang pemograman bu? jawabannya tidak sebenarnya sinyal itu dibutuhkan teori atau analisa yang sgt detil namun karena sinyal merupakan representasi isyarat secara matematis maka sangat dibutuhkan keahlian khusus untuk menampilkan hasil analisa sinyal tersebut. (kebanyakan di luar sana mengerti secara teoritis tapi masih gagap dalam hal pengaplikasiannya ya contohnya representasi sinyal dalam matlab, sehingga kebanyakan yang analisa sudah benar, akibat kegagapan tersebut analisa menjadi terlihat salah karena tidak bisa mengolahnya / merepresentasikannya)
kita lihat salah satu contoh mengenerate sinyal diskrit di bawah ini
mari kita coba menyusun programnya.
************* program untuk Langkah 1 *************
clc; clear all ; close all
n = -7 :-4;
n1 = -3:0;
n2 = 1:4;
y = 3*ones(1,length(n));
yy = 0*ones(1,length(n));
yyy = 0*ones(1,length(n));
figure
stem(n1,y,’r’ )
grid on
hold on
stem(n,yy,’g’)
grid on
stem(n2,yyy,’m’)
grid on
axis([ -8 5 0 3.5])
Hasil Sinyal Diskrit (Sebelum Penggeseran)
**************** Program untuk Langkah 2 *********************
n_fix = [n n1 n2];
y_fix = [yy y yyy]
n_baru = n_fix + 3;
figure
stem(n_baru, y_fix )
grid on
axis([ -8 10 0 3.5])
title (‘Sinyal Diskrit’)
xlabel(‘n’)
ylabel (‘x[n]’)
Hasil sinyal Diskrit Setelah Bergeser
************************* Program Untuk Langkah 3 *********************
% Pencerminan Sinyal
n_baru2 = -(n_fix)-3;
figure
stem(n_baru2, y_fix,’m’)
grid on
axis([ -10 10 0 3.5])
title (‘Sinyal Diskrit’)
xlabel(‘n’)
ylabel (‘x[n]’)
Hasil Pencerminan Sinyal dan Penggeseran Sinyal
Himne STIKOM terdengar dengan Script MATLAB
Mata kuliah sinyal sistem bukan hanya bertujuan untuk menganalisa sinyal, melainkan diharapkan mahasiswa bisa membangkitkan sinyal dan mengerti sinyal dengan menggunakan MATLAB. Matlab merupakan salah satu Bahasa pemograman yang sangat sederhana dan sangat cocok diajarkan atau mulai dikenalkan pada mahasiswa semester 2.
Alasan yang paling kuat adalah, mahasiswa prodi SK(Sistem Komputer) telah mendapatkan ilmu ‘Matriks dan Transformasi Linier’ dan ‘’Sinyal Sistem” . Kedua mata kuliah ini mereka dapatkan bersamaan, Hal ini mempermudah bagi mahasiswa untuk mengenal apa-apa yang ada di matlab, karena pada dasarnya variabel yang ada di matlab merupakan matriks atau variabel yang mempunyai ukuran baris dan kolom. Tapi bagaimana cara mereka belajar mengembangkan logika pemograman ???? upss.. jangan kuatir mereka juga mendapatkan ilmu ‘algoritma pemograman’ belajar membangun logika untuk membuat sebuah program nantinya..
Pada pembahasan kali ini, mahasiswa kelas Q1 ditugaskan membuat sebuah tugas besar membuat coding lagu ‘HIMNE STIKOM’ yang kemudian bisa didengarkan dan dianalisa setiap bagian scriptnya. Langkah pertama mereka mendapatkan not-not lagu Himne STIKOM di bagian kemahasiswaan. Langkah kedua mereka mempelajari tangga nada yang didefinisikan oleh matlab. Langkah ketiga mereka membuat codingannya dan menyimpannya.
Tugas besar ini sangat mudah dan sangat simple…
Penasaran untuk mengetahui scriptnya dan HOW? Silahkan berkunjung ke alamat web mahasiswa di bawah ini. Silahkan bertanya kepada mereka di BLOG Mereka,… Penjelasan mereka cukup KECE (alias keren) meski jauh dari kata sempurna.
Berikut alamat blog mahasiwa yang sudah berhasil membuat tugas besar ini.
Sebelum ke scriptnya bagaimana mari kita tengok dulu sekilas teorinya dulu (mengingat mahasiswa langsung ngoding tanpa mempelajari teori terlebih dahulu)
Pengenalan sinyal sinus dapat dilakukan dengan membangkitkannya di m-file matlab, bukan hanya sekedar membangkitkan, melainkan juga membuat aplikasinya yang diterapkan dengan membuat sebuah lagu. Sebelum membuat sebuah lagu, mari kita pelajari dasar teorinya terlebih dahulu.
Salah satu aplikasi sinyal sinus diterapkan pada frekuensi suara musik. Frekuensi music dikenal dengan nada dasar awal atau disebut nada A pada frekuensi 440Hz. Sedangkan untuk frekuensi nada-nada yang lain dihitung berdasarkan rumus di bawah ini :
Dimana
f = frekuensi nada-nada yang lain (dengan ketentuak frekuensi nada A = 440 Hz)
n = langkah oktaf dari nada-nada yang akan dicari (terdapat 12 jumlah oktaf missal C, C#, …A,A#,B)
untuk nada-nada yang lain dapat dilihat tabel di bawah ini :
Dalam pembuatan nada lagu di matlab frekuensi dasar yang digunakan pada Oktaf2 yang merupakan nada dasar. Selain frekuensi, parameter selanjutnya yang perlu diperhatikan adalah penggunaan Frekuensi sampling . Penentuan frekuensi sampling untuk file.wav adalah … dan juga varibel t sebagai temponya lagu yang akan dibuat. Bagaimana menghitung frekuensi tersebut ? (Silahkan dicoba)
Script Matlab Hymne STIKOM
clc
clear all
close all
fs=441000; % frekuensi sampling yang paling sering digunakan dalam multimedia adalah kualitas CD 44.1 kHz, 22.05 kHz dan 11.025 kHz dengan ukuran sampel 8 bit dan 16 bit
t=0:1/fs:0.80; % panjang not 4/5 detik
al=sin(3*pi*130*t);
bl=sin(3*pi*146*t);
cl=sin(3*pi*164*t);
dl=sin(3*pi*174*t);
el=sin(3*pi*196*t);
fl=sin(3*pi*220*t);
gl=sin(3*pi*247*t);
a=sin(3*pi*264*t); % nada c /do
b=sin(3*pi*297*t); % nada d /re
c=sin(3*pi*330*t); % nada e /mi
d=sin(3*pi*352*t); % nada f /fa
e=sin(3*pi*396*t); % nada g /sol
f=sin(3*pi*440*t); % nada a /la
g=sin(3*pi*495*t); % nada b /si
aa=sin(3*pi*528*t); % nada C / do tinggi
nol=zeros(size(t));% spasi
test=[el,a,b,c,d,e,f,e,e,f,e,d,c,b,nol];
test2=[b,d,c,d,e,f,e,d,d,c,d,c,f,e,nol];
test3=[e,d,c,d,e,c,b,c,d,e,d,c,d,b,b,c,nol];
test4=[e,d,c,d,e,c,b,c,d,e,e,d,d,e,f,g,e,nol];
test5=[el,a,b,c,a,dl,el,f,e,d,c,b,a,b,a,a];
lagu=[test,test2,test3,test4,test5];
sound(lagu,fs);
wavwrite(lagu,fs,’d:\Himne_STIKOM.wav’);
———————————————————————————————
kamu juga dapat download file.wavnya, Himne_STIKOM
———————————————————————————————
Semoga dengan tugas sederhana ini mampu memicu mereka menemukan hal-hal baru yang bisa diterapakan pada ilmu yang telah mereka pelajari selama ini. (mungkin tugas ini jauh dari kata sempurna, tapi saya sebagai dosen pengampuh mk ini sangat menghargai hasil mereka, karena mereka awalnya nothing menjadi something .. semangat terus mahasiswa semester baru tetep setia pada prodi dan kembangkan terus bakat kalian dan jgn pernah putus semangat belajar mencari pengetahuan yang bisa diterapkan untuk tugas akhir kelak.)
MK : Sinyal Sistem
Tujuan : mahasiswa memahami konsep dasar dari sinyal sistem, metode pengolahan sinyal dan desain sistem untuk kebutuhan analisis dan perencanaan sistem kontinyu maupun diskrit
media belajar : Matlab
Berikut adalah salah satu model soal UAS periode 2015, silahkan dipelajari untuk shorttest (quiz). Selamat belajar …
1. Konversi sinyal domain waktu ke domain frekuensi
tujuan : mahasiswa dapat mengubah sinyal domain waktu ke domain frekuensi
Bangkitkan 2 sinyal sinus dalam domain waktu dengan frekuensi yang berbeda, kemudian sinyal pertama dan sinyal kedua dijumlahkan. Setelah dijumlahkan ubahlah ke dalam domain frekuensi. Berikut gambar sebagai contoh :
Source Code :
clc; clear all; close all
A1 = 5;
A2 = 10;
f1 = 5;
f2 = 10;
Fs = 100;
t = (1:400)/Fs;
y1 = A1*sin(2*pi*f1*t);
y2 = A2*sin(2*pi*f2*t);
y_jumlah = y1+y2;
figure,
% diubah ke dalam domian waktu
subplot 211
plot(t,y1,’r’)
title(‘Sinyal sinus f : 5 Hz’)
grid on
subplot 212
plot(t,y2,’b’)
grid on
title(‘Sinyal sinus f : 10 Hz’)
figure,
subplot 211
plot(t,y_jumlah,’k’)
grid on
xlabel(‘t’)
ylabel(‘x(t)’)
title (‘Hasil Penjumlahan Kedua Sinyal dlm domain Waktu’)
% diubah ke dalam frekuensi
y_fre = fft (y_jumlah,512);
w=(0:255)/256*(Fs/2);
power = abs(y_fre(1:256));
power2 = power./max(power);
subplot 212
plot(w,power2 ,’m’)
grid on
title (‘Hasil Penjumlahan Kedua Sinyal dalam domain Frekuensi’)
xlabel(‘t’)
ylabel(‘x(t)’)
2. Dekomposisi Sinyal
Bangkitkanlah sinyal sinus dan lakukan dekomposisi dari sinyal tersebut sehingga membentuk sinyal kotak (contohnya seperti di bawah ini ). Jelaskan maksud dar peristiwa tersebut.
Source Code :
clc;clear all; close all
t = 0:.01 : 5;
n = input (‘Jumlah sinyal =’)
y = 0.5*ones(1,length(t));
for m = 1:2:n
y = y+ 4/(m*pi) *sin(m*pi/2)*cos(m*pi*t);
end
figure
plot(t,y)
grid on
3. Konsep Frekuensi
Bangkitkan sinyal sinusoidal dengan frekuensi 5 Hz, kemudian ubahlah sinyal tersebut ke dalam bentuk diskrit dengan frekuensi sampling (Fs = 50Hz). Apa yang terjadi ? berikan analisa anda!
Source Code :
clc;clear all; close all
t = 0:0.0001:2;
f1 = 5;
A1 = 2;
xt = A1*sin(2*pi*f1*t);
figure
subplot 211
plot(t,xt)
grid on
title (‘sinyal sinus f:5Hz’)
xlabel(‘waktu(msec)’)
ylabel(‘x(t)’)
n = [0:50];
fs = 50;
Ts = 1/fs;
nTs = n*Ts;
xn = A1*sin(2*pi*f1*nTs);
subplot 212
stem(n,xn,’r’)
grid on
title(‘sinyal diskrit’)
xlabel(‘sample ke n’)
ylabel(‘y(n)’)