Senin, 29 Juni 2015 saya memulai hand-on-research di Trieste, Italy, dengan menu favorit saya, Matlab. Karena Matlab dipakai hampir di semua materi hand-on-research, maka saya memilih menu ini di awal. Hands-on kali ini diampu oleh Brian Storey, Professor of Mechanical Engineering di Olin Collage, US, yang juga telah menulis banyak ebook gratis untuk Matlab dan CFD. Semua materi yang digunakan ada pada link attachment di halaman paling bawah artikel ini (saya akan mengupdate permissionnya dalam beberapa minggu lagi).
Once to be remembered, learning Matlab is not learning the programming, but the physical phenomenon behind it. So, you must understand clearly from physical phenomena to mathematical model (equation), from equation and logic to (Matlab) programming language. When you didn't understand about math and physics of your program, it will very hard to bring the solution to (Matlab) programming language.
OK, Let's start. Prof. Storey divide the student into two: the beginner who never knows about Matlab, and advance user with someone in between (intermediate). For beginner on Matlab, the following books has been recommended and you can study it by your self,
Showing posts with label Matlab. Show all posts
Showing posts with label Matlab. Show all posts
Sunday, July 05, 2015
Saturday, April 18, 2015
Extent Tab-completion inside Matlab Function
Currently Matlab only has tab completion for common functions like "load", "addpath" and others (while GNU Octave can complete inside function). To mimic this tab completion in Matlab function like "wavread" and other function, we can do the following, edit Tc.xml to save our finger for typing complete filename.
Step-by-step:
It works on Matlab R2009 and 2013a and this tricks save our fingers for repetition and wrong typing.
Step-by-step:
- Edit Tc.xml by the following command: edit(fullfile(matlabroot,'toolbox/local/TC.xml'))
- Add function (key binding) and FILE or DIR inside TC.xml
<binding name="wavread" ctype="FILE"/>If TC.xml is read only (R2013a), change the permission by using chmod,
sudo chmod a+rwx /usr/local/MATLAB/R2013a/toolbox/local/TC.xmlwhen your root password when prompted, it is for Unix and Linux-based OS.
It works on Matlab R2009 and 2013a and this tricks save our fingers for repetition and wrong typing.
![]() |
| Matlab Tab-completion |
Sunday, April 12, 2015
Wavplot and Wavplay
Matlab has their built in function to play .wav file, but it didn't work in Unix and Linux-based OS, because the wavplay function only supported in Windows. Moreover, I want to plot waveform of .wav file in single command, so I don't need to wavread it before plot. For those two purposes, I made two shorts function namely wavplot and wavfile.
Wavplot
wavplot is simple function to plot .wav file. Why I need it? because I continuously working with .wav file, and I want to plot it directly to get information of sound file via its waveform. Here the code of wavplot function.
How to use it? it is simple. If you have .wav file, for example it has name tone.wav and you are in the current directory of Matlab command window, you can directly plot it with this function,
Wavplot
wavplot is simple function to plot .wav file. Why I need it? because I continuously working with .wav file, and I want to plot it directly to get information of sound file via its waveform. Here the code of wavplot function.
function wavplot(wavFile)
% wavplot(wavFile) plot waveform and spectrum of wav file
% bagus@ep.its.ac.id
if nargin>1
fprintf('Usage: wavplot(wavFile \n');
return;
end;
[y, fs]=wavread(wavFile);
plot(y)
end
How to use it? it is simple. If you have .wav file, for example it has name tone.wav and you are in the current directory of Matlab command window, you can directly plot it with this function,
wavplot('tone.wav')And it will plot the wav file like the following,
![]() |
| Output of wavplot function |
Saturday, March 07, 2015
Deteksi Multi Pitch Berdasarkan Jumlahan Harmonik
Pitch merupakan persepsi telinga manusia atas frekuensi dasar (suara). Deteksi maupun estimasi pitch banyak dipelajari dan digunakan untuk beberapa aplikasi seperti pemisahan suara, pengenalan suara atau untuk tuning alat musik.
Berdasarkan paper Ansi Klapuri pada tahun 2006, estimasi multi-pitch ini dapat didekati dengan jumlahan harmonik. Pendekatan ini secara konseptual "sangat simpel" dan efisien secara komputasi. Ide dasarnya adalah dengan menghitung saliance, strength atau power dari kandidat F0 sebagai jumlah bobot amplitudo harmonik-harmoniknya. Pemetaan dari spektrum Fourrier menjadi "F0 salience spectrum" didapatkan dari optimisasi data training.
Saliance dapat dihitung dari jumlah bobot amplutido dari harmonik sebagai berikut,
dimana f adalah frekuensi harmonik ke-n, dan g adalah bobot parsial harmonik m dari periode tau.
Metode
![]() |
| Output progam |
Saliance dapat dihitung dari jumlah bobot amplutido dari harmonik sebagai berikut,
dimana f adalah frekuensi harmonik ke-n, dan g adalah bobot parsial harmonik m dari periode tau.
Metode
Sunday, February 15, 2015
Ubuntu, Arduino and Matlab
Arduino is low cost hardware, Ubuntu is free and open source operating system, and Matlab is one of the best engineering software. Integration of those three platform can create a simple yet powerful system.
Step-by-step:
![]() |
| Screenshot of Matlab Gui for simple swictch |
Step-by-step:
- Install Arduino IDE: sudo apt-get install arduino
- Download and Install ArduinoIO (for Matlab 2013 and earlier)
- http://www.mathworks.com/matlabcentral/fileexchange/32374-matlab-support-for-arduino--aka-arduinoio-package-
- Open and Upload adio.pde (in ArduinoIO/pde) using Arduino IDE
- Make a link from ACM0 to S101
- sudo ln -s /dev/ttyACM0 /dev/ttyS101
- sudo chmod 777 /dev/ttyS101
- Add the ArduinoIO to matlab path or simply run install_arduino within ArduinoIO directory
- Create the test program, I named it ledonoff
- In Matlab command window, type 'guide' to create gui, save as led_onoff.fig
- Add two push botton, one "ON" and another "OFF" button (double click to change the string name)
- Right click any button (on or off) and choose editor, it will open m-file of the gui. Add the the following code around line 60, after led_onoffOpeningFcn,
- Under pushbutton1 function, add the following code to turn on led when clicked
- Under pushbutton2 function, add the following code to turn off led when clicked
clear a;
global a;
a=arduino('/dev/ttyS101');
a.pinMode(13,'output');
global a; a.digitalWrite(13,1);
global a; a.digitalWrite(13,0);
![]() |
| Upload adio.pde so Matlab can access input-output of Arduino board |
Sunday, December 28, 2014
Menghitung MSE dari .wav file di Matlab
MSE (mean squared error) adalah salah satu standar evaluasi obyektif (objective evaluation) pada dunia sains dan teknik, baik pada cabang ilmu fisika, kimia, biologi, informatika, elektronika dan bidang rekayasa yang lain. Misalkan kita mempunyai sebuah data atau sinyal (suara, gambar, dll) yang telah kita manipulasi (enhancement, separation, improvement) dan kita ingin membandingkan sinyal output (estimasi, enhanced, separated) dengan sinyal aslinya, maka kita membandingkan sinyal asli dan sinyal estimasi tersebut dengan teknik MSE dengan salah satu syarat: panjang sinyalnya sama.
Secara matematik, MSE dirumuskan sebagai berikut,
Sedangkan implementasi dalam matlab untuk file suara yang berekstensi .wav dapat dilihat pada kode di bawah. Cara menggunakan fungsi ini cukup mudah, yakni (dalam Matlab command window): msewav('fileinput.wav','fileoutput.wav').
Pastikan file fungsi ini beserta dua file wav yang akan dihitung MSE-nya ada dalam satu folder (direktori) dimana anda bekerja, atau gunakan perintah addpath untuk menambahkannya ke dalam direktori kerja anda.
msewav.m (Github )
Secara matematik, MSE dirumuskan sebagai berikut,
Sedangkan implementasi dalam matlab untuk file suara yang berekstensi .wav dapat dilihat pada kode di bawah. Cara menggunakan fungsi ini cukup mudah, yakni (dalam Matlab command window): msewav('fileinput.wav','fileoutput.wav').
Pastikan file fungsi ini beserta dua file wav yang akan dihitung MSE-nya ada dalam satu folder (direktori) dimana anda bekerja, atau gunakan perintah addpath untuk menambahkannya ke dalam direktori kerja anda.
msewav.m (Github )
Thursday, August 28, 2014
Memakai Matlab atau GNU Octave?
Ada banyak halaman yang membahas perbedaan antara Matlab dan GNU/Octave. Perbedaan secara teknis bisa dilihat di halaman Wikibooks: MATLAB Programming/Differences between Octave and MATLAB, perbedaan dari sisi desain (compiler, core, dll) bisa dilihat di FAQ octave, dan perbedaan secara sintaks bisa dilihat disini. Lalu, mana yang dipilih, Matlab atau Octave?
![]() |
| Matlab (kiri) dan GNU Octave (kanan) dalam satu workspace |
Sunday, March 30, 2014
Memfilter Sinyal Suara Pada Range Frekuensi Tertentu (Bandpass) dengan Matlab / Octave + Python
Buka - buka file lama di folder kuliah S1 Teknik Fisika, saya menemukan file script matlab yang saat itu dimintai tolong seorang teman untuk mengerjakan Tugas Akhirnya. Script ini untuk memfilter sinyal (suara) pada frekuensi tertentu dengan menggunakan bandpass filter, yakni gabungan antara low pass filter dan high-pass filter.
Misalnya kita mempunyai sinyal suara dengan frekuensi 0 - 20000 Hz, namun karena suatu hal (misalnya noise) kita cuma butuh sinyal di frekuensi 700 - 1400 Hz saja, maka kita bisa menggunakan script matlab / octave ini. Script ini berjalan lancar baik pada Matlab maupun GNU Octave.
Gambar spectrogram di bawah ini membandingkan spectrogram sinyal sebelum difilter dan setelah difilter. Script untuk GNU / Octave ada di bawahnya.
Berikut script kode Octave / Matlab (link Github disini).
Misalnya kita mempunyai sinyal suara dengan frekuensi 0 - 20000 Hz, namun karena suatu hal (misalnya noise) kita cuma butuh sinyal di frekuensi 700 - 1400 Hz saja, maka kita bisa menggunakan script matlab / octave ini. Script ini berjalan lancar baik pada Matlab maupun GNU Octave.
Gambar spectrogram di bawah ini membandingkan spectrogram sinyal sebelum difilter dan setelah difilter. Script untuk GNU / Octave ada di bawahnya.
|
|
Berikut script kode Octave / Matlab (link Github disini).
% demo program untuk memfilter suara pada range fekuensi oktaf tertentu % by bagustris bagustris@linuxmail.org % adopted from somewhere (forget aka lupa) % set general variables clear all; close all; clc; sf = 22050; % sample frequency nf = sf / 2; % nyquist frequency d = 1.0; % duration, ganti untuk merubah durasi suara n = sf * d; % number of samples nh = n / 2; % half number of samples
Friday, October 14, 2011
FFT dari Sinyal Sinus di Matlab/Octave
Seharusnya, bila kita membuat sinyal sinusoidal dengan frekuensi 20 Hz, maka kalau kita fft-kan (fourrier transform-kan) sinyal tersebut memiliki frekuensi tunggal pada sumbu X=20. Bila tidak, atau plotnya menunjukkan spektrum yang tidak beraturan, maka gambar dan teknik yang kita gunakan tersebut salah.
![]() |
| Sinyal Sin 20 Hz dan FFT -nya |
% Sampling frequency Fs = 1024; % Time vector of 1 second t = 0:1/Fs:1; % Create a sine wave of 20 Hz. x = sin(2*pi*t*20); % Use next highest power of 2 greater than or equal to length(x) to calculate FFT.Source: Mathwork
nfft= 2^(nextpow2(length(x)));
% Take fft, padding with zeros so that length(fftx) is equal to nfft
fftx = fft(x,nfft);
% Calculate the numberof unique points
NumUniquePts = ceil((nfft+1)/2);
% FFT is symmetric, throw away second half
fftx = fftx(1:NumUniquePts);
% Take the magnitude of fft of x and scale the fft so that it is not a function of the length of x
mx = abs(fftx)/length(x);
% Take the square of the magnitude of fft of x.
mx = mx.^2;
% Since we dropped half the FFT, we multiply mx by 2 to keep the same energy.
% The DC component and Nyquist component, if it exists, are unique and should not be multiplied by 2.
if rem(nfft, 2) % odd nfft excludes Nyquist point
mx(2:end) = mx(2:end)*2;
else
mx(2:end -1) = mx(2:end -1)*2;
end
% This is an evenly spaced frequency vector with NumUniquePts points.
f = (0:NumUniquePts-1)*Fs/nfft;
% Generate the plot, title and labels.
subplot(211); plot(x);
title('Waveform of a 20Hz Sine Wave');
xlabel('Time');
ylabel('Amplitude');
subplot(212); plot(f,mx);
title('Power Spectrum of a 20Hz Sine Wave');
xlabel('Frequency (Hz)');
ylabel('Power');
Thursday, October 13, 2011
Convolution of Two .wav Sound Files in Linux and Matlab
Convolution is the very basic and main operation in Signal Processing. My professor said that Convolution is the heart of signal processing. If we has two .wav sound files how to convolute them?
In Linux, first download the bash file here. Then follow the instruction below,
1. Ubuntu and other distribution> Unzip and untar the download by typing
$ gunzip fconv.tar.gz
$ tar -xvf fconv.tar
2. If you are in the same directory as the program, it
will run. Just type "fconv" at the command line.
SLACKWARE INSTALLATION:Wednesday, October 12, 2011
Solusi dari Permasalahan Suara di Matlab Under Ubuntu Linux
Posting saya sebelumnya disini menjelaskan tentang instalasi Matlab pada Ubuntu Linux. Setelah instalasi umumnya tidak dijumpai permasalahan berarti untuk proses komputasi dan simulasi dengan Matlab under Linux itu. Namun, jika anda menggunakan Matlab untuk pemrosesan suara (sound processing) maka suara dari Matlab hanya akan terdengar pertama kali saat anda menggunakan fungsi berbasis suara seperti 'sound', 'audioplayer' dan sebagainya. Bagaimana agar matlab under linux bisa memutar suara berulang-ulang dengan function pemrosesan sinyal tersebut?
Pertama, bila masukkan matlab dalam menu application anda (jika anda belum membuatnya). Caranya adalah klik kanan application (pojok kanan atas) kemudian pilih edit menu, maka akan keluar tampilan sebagai berikut,
Tuesday, October 11, 2011
Tutorial Octave: Open Source Software Pengganti Matlab
Pada posting sebelumnya telah dibahas bagaimana cara meng-install Octave di Ubuntu Linux. Artikel ini adalah lanjutannya, yaitu bagaimana menggunakan
Octave yang tidak ditujukan untuk Linux saja namun juga pada Windows dan Mac OS. Seperti halnya Matlab, Octave bisa digunakan untuk melakukan
perhitungan operasi matematika secara langsung. Misalnya operasi penjumlahan
‘+’, pengurangan ‘-’, perkalian ‘*’, pembagian ‘/’ dan operasi lainnya
yang lebih kompleks seperti penggunaan fungsi trigonometri (sin, cos), pangkat ‘^’, eksponensial ‘e’, logaritma ‘log’, bilangan
imajiner atau untuk mendevelop fungsi operasi baru (function seperti dalam Matlab).
Untuk menjalankan octave pada Ubuntu silahkan ketik "octave" pada terminal. Operasi matematika sederhana dengan Octave bisa dilihat pada contoh di bawah.
>> a=5 a = 5 >> b=7 b = 7 >> c=a+b c = 12
Pada kondisi tertentu kadang tidak diharapkan untuk langsung mengetahui hasil dari suatu operasi terutama bila kita mencoba menuliskan script. Untuk menahan agar octave tidak menampilkan hasil operasi pada sebuah baris ditambahkan semicolon pada akhir baris.
Menyimpan data .wav/.mat dalam format ASCII di Matlab / Octave
ASCII - American Standard Code for Information Interchange merupakan format standar data yang berupa text yang akan memudahkan kita untuk memprosesnya dalam program dan OS apapun. Nah, bagaimana menyimpan data kita dalam format ASCII ? Caranya adalah dengan menyimpan anda dalam workspace Matlab atau Octave, kemudian simpan sebagai file format ASCII dengan perintah berikut ini. (Mungkin juga berlaku untuk selain data .wav dan .mat, yakni data berekstensi lain .xml dll, sekali lagi load dulu ke workspace-nya matlab/Octave).
Dalam Matlab,
x=wavread('nama_file.wav'); % load file wav anda
save namafiletxt x -ASCII
jika data anda berupa .mat
load data save namafiletxt x -ASCII % load file mat
Dalam Octave, ganti -ASCII menjadi -ascii, sehingga menjadi sebagai berikut:
Monday, October 10, 2011
Menghitung SNR dengan Matlab / Octave
SNR- Signal to Noise Ration adalah ukuran untuk membandingkan suatu sinyal dengan noise-nya. SNR didefinisikan sebagai perbandingan power signal dengan power noisenya. Gampangannya, kalau power sinyal yang kita inginkan lebih kecil daripada noisenya, maka hasil kita jelek (hasil apapun, entah dalam speech enhacement, source separation, image processing atau yang lain). Sehingga, semakin besar nilai SNR tentunya semakin baik kualitas desired signal kita.
Sesuai formulanya, SNR dirumuskan sebagai berikut;
$$SNR=\dfrac{P_{signal}}{P_{noise}}$$
Sesuai formulanya, SNR dirumuskan sebagai berikut;
$$SNR=\dfrac{P_{signal}}{P_{noise}}$$
dimana P merupakan power rata-rata baik dari sinyal maupun noise yang diukur pada t yang sama dan dalam bandwith yang sama. Jika sinyal dan noise memiliki impedansi yang sama, maka SNR dapat dihitung dari kuadrat Amplitudo kedua sinyal dan noise tersebut. Agar mempunyai impedansi yang sama, pada praktek penghitungan SNR dengan matlab/Octave nilai SNR dinormalisasi dengan perintah
.
normdimana A merupakan root mean square (rms) dari amplitudo sinyal. Karena banyak sinyal memiliki dynamic range, maka SNR dapat dinyatakan dalam decibel (dB) sebagai berikut:
Wednesday, September 21, 2011
Menggambar Fraktal Fern di Matlab
Fraktal atau fractal merupakan gambaran benda geometris
yang kasar pada segala skala, dan terlihat dapat "dibagi-bagi" dengan
cara yang ekstrim. Beberapa fraktal bisa dipecah menjadi beberapa bagian
yang semuanya mirip dengan fraktal aslinya. Fraktal dikatakan memiliki
detail yang tak hingga (unlimited) dan dapat memiliki struktur serupa diri
pada tingkat perbesaran yang berbeda. Pada banyak contoh, sebuah fraktal
bisa dihasilkan dengan cara mengulang suatu pola yang sama dalam proses
rekursif atau iteratif dan ukuran yang berbeda.
Istilah fractal dibuat oleh Benoît Mandelbrot pada tahun 1975 dari kata Latin fractus
yang artinya "patah", "tidak teratur" atau "rusak". Sebelum Mandelbrot
memperkenalkan istilah tersebut, nama umum untuk struktur semacamnya
(misalnya bunga salju Koch) adalah kurva monster (monster curve).
Matematika, sebagai salah satu cabang ilmu pengetahuan awalnya mempelajari fenomena ini sebagai benda-benda matematis. Geometri fraktal adalah cabang matematika yang mempelajari sifat-sifat dan perilaku fraktal. Fraktal bisa membantu menjelaskan banyak situasi yang sulit dideskripsikan menggunakan geometri klasik, dan sudah cukup banyak diaplikasikan dalam sains, teknologi, dan seni karya komputer. Dulu ide-ide konseptual fraktal muncul saat definisi-definisi tradisional geometri Euklides dan kalkulus gagal menganalisis objek-objek kurva monster tersebut.
Matematika, sebagai salah satu cabang ilmu pengetahuan awalnya mempelajari fenomena ini sebagai benda-benda matematis. Geometri fraktal adalah cabang matematika yang mempelajari sifat-sifat dan perilaku fraktal. Fraktal bisa membantu menjelaskan banyak situasi yang sulit dideskripsikan menggunakan geometri klasik, dan sudah cukup banyak diaplikasikan dalam sains, teknologi, dan seni karya komputer. Dulu ide-ide konseptual fraktal muncul saat definisi-definisi tradisional geometri Euklides dan kalkulus gagal menganalisis objek-objek kurva monster tersebut.
![]() |
| Gambar Fraktal Fern |
Salah satu contoh fraktal adalah fractal fern atau fraktal daun. Gambar fraktal fern dapat dilihat diatas dan untuk menggambarnya dapat menggunakan script Matlab berikut ini. Silakan run script Matlab berikut dan ganti parameternya untuk mendapatkan gambar yang berbeda.
Tuesday, September 20, 2011
Instalasi Matlab di Ubuntu Linux
Sebagai salah satu program yang paling banyak digunakan dalam dunia saintifik, khususnya di bidang Teknik atau Engineering, mau tidak mau Matlab harus terinstall dalam setiap PC atau laptop mahasiswa teknik, termasuk pada PC atau laptop yang ber-OS Ubuntu / Linux. Nah, biasanya ada permasalahan saat instalasi Matlab di Ubuntu. Permasalahan itu tak lain dan tak bukan pada file permission.
Saya asumsikan anda telah memiliki instalasi Matlab untuk Linux atau Mac (Silakan "beli" atau cari trialnya di Google). Jika file instalasi berasal dari DVD (.iso),maka copy dulu file itu ke dalam laptop dan ekstrak untuk mendapatkan file instalasinya, klik kanan file .iso tersebut, pilih open with >> Archieve Mounter. Kemudian berpindahlah pada directory dimana file .iso tersebut di mount (mudahnya klik kanan "open in terminal" di directory tersebut). Jika anda hanya mengekstrak file ISO tersebut kemudian berpindah ke direktori hasil ekstraksi untuk menginstall Matlab (sesuai langkah dibawah) kemungkinan akan ada error dan instalasi tidak akan berhasil.
Setelah itu, ketik perintah berikut
maka ubah direktorinya dengan perintah
Pastikan juga anda memiliki file lisensi (license file) pada direktori tersebut yang biasanya bernama license.dat
Saya asumsikan anda telah memiliki instalasi Matlab untuk Linux atau Mac (Silakan "beli" atau cari trialnya di Google). Jika file instalasi berasal dari DVD (.iso),
Setelah itu, ketik perintah berikut
cd DIREKTORI_MATLAB_MU/update/bin/glnx86 sudo chmod 777 * cd DIREKTORI_MATLAB_MU sudo sh installMisal, jika direktori master/installer matlab anda di home/user/matum2k9b
maka ubah direktorinya dengan perintah
cd /home/user/matum2k9b/bin/glnx86 sudo chmod 777 * cd /home/user/matum2k9b sudo sh install
Pastikan juga anda memiliki file lisensi (license file) pada direktori tersebut yang biasanya bernama license.dat
Friday, May 01, 2009
Pengolahan Sinyal Akustik
Ada beberapa cara untuk merekam dan menganalisa sinyal suara dengan software Matlab. Untuk perekaman, bisa melalui daq toolbox (data acquisition), perintah wavrecord serta audiorecorder. Semua teknik tersebut mensyaratkan adanya souncard yang telah terpasang, baik internal maupun eksternal.
Berikut proses perekaman dengan perintah wavrecord:
>> Fs=8000; % deklarasi frekuensi sampling >> y=wavrecord(5.0*Fs,Fs); % merekam suara selama lima detik >> figure(1); >> plot(y); % menggambar bentuk gelombang >> wavwrite(y,Fs,'aiueo.wav') % menyimpan file .wavhasil perintah diatas adalah sebagai berikut:
![]() |
Gb.1 Waveform Sinyal Akustik
|
Gambar diatas adalah plot sinyal suara dalam domain waktu yang biasa disebut waveform. Pada Matlab, amplitudo sinyal akan dibatasi pada range [-1 1] dikarenakan ini adalah sinyal teganan yang dinormalisasi (encoding PCM) dan tidak bersatuan. Sedangkan pada sumbu-x grafik diatas adalah masih dalam sample point (jumlah sample) bukan dalam satuan detik. Untuk menjadikan sumbu-x menjadi detik, maka dapat kita definisikan variabel t sebagai berikut,
t = 1/Fs:1/Fs:length(y)/Fs; plot(t,y)
Simple bukan..? Next analysis....
Analisis
Hampir semua analisa sinyal dilakukan dalam domain waktu dan frekuensi, karena itulah disebut time-frequency analysis. Dalam domain waktu, sinyal digambarkan dengan bentuk waveform dimana sumbu-x menunjukkan time dan sumbu-y menunjukkan besarnya amplitude tiap waktu. Bentuk ini kadang kurang informatif karena kita tidak bisa mengetahui besarnya magnitude tiap waktu. Untuk itu diperlukan sebuah transformasi yang mampu mengubah waveform menjadi spectrum, dimana tiap komponen frekuensi akan terlihat jelas. Nah, Fourier Transform merupakan tranformasi yang dapat melakukan hal ini. Apalagi ditambah dengan adanya FFT atau Fast Fourier Transform, maka waktu komputasi akan menjadi lebih cepat sehingga memudahkan analisa sinyal suara. Output dari FFT berupa spectrum yang menggambarkan grafik frekuensi dengan magnitudo.
Berikut cara mengubah waveform dari sinyal y hasil perekaman menjadi spectrum dengan teknik sekaligus perintah fft:
Subscribe to:
Posts (Atom)












