MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan...

39
MODUL PRAKTIKUM Digital Signal Processing (DSP) ADSP-2181 EXPERIMENTS < Digital Signal Processor > Disusun Oleh : Suyatno Budiharjo Laboratorium DSP Program Studi Telekomunikasi AKADEMI TELEKOMUNIKASI SANDY PUTRA JAKARTA 2006

Transcript of MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan...

Page 1: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

MODUL PRAKTIKUMDigital Signal Processing (DSP)

ADSP­2181 EXPERIMENTS< Digital Signal Processor >

Disusun Oleh :Suyatno Budiharjo

Laboratorium DSPProgram Studi Telekomunikasi

AKADEMI TELEKOMUNIKASI SANDY PUTRAJAKARTA

2006

Page 2: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

KATA PENGANTAR

Alhamdulillah,   segala   puji   bagi   Allah   Azza   Wa   Jalla,   berkat   rahmat­Nya   telah terselesaikan Modul Praktikum Pengolahan Sinyal Digital (DSP) ini, lengkap dengan Software, Hardware dan Buku Panduannya.

Modul   Praktikum   DSP   ini   dirancang,   sedemikian   rupa   sehingga   cukup merepresentasikan   pembahasan   Pengolahan   Sinyal   Digital   dan   secara   konsep, algoritma   dan   implementasinya   menggunakan   program   Software   dan   program dengan Hardware Processor Sinyal Digital atau DSP.

Modul Praktikum DSP ini membahas permasalahan dalam implementasi Pengolahan Sinyal Digital, mulai dari Proses Sampling, Kuantisasi, Penundaan atau  delay, FIR Filtering, IIR Filtering, dan Efek Audio Digital yang dinyatakan dalam 6 (Enam) Modul Praktek. Modul terdiri dari 3 Modul Software yang dibangun dengan MATLAB dan ke depan perlu pengembangan dengan SCILAB dan 3 Modul Hardware dengan kartu ADSP­2181. Meski modul yang tersedia sangat  terbatas,  tetapi diharapkan cukup memadai dan merepresentasikan apa yang sedang dibahas. 

Dan dalam setiap kesempatan selalu dikatakan 'Tiada Gading yang Tak Retak' maka dalam Modul Praktikum DSP ini masih banyak kekurangan, dan sangat diharapkan masukan   dan   saran   yang   dapat   digunakan   untuk   menutupi   kekurangan   dan melengkapi, serta mengembangkan ke arah aplikasi yang lebih komplek. Oleh sebab itu   Modul   Praktikum   DSP   ini   dirancang   dengan   Software   dan   Hardware   yang programmable dalam arti selalu dapat di­update dan di­upgrade sehingga selalu up to date dengan perkembangan teknologi DSP.

Dan   terakhir,   diharapkan   Modul   Praktikum   DSP   yang   kecil   ini   dapat   membantu rekan­rekan mahasiswa untuk mempelajari DSP dan pembaca pada umumnya untuk mengerti bagaimana Dunia Digital dikembangkan.

Bogor, 31 Maret 2006Penyusun

Suyatno Budiharjo

Page 3: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

MODUL 1 SAMPLING KUANTISASI DAN FORMAT DATA DSP

TUJUAN1. Peserta mengerti permasalahan dalam sinyal Analog dan sinyal Digital.2. Peserta memahami konsep Sampling, Rekonstruksi dan Kuantisasi3. Peserta  memahami  permasalahan dalam proses Sampling  dan Kuantisasi 

serta mengerti cara mengatasinya.4. Peserta   mengerti   konsep   Sampling   dan   Kuantisasi   serta   mampu 

mengimplementasikan dengan Perangkat  Lunak maupun Perangkat  Keras DSP.

5. Memahami Format Data dalam DSP.

KONSEP TEORILaboratorium   DSP   mempunyai   dua   komponen   software   dan   hardware.   Di 

dalam   komponen   sotfware,   siswa   diperkenalkan   dengan   sejumlah   eksperimen komputer   yang   ditulis  didalam  bahasa     C   atau  MATLAB,   yang   menggambarkan beberapa konsep dasar dan aplikasi dari pengolahan sinyal digital, seperti kuantisasi dan sampling, pengolahan blok dengan konvolusi, pemfilteran secara waktu nyata berbasis  sampel  demi  sampel,  perbaikan sinyal  dan  filter   reduksi  noise,   realisasi langsung, kanonik dan kaskade dari filter digital, analisis spektral dengan DFT/FFT, dan perancangan filter digital FIR dan IIR.

Bagian   hardware   dari   lab,   menggambarkan   pemrograman   dari   algoritma pengolahan sinyal waktu nyata pada chip DSP secara kongkrit, dengan DSP fixed­point   ADSP­2181.   Eksperimen  hardware   termasuk  didalamnya  efek   aliasing  dan kuantisasi, implementasi buffer sirkular dari   tunda, filter FIR dan IIR, penghapusan interferensi   dengan   filter   notch,   generator   gelombang   sinyal,   dan   beberapa   efek audio digital, seperti filter combo, reverberator, beberapa multi­tap, multi­delay, dan efek delay stereo. 

Diasumsikan siswa telah familiar dengan pemrograman C dan atau MATLAB, Fortran   boleh   digunakan   tetapi   tidak   direkomendasikan.   Kebanyakan   diperlukan routin C dan MATLAB dan siswa dapat memasukkannya bersama didalam program utamanya. 

Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, akan diolah secara  digital,  dengan demikian sinyal  yang dalam  Real  World  atau Dunia Nyata merupakan sinyal analog, perlu dikonversikan ke dalam bentuk Digital. Proses Konversi dari Analog ke Digital memerlukan perangkat atau komponen yang disebut  Analog  to  Digital  Converter  atau ADC. Terdapat  banyak komponen ADC yang disediakan oleh vendor seperti Motorola, Intel, Analog Device, baik ADC 4 bit, 8 bit maupun 16 bit, mulai dari ADC yang tetap maupun ADC yang  programmable. Seperti   dalam  kartu   perangkat   keras  ADSP­2181   menggunakan  komponen   ADC AD1847.

Mengapa Harus Digital ?Pada   awalnya,     semua   sistem   dibuat   dalam   bentuk   analog   dengan   komponen analog,   dan   masukan   sinyal   analog   yang   memang   pada   kenyataannya   bentuk analog itu yang tersedia dari  lingkungan. Namun pada perkembangannya, terdpat 

Page 4: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

sejumlah permasalahan ketika sistem analog digunakan, seperti  component aging,  pengaruh suhu, karena menggunakan power yang cukup besar, sehingga komponen lebih mudah panas, dan ketika sistem membutuhkan hal yang lebih komplek, dan lebih cepat, komponen analog tidak mampu menyelesaikan permasalahan ini, dan disisi   lain   terdapat   sejumlah   penemuan   baru   dengan   perangkat   digital   yang menjanjikan solusi terhadap permasalahan tersebut, komsumsi daya kecil, sehingga komponen tidak cepat panas, dapat diprogram, sehingga lebih flesibel dalam banyak hal. Sehingga tidak ada alasan untuk tidak menggunakan perangkat digital. Dengan flesibilitas yang tinggi,  karena  programmable  maka perkembangan algoritma DSP menjadi sangat pesat dengan kompleksitas yang tinggi. 

Sistem AnalogKelebihan Bandwidth lebar, Resolusi tinggi, Mudah dirancangKekurangan Umur komponen

Drift Temperatur Perancangan hardwareCocok untuk perancangan yang simpel

Sistem DigitalKelebihan Solusi terprogram, tidak sensitif lingkungan, perilaku yang presisi, 

implementasi  untuk algoritma yang komplek,  dapat  ditambahkan fungsi lain, konsumsi daya rendah, 

Kekurangan Menimbulkan sejumlah problem numerik,  memerlukan processor performansi tinggi, sulit dirancang

Apakah anda memperhatikan, bagaimana berbagai hal menjadi digital saat ini? Filter digital, modem digital, transciever digital dan masih banyak lagi yang lain dan untuk alasan   yang   baik.   Representasi   digital   dari   sinyal   dibanding   analog   mempunyai beberapa keuntungan :

✔ komponen lebih sedikit✔ stabil, perfomansi deteministik✔ cakupan aplikasi yang luas✔ tanpa adjustment filter✔ Filter dengan toleransi yang cukup kecil✔ Filter adaptif lebih mudah diimplementasikan.

Menjalankan Program CSoftware  lab mungkin  terdapat didalam beberapa komputer yang  tersedia. 

Fasilitas  komputer   yang  ada  diset   secara  default  dengan  Unix­based  X­terminal. Account komputer akan diberikan pada permulaan perkuliahan atau dapat diperoleh dengan menghubungi system administrator dari lab. dsp.

Bahasa pemrograman C dapat dikompile menggunakan Unix C Compiler cc Standar atau GNU C Compiler gcc. Keduanya mempunyai sintak yang sama.  Ini direkomendasikan bahwa program C disusun dalam mode modular, linking module terpisah secara bersamaan pada waktu kompilasi.

Sebagai   contoh   dari   penggunaan   gcc,   perhatikan   program   utama   berikut sines.c yang membangkitkan dua sinosoidal yang diberi noise dan menyimpannya (dalam format ASCII) ke dalam file data y1.dat dan y2.dat:/* sines.c - noisy sinusoids */#include <stdio.h>#include <math.h>

Page 5: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

#define L 100#define f1 0.05#define f2 0.03#define A1 5#define A2 A1double gran(); /* gaussian random number generator */void main(){int n;long iseed=2001; /* gran requires iseed to be long int */double y1, y2, mean = 0.0, sigma = 1.0, pi = 4 * atan(1.0);FILE *fp1, *fp2;fp1 = fopen("y1.dat", "w"); /* open file y1.dat for write */fp2 = fopen("y2.dat", "w"); /* open file y2.dat for write */for (n=0; n<L; n++) { /* iseed is passed by address */y1 = A1 * cos(2 * pi * f1 * n) + gran(mean, sigma, &iseed);y2 = A2 * cos(2 * pi * f2 * n) + gran(mean, sigma, &iseed);fprintf(fp1, "%12.6f\n", y1);fprintf(fp2, "%12.6f\n", y2);}fclose(fp1);fclose(fp2);}

Noise dibangkitkan dengan memanggil routin pembangkit bilangan random gaussian, gauss, yang didefinisikan didalam modul terpisah gran.c berikut :/* gran.c - gaussian random number generator */double ran(); /* uniform generator */double gran(mean, sigma, iseed)/* x=gran(mean,sigma,&iseed) */double mean, sigma; /* mean, variance = sigma^2 */long *iseed; /* iseed passed by reference */{double u = 0;int i;for (i = 0; i < 12; i++) /* add 12 uniform random numbers */u += ran(iseed);return sigma * (u - 6) + mean; /* adjust mean and variance */}

Didalamnya,   routin   gran   memanggil   sebuah   routin   pembangkit   bilangan   random uniform, yang didefinisikan didalam file ran.c berikut :

/* ran.c - uniform random number generator in [0, 1) */#define a 16807 /* a = 7^5 */#define m 2147483647 /* m = 2^31 - 1 */#define q 127773 /* q = m / a = quotient */#define r 2836 /* r = m % a = remainder */double ran(iseed) /* usage: u = ran(&iseed); */long *iseed; /* iseed passed by address */{*iseed = a * (*iseed % q) - r * (*iseed / q); /* update seed */if (*iseed < 0) /* wrap to positive values */*iseed += m;return (double) *iseed / (double) m;

Page 6: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

}

Ketiga program diatas, dapat dikompile dan dilink kedalam file yang dapat dieksekusi dengan memanggil baris perintah dari gcc berikut : gcc sines.c gran.c ran.c –o sines –lm (Versi Unix dari gcc)gcc sines.c gran.c ran.c –o sines.exe –lm(Versi Dos dari gcc)

Pilihan baris  perintah –lm untuk menghubungkan dengan math  library  dan harus selalu diletakkan di akhir baris. Pilihan –o membuat file sines yang dapat dieksekusi (atau, sines.exe untuk MS­DOS). Jika pilihan ini dihilangkan, maka nama file yang dapat dieksekusi adalah a.out (atau a.exe) secara  default.Pilihan yang bermanfaat lainnya adalah pilihan pesan peringatan –Wall :

gcc –Wall sines.c gran.c ran.c –o sines –lm

Jika baris perintah tersebut terlalu panjang dan cenderung untuk mengetik berulang­ulang, Anda dapat menggunakan apa yang disebut dengan file respon, yang dapat berisi semua atau beberapa argumen baris perintah. Sebagai contoh, diberikan file argfile yang berisi baris­baris berikut :-Wallsines.cgran.cran.c-o sines-lm

Kemudian,  perintah berikut  akan mempunyai  efek yang sama sebagaimana cara sebelumnya, dimana nama dari file respon harus didahului dengan karakter tanda @ :gcc @argfile

Untuk hanya mengkompilasi, tanpa linking dan membuat file yang dapat dieksekusi, kita dapat menggunakan pilihan baris perintah –c:

gcc –c sines.c gran.c ran.c

Ini akan membuat modul kode obyek *.o, yang dapat secara berderet dihubungkan ke dalam file yang dapat eksekusi sebagai berikut :

gcc –o sines.o gran.o ran.o –lm

Menggunakan MATLABPenggunaan routin DSP built­in MATLAB, seperti filter, conv, fft tidak diijinkan dalam eksperimen   lab.Bagaimanapun,   MATLAB   boleh   digunakan   sebagai   bahasa pemrograman yang mana siswa dapat memprogram versinya sendiri dari berbagai algoritma DSP.

Plotting   dari   data   dibuat   dengan   program   C   atau   MATLAB   dapat   dilakukan menggunakan   fasilitas   plotting   yang   ada   di   MATLAB.   Disini,   kita   menyajikan beberapa contoh untuk menunjukkan bagaimana mengambil dan menggambarkan ydata   dari   file   data,   menyesuaikan   range   sumbu,   menambahkan   label,   judul, legenda,  dan mengubah default   font,  menambahkan beberapa kurva pada grafik yang sama, dan bagaimana membuat subplot.

Page 7: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

Sebagai contoh, bahwa anda ingin menggambarkan data sinusoidal ternoisy dalam file   data   y1.dat   dan   y2.dat   yang   dibuat   dengan   menjalankan   program   C   sines. Potongan kode MATLAB berikut akan mengambil dan menampilkan data file :load y1.dat; % load data into vector y1load y2.dat; % load data into vector y2plot(y1); % plot y1hold on; % add next plotplot(y2, ’r--’); % plot y2 in red dashed styleaxis([0, 100, -10, 10]); % redefine axes limitsset(gca, ’ytick’, -10:5:10); % redefine ytickslegend(’y1.dat’, ’y2.dat’); % add legendsxlabel(’time samples’); % add labels and titleylabel(’amplitude’);title(’Noisy Sinusoids’);

Hasil   dari   plot   ditunjukkan   sebagai   berikut.   Catat   bahwa   perintah   load   y1.dat melepaskan bagian ekstensi (*.dat) dari nama file   dan menyatakan data ke dalam vektor yaitu y1.

Perintah  hold   on  membiarkan   plot   yang   pertama   dan   menambahkan   plot   yang kedua.  Perintah axis menaikkan cakupan sumbu –y dengan maksud memberikan ruang untuk legenda. Legenda, label dan judul menggunakan default font dan ukuran font (Helvetica, size 10 untuk versi Windows).

Cara yang lebih fleksibel dan terformat dari pembacaan dan penulisan data dari atau ke dalam file data adalah dengan pengertian dari perintah  fscanf  dan  fprintf, yang terkait   dengan  fopen  dan  fclose.   Fungsi   ini   mempunyai   kesamaan   penggunaan sebagaimana didalam C. Lihat ref.[3] untuk lebih jelasnya.

Contoh berikutnya adalah mirip dengan apa yang dibutuhkan didalam Lab­1. Contoh kode  dibawah  ini  membangkitkan  2  sinyal   x(t)   dan  y(t)   dan  menggambarkannya terhadap fungsi  waktu  t.   Ini   juga membangkitkan sampel  waktu y(tn) pada waktu sesaat tn=nT. Ketiga sinyal x(t), y(t), dan y(tn) tercakup dalam interval waktu total yang sama [0,tmax], tetapi dinyataka oleh array yang berbeda dimensi x(t) dan y(t) 

Page 8: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

mempunyai  panjang 101,  sedangkan y(tn)  mempunya panjang 11).  Ketiga sinyal dapat diletakkan pada grafik yang sama seperti berikut :tmax = 1; % max time intervalNmax = 100; % number of time instantsDt = tmax/Nmax; % continuous-time incrementT = 0.1; % sampling time intervalt = 0:Dt:tmax; % continuous tx = sin(4*pi*t) + sin(16*pi*t) + 0.5 * sin(24*pi*t); % signal x(t)y = 0.5 * sin(4*pi*t); % signal y(t)tn = 0:T:tmax; % sampled version of tyn = 0.5 * sin(4*pi*tn); % sampled version of y(t)plot(t, x, t, y, ’--’, tn, yn, ’o’); % plot x(t), y(t), y(tn)axis([0, 1, -2, 2]) % redefine axis limitsset(gca, ’xtick’, 0:0.1:1); % redefine x-tick locationsset(gca, ’ytick’, -2:1:2); % redefine y-tick locationsset(gca, ’fontname’, ’times’); % Times fontset(gca, ’fontsize’, 16); % 16-point font sizegrid; % default gridxlabel(’t (sec)’);ylabel(’amplitude’);title(’x(t), y(t), y(tn)’);axes(legend(’original’, ’aliased’, ’sampled’)); % legend over grid

Gambar berikut  menampilkan hasil  dari  program diatas.  Catatan bahwa sumbu x telah didefinisikan kembali agar sesuai dengan waktu sesaat tersampling tn=nT.

Perintah 'o' menampilkan sinyal tersampling y(tn) sebagai deretan lingkaran. Tanpa 'o' perintah plot akan terinterpolasi secara linier antara 11 titik dari y(tn).

Huruf telah diubah ke Times­Roman, ukuran 16, dengan maksud membuat tulisan lebih tampak ketika grafik diperkecil untuk dimasukkan dalam manual ini. Perintah axes   membuat   set   yang   baru   dari   sumbu   yang   berisi   legenda   dan menggabungkannya dengan grid awal (jika tidak, grid akan tampak melewati kotak legenda). 

Page 9: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

Segmen   program   selanjutnya   menampilkan   penggunaan   perintah  subplot,   yang sangat bermanfaat untuk penyusunan beberapa grafik pada satu halaman. Ini juga mengilustrasikan   perintah  stem,   yang   berguna   untuk   menampilkan   sinyal tersampling.subplot(2, 2, 1); % upper left subplotplot(t, x, t, y, ’--’, tn, yn, ’o’); % plot x(t), y(t), y(tn)xlabel(’t (sec)’);ylabel(’amplitude’);title(’x(t), y(t), y(tn)’);subplot(2, 2, 2); % upper right subplotplot(t, y); % plot y(t)hold on; % add next plotstem(tn, yn); % stem plot of y(tn)axis([0, 1, -0.75, 0.75]); % redefine axis limitsxlabel(’t (sec)’);ylabel(’y(t), y(tn)’);title(’stem plot’);

Grafik yang dihasilkan ditunjukkan dibawah ini. Catatan bahwa pola subplot 2 x 2 digunakan untuk menampilkan 1 x  2,  dengan maksud untuk mendapatkan aspek rasio yang lebih alami.

1.1 SAMPLINGTujuan dari laboratorium ini untuk mendemonstrasikan efek peningkatan aliasing dari sampling   yang   tidak   tepat.   Laboratorium   ini   lebih   baik   dikerjakan   dengan pemograman MATLAB daripada pemrograman C.

Diberikan sinyal analog x(t) yang disampling pada laju  f s , menghasilkan sampel x(nT) yang kemudian direkonstruksi oleh  reconstructor  ideal k dalam sinyal analog xat .  Pemilihan  yang   tidak   tepat  dari   f s akan  menghasilkan  dalam sinyal 

yang berbeda   xat ≠x t ,  meskipun mreka memenuhi  nilai  sampelnya,  yaitu xanT=xnT . Prosedur ini dapat diilustrasikan dalam gambar berikut :

Page 10: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

Prosedur Laboratorium :a.   Diberikan   sinyal   analog   x(t)   terdiri   dari   tiga   sinusoidal   dengan   frekuensi, f 1=1kHz ,  f 2=4kHz dan  f 3=6kHz :

x t =2sin2 f1 t 2sin2 f2 tsin 2 f3 t dimana   t   dalam   milidetik.   Tunjukkan   bahwa   jika   sinyal   ini   disampling   pada   laju f s=5kHz , ini akan terjadi aliasing dngan sinyal berikut, dalam pengertian bahwa 

nilai sampelnya akan sama dengan  :xat =sin 2 f1 t

Pada grafik yang sama, plot  dua sinyal  x(t)  dan xat versus  t  dalam cakupan 0t2 mdetik. Untuk tujuan grafik, anda dapat mengevaluasi sinyal pada L = 

200 yang sama dengan  waktu  sesaat  dalam  interval   tersebut,   yaitu   t=2i/L , dimana i=0,1,...,L­1. Gunakan divisi x­grid 10 dengan tujuan untuk menunjukkan nilai tersampling yang terjadi pada interval dari interval sampling  T=1/f s=0.2 mdetik. Buktikan bahwa dua sinyal mempunyai nilai sampel yang sama. 

b. Ulangi bagian (a) dengan  f s=10kHz . Dalam kasus ini, tunjukkan bahwa x(t) bertumpang tindih dengan sinyal :

xat =2sin2 f1 t sin 2 f2 t

Plot keduanya x(t) dan  xat pada grafik yang sama melalui cakupan  0t2mdetik. Tetapi gunakan divisi x­grid 20 untuk menunjukkan nilai  tersampling yang terjadi  interval dari T = 0.1 mdetik. Buktikan bahwa dua sinyal berpotongan pada sampling sesaat.

Catatan untuk  melakukan  langkah diatas,  gunakan program MATLAB yang  telah tersedia, yaitu :

i. Jalankan   program   MATLAB,   sehingga   anda   akan   mendapati   tampilan sebagai berikut :

Page 11: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

ii. ketikkan   baris   perintah   pada   MATLAB   prompt   sebagai   berikut   untuk mengubah current directory (cd) :>> cd c:\ezkit_r12_b05  ↵

Langkah ini akan menghasilkan tampilan sebagai berikut :

iii. ketik nama program dalam hal ini allaboutdsp.m pada MATLAB prompt  untuk menjalankan modul praktikum :>> allaboutdsp ↵ Langkah ini akan menghasilkan tampilan sebagai berikut :

iv. Untuk   pembahasan   tentang   sampling,   sorot   Menu   Modul   ­­>   Modul   1   : Sampling  Kuantisasi   ­­>  Sampling,  kemudian  masukkan  parameter  sesuai dengan langkah (a) dan (b).

Page 12: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

1.2 KUANTISASI

Tujuan  dari   laboratorium  ini  adalah  untuk  mempelajari  proses  kuantisasi   dengan mensimulasikasi operasi conversi A/D and D/A menggunakan rutin adc dan dac yang didiskusikan dalam bab kuantisasi. Sinyal sinusiodal tersampling dibangkitkan dan kemudian   dikuantisasikan   menggunakan   ADC   dengan   pendekatan   succesive komplemen 2 dengan pembulatan. Sebagai tambahan nilai rata­rata dan kuadrat rata secara teoritis dari error kuantisasi :

e=0 ,   e2=Q2

12akan diuji dengan pembangkitan sampel statistik dari error kuantisasi dan komputasi rata­rata   sampel   yang   berhubungan.   Ini   juga   akan   memberikan   ksmpatan   untuk bekerja dengan pembangkit bilangan random.

Laboratorium  ini   terbaik  dikerjakan dalam MATLAB. Kebutuhan  fungsi  dac.m dan adc.m juga bagian dari suplemen M­file.

Prosedur Laboratoriuma.   Bangkitkan   L   =   50   sampel   dari   sinyal   sinusiodal   x n =Acos2 f n , n=0,1,..,L­1 dari frekuensi f = 0.02 [siklus/sampel] dan amplituda A =8. Penggunaan konverter  A/D pendekatan successive komplemen 2 bipolar  3­bit   (B = 3),  seperti diimplementasikan oleh rutin adc, dngan cakupan skala penuh R = 32, kuantisasikan x(n) dan notasikan sinyal terkuantisasi oleh  xQn . Ini dapat dikerjakan sebagai berikut :untuk   setiap   x(n),   pertama   memanggil   adc   untuk   membangkitkan   vektor   bit komplemen 2 yang berhubungan,   b=[b1,b2,. .. ,bB] dan masukkan ini ke dalam dac untuk membangkitkan nilai terkuantisasi yang berhubungan,  xQn .

Untuk n = 0,1,.., L – 1, cetak dalam 3 kolom paralel nilai analog yang benar, x(n), nilai   terkuantisasi   analog   xQn ,   dan   berkorespondensi   dengan   vektor   bit komplemen 2, b.

Pada grafik yang sama, plot dua sinyal x(n) dan  xQn pada sumbu n. Skalakan skala   vertikal   dari   [­16,16]   dan  gunakan  garis   y­grid  8  untuk   menunjukkan   level kuantisasi 8.

b. Ulangi bagian (a) menggunakan konverter A/D B = 4 bit. Dalam ploting x(n) dan xQn  menggunakan skala vertikal yang sama seperti diatas, yaitu dari [­16,16], 

tetapi menggunakan garis y­grid 16 untuk menunjukkan level kuantisasi 16. 

c. Apa yang terjadi ketika sinyal analog yang dikuantisasikan mempunyai amplituda yang melebihi cakupan skala penuh dari Quantizer? Kebanyakan konverter D/A akan saturasi pada level terbesar (positif atau negatif). Untuk melihat hal ini, ulangi part (b) dengan pengambilan nilai amplituda dari sinusiodal menjadi A = 20.

d. Akhirnya, kita akan mengetes nilai secara teoritis yang diberikan oleh persamaan (1.1)

Catatan :

Page 13: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

Gunakan   program   DSP   yang   tersedia   seperti   langkah   iii.   Kemudian   dilanjutkan dengan menyorot menu Modul  ­­> Modul  1  :  Sampling Kuantisasi   ­­> Kuantisasi. Kemudian masukkan parameter kuantisasi.

1.3 FORMAT DATA DSP

Sebelum mengolah data nilai riil, kebanyakan chip DSP fixed­point harus menskala data   ke   integer   yang   kmudian   direpresentasikan   dalam   format   biner   atau heksadesimal.   Sebagai   contoh,   chip   Analog   Device   keluarga   ADSP­21xx   16­bit menggunakan   yang   disebut   dengan   format   1.15   fixed­point     untuk merepresentasikan nilai riil. Kebanyakan inkarnasi dari chip ini, ADSP­2181, adalah salah satu dari yang tercepat. Jika tidak tercepat, fixed point DSP, dengan waktu instruksi 30 nsec.

Format 1.15 secara esensial adalah format integer 16­bit komplemen 2 terskala yang bit pertamanya sebagai bit tanda, dan 15 bit sisanya menyatakan bagian pecahan dari bilangan.

Untuk  memahami   format   ini,   kita  mulai   dengan   representasi   komplemen  2   yang diberikan oleh persamaan (2.35) dari referensi, dengan cakupan skala penuh R=1 dan B =16 :

x= b12−1b22

−2b22−3...b162

−16−0.5

LSB adalah  Q=2−16 dan cakupan bilangan x adalah [­0.5,0.5):−0.5x0.5−2−16

Kita sebut ini sebagai format fixed­point 0.16. Penggantian  b1=1−b1 kita dapat menuliskan kembali ekspresi diatas dalam bentuk yang konvensional :

x=−b12−1b22

−2b22−3...b162

−16 (format 0.16)

Jika kita skala bilangan ini ke atas dengan faktor 2, kita akan peroleh format 1.15 :x=2 −b12

−1b22−2b22

−3...b162−16 (format 1.15)

Sekarang LSB adalah  Q=2−15 , R=2 dan cakupan dari x adalah [­1,1):−1x1−2−15

Secara umum, kita dapat mendefinisikan format 16­bit a.b dengan penskalaan ke atas format 0.16 dengan faktor dari  2a dimana a+b = 16 :

x=2a−b12−1b22

−2b22−3...b162

−16 (format a.b)

dimana a dapat diambil nilai a=0,1,...16. LSB sekarang adalah  Q=2a−16=2b dan R=2a . Cakupan dari x adalah [ −2a−1 ,2a−1 ):

−2a−1x2a−1 −2−16

Untuk a = 16, yaitu format 16.0, bilangan x adalah integer 16­bit komplemen 2, dan untuk nilai a yang lainnya, mereka adalah versi skala ke bawah dari integer. Bilangan x direpresentasikan oleh persamaan (1.5) adalah secara unik dicirikan oleh 16 bit

Page 14: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

b=[b1,b2,. .b16] yang   kemudian   dapat   direpresentasikan   oleh   4   digit   4­bit heksadesimal, katakanlah  h=[h1,h2,h3,h4] Integer direpresentasikan oleh 16 bit bi   dan   4   digit   heksadesimal   hi   adalah   sama.   Jadi,   jika   diberikan   format   yang diharapkan a.b, bilangan riil dari x dapat secara unik digabungkan dengan integer :

x   b1,b2,. .b162=h1,h2,h3,h416

Bilangan   riil   x  dalam cakupan   [ −2a−1 ,2a−1 )   tidak  akan  secara   tepat  dapat direpresentasikan   dalam   bentuk   dari   persamaan   (1.5).   Ini   harus   dibulatkan   ke bilangan   terdekat   yang   dapat   direpresentasikan.   Ini   dapat   dilakukan   dengan penggeseran x dengan setengah  level  spasi,  yaitu   Q/2=2−b/2 dan kemudian dilakukan pemotongan pada level yang lebih rendah. Sebagai contoh, dua bilangan ±0.995 dalam   format   1.15   dan   dua   bilangan   ±2.995 dalam   format   3.13, 

akan diasosiasikan dengan bilangan heksadesimal :

+0.995  7F5C = +0.9949951171875,  +2.995  5FD7 =+2.9949951171875

­0.995  80A4 = +0.9949951171875, ­2.995  A029 =+2.9949951171875

Catatan bahwa 80A4 dan A029 adalah komplemen 2 dari 7F5C dan 5FD7. Beberapa informasi lebih lanjut pada format ini terdapat dalam sub bab 2.2 dari manual ADSP­2181 Experiments”.

Prosedur Laboratoriuma. Tulis sebuah program Matlab yang mengambil masukan vektor kolomm bilangan riil  x  dalam cakupan [ −2a−1 ,2a−1 ),  konversikan masing­masing bilangan ke dalam   representasi   heksadesimal   h1,h2,h3,h4 menurut   format   a.b   (gunakan pembulatan) dan keluarkan mereka dalam susunan atau array keluaran.

Konstruksi  dari   sebuah program dapat  dikerjakan menurut  baris  berikut,  pertama perlu dicatat bahwa representasi 16­bit dari setiap x yang diberikan dapat diperoleh dengan bantuan fungsi adc :

bits = adc(x,B,R), dimana B = 16 dan R =  2a

Bit   mungkin   akan   dikelompokkan   dalam   4   bit   yang   mendefinisikan   isi   dari   digit heksadesimal :

bits=[b1,b2,b3,b4h1

, b5,b6,b7,b8h2

,b9,b10,b11,b12h3

,b13,b14,b15,b16h4

]

kemudian anda akan menghitung digit heksadesimal yang direpresentasikan oleh 4 bit   dan  mengkonversikannya  ke  heksadesimal  menggunakan   fungsi  yang  ada  di MATLAB dec2hex, sebagai contoh :

h 1=dec2hex23b122b22

1b320b4

Catatan :Jalankan   program   MATLAB   yang   tersedia   seperti   langkah­langkah   sebelumnya, kemudian sorot menu Modul ­­> Modul 1 : Sampling Kuantisasi ­­> Format Data DSP

Page 15: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

ANALISA1. Lakukan   analisa   terhadap   data   yang   diperoleh   setiap   langkah   prosedur 

laboratorium diatas.2. Sertakan data berupa grafik, angka yang berasal dari hasil program.3. Sesuaikan analisa anda dengan konsep yang sedang dibahas.

Page 16: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

MODUL 2 KONVOLUSI DAN FIR FILTERING

TUJUAN1. Peserta memahami arti filosofi dari Konvolusi, serta implementasinya dalam 

dunia nyata.2. Peserta mengerti proses filtering dan mampu membuat filter Digital FIR.3. Peserta   memahami   permasalahan   dalam   pembuatan   filter   Digital   dan 

mengetahui perangkat atau komponen yang digunakan untuk membuat filter digital.  

KONSEP TEORIKonvolusi adalah penggabungan dua sinyal untuk membentuk sebuah sinyal ketiga secara matematis1. Ini adalah teknik yang paling penting didalam Pengolahan Sinyal Digital. Dengan strategi dari dekomposisi impulse, sistem yang dideskripsikan oleh sebuah   sinyal   disebut  impulse   response.   Konvolusi   menjadi   penting,   karena   ini berhubungan dengan tiga sinyal terkait : sinyal masukan, sinyal keluaran dan respon pulsa. 

Sebuah sinyal dapat didekomposisi ke dalam kumpulan dari komponen yang disebut impulse,  dimana sebuah sinyal disusun dari  kumpulan nol,  kecuali  satu  titik yang tidak  nol.  Dan   ini  mengakibatkan,  dekomposisi  impulse  menyediakan  cara  untuk menganalisa sinyal satu sampel pada satu waktu. Gambar berikut mendefinisikan dua istilah yang penting yang digunakan dalam DSP. Pertama, fungsi delta, yang disimbolkan oleh huruf Yunani dengan huruf delta,  (n). Fungsi delta adalah pulsa ternormalisasi, dimana sampel bernilai satu pada titik nol, dan bernilai nol pada titik yang   lainnya.   Istilah   kedua   adalah  impulse   response.  Sesuai   dengan   namanya, respon   impulse   adalah   sinyal   yang   keluar   dari   sistem   ketika   sistem   diberikan masukan fungsi delta atau sinyal impulse. Jika dua sistem berbeda dalam berbagai hal,  maka mereka akan mempunyai respon impuls yang berbeda pula. Biasanya, sinyal   masukan   dan   keluaran   sering   dinotasikan   dengan   x(n)   dan   y(n)   secara berurutan,   dan   respon   impuls   biasanya   diberikan   simbol,   h(n).   Tentu,   ini   dapat diubah, jika tersedia pendefinisian lebih lanjut, sebagai contoh f(n) bisa digunakan unruk mengidentifikasikan respon impuls dari sebuah filter.

Konvolusi Berikut cara singkat untuk memahami, bagaimana sebuah sistem mengubah sinyal masukan   ke   dalam   sinyal   keluaran.   Pertama,   sinyal   masukan   dapat disekomposisikan   kedalam   set   dari   impuls,   masing­masing   dapat   ditampilkan sebagai   bentuk   terskala   dan   tergeser   dari   fungsi   delta.   Kedua,   keluaran   yang dihasilkan dari setiap impuls adalah versi terskala dan tergeser dari respon impuls. Ketiga,   keluaran   sinyal   secara   keseluruhan,   dapat   diperoleh   dari   penjumlahan respon impuls terskala dan tergeser. Dengan kata lain, jika kita mengetahui respon impuls sistem, maka kita dapat menghitung keluaran apa yang akan diperoleh untuk berbagai sinyal masukan yang mungkin.

1 Ch. 6 Convolution, Steven W Smith

Page 17: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

Gambar fungsi delta dan respon impuls

Berikut  adalah  ilustrasi  yang menyatakan hubungan antara sinyal  masukan,  x(n), respon impuls sistem, h(n) dan sinyal keluaran sistem, y(n). 

Gambar hubungan sinyal x(n), h(n) dan y(n)

Sedangkan respon impuls dapat diperoleh dengan hubungan seperti gambar berikut : 

Secara matematis, konvolusi dapat dirumuskan sebagai persamaan berikut :y n=∑h i .xn−i

Tergantung pada aplikasi  dan hardware,  sebuah operasi  pemfilteran digital  dapat disusun   untuk   beroperasi   berbasis   blok   atau   sapel   per   sampel.   Dalam   kasus pengolahan blok,  sinyal  masukkan dipertimbangkan sebagai  satu  blok  besar  sari sampel sinyal. Blok difilter dengan mengkonvolusikan sinyal dengan filter, yang akan membangkitkan sinyal keluaran sebagai blok besar yang lainnya. 

Jika  sinyal  masukkan  mempunyai  durasi   yang  sangat  panjang  atau   tak   terbatas (infinite),   maka   metode   ini   memerlukan   modifikasi,   sebagai   contoh   pecah   sinyal masukkan kedalam blok kecil yang lebih banyak.

Sebagai   alternatif   yang   lain,   menggunakan   pendekatan   untuk   mengatur   atau mengolah berbasis sampel­per sampel, seperti bahwa kapanpun sampel masukkan tiba,   ini   akan   menghasilkan   sinyal   terfilter   yang   berhubungan   dengan   sampel keluaran.  Pendekatan  ini   sangat  bermanfaat  dalam aplikasi  waktu  nyata  meliputi 

Page 18: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

masukan sinyal yang panjang. Ini juga bermanfaat dalam aplikasi pemfilteran adaptif dimana   filter   sendiri   berubah  setelah  setiap   operasi   pemfilteran   dilakukan.  Lebih lanjut, hal ini secaa efisien dapat diimplementaskan dengan processor DSP, seperti Texas Instrument, Motorola, Analog Device aatau Bell Labs DSP.

Prosedur Laboratorium

Modul ini membuat penggunaan dari rutin conv dan fir untuk membentuk pemfilteran digital. a.   Konvolusi   :   Diberikan   sebuah   integrator   seperti   filter   yang   didefinisikan   oleh persamaan I/O :y n=0.1[x nxn−1xn−2...x n−14]

Seperti sebuah filter mengakumulasikan (mengintegrasi) 14 sampel saat ini dan yang lalu   dari   sinyal   masukan.   Faktor   0.1   menyatakan   hanya   faktor   skala   untuk eksperimen ini. Berikut ini adalah respon impuls dari filtrer akan menjadi :

Untuk   mengobservasi   respons   steady   state   dari   filter   ini,   dipertimbangkan   sinya masukan gelobang segi empat dengan L =200 dan periode  K =50 sampel. Sebuah sinyal dapat didefinisikan dengan loop for sendiri :for (n=0; n<L, n++)

if (N%K < K/2) /* n%K adalah operasi MODx[n]=1;

elsex[n]= 0;

Dengan menggunakan rutin conv, hitung sinyal keluaran  yn n dan gambar sinyal itu pada gafik yang sama dengan  xn

b. Ulangi langkah (a) untuk filter :

Filter ini lebih mirip integrator tipe RC daripada akumulator.

c. Ulangi langkah (a) untuk filter dengan fungsi transfer :

d. Pengolahan sampel per sampel. Ulangi langkaj (b) menggunakan rutin fir. Apakah keluaran sinya y(n) yang dihitung disini dan dalam (b) identik untuk semua n?

e. Pemfilterang FIR dengan pengalamatan sirkular. Ulangi langkah (d) menngunakan rutin sirkular buffer cfir.

Page 19: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

f. untuk menunjukkan konsep respon impuls, linieritas, dan tak ubah terhadap waktu, diberikan filter dengan respon impuls terbatas,  hn=0.95n untuk  0n24 , sinyal masukan :

ANALISA1. Lakukan   analisa   terhadap   data   yang   diperoleh   setiap   langkah   prosedur 

laboratorium diatas.2. Sertakan data berupa grafik, angka yang berasal dari hasil program.3. Sesuaikan analisa anda dengan konsep yang sedang dibahas.

Page 20: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

MODUL 3 IIR FILTERING

TUJUAN1. Peserta mampu merancang dan mengimplementasikan filter IIR2. Peserta memahami karakteristik filter IIR3. Peserta dapat menggunakan filter IIR untuk aplikasi reduksi noise 4. Peserta mengerti konsep perbaikan sinyal dengan filtering

KONSEP TEORIBagian pertama dari modul ini mengilustrasikan melalui contoh filter IIR sederhana, prinsip   dari   perbaikan   sinyal   dan   reduksi   noise.   Bagian   kedua   mengilustrasikan perbedaan antara respon steady state dan transien dan  trade off  antara konstanta waktu dan ketajaman dari spesifikasi filter. Keduanya akan memberikan kesempatan untuk memprogram algoritma pengolahan sampel dari filter IIR menggunakan linier dan sirkular.

Perbaikan Sinyal dan Reduksi NoiseDiberikan  sinyal  sinusoidal  dengan   frekuensi   f o = 500  Hz pada sampling   rate f s = 10 kHz :

x n =cos0nv n

dimana :  0=2 f0/f s adalah frekuensi digital dan v(n) sebagai noise.

Ini   diharapkan   untuk   merancang   filter   H untuk   mengekstraksi   sinyal   yang diharapkan  sn =cos 0n dari sinyal terkena noise yang tersedia x(n).  Seperti halnya sebuah filter harus mempunyai dua properti, pertama, ini harus membuang komponen noise v(n) sebanyak mungkin, dan kedua, harus membiarkan sinyal yang dirapkan s(n) lolos tanpa perubahan, kecuali mungkin waktu tunda. 

Kedua   kebutuhan   ini,   dipenuhi   oleh   perancangan   filter   bandpass   yang   memiliki passband yang bersesuaian dengan passband sinyal yang diharapkan. Sedangkan komponen  noise  biasanya  merupakan  sinyal  noise  gaussian  yang  memiliki  daya tersebar ke semua komponen frekuensi yang ada. Setelah pemfilteran, semua daya noise akan direduksi karena hanya daya yang dberada dalam passband dari filter yang akan bertahan selama proses pemfilteran.

Dalam contoh kita, passband dari sinyal yang diharapkan hanya frekuensi   0 . Kemudian kita  harus  merancang  filter   lolos   frekuensi   tengah  dengan pusat  pada 0 dengan gain = 1 pada frekuensi tersebut, yaitu   ∣H0∣=1 . Pilihan yang 

mungkin dan paling sederhana untuk filter seperti  ini adalah filter 2 pole resonator dengan   pole   pada   Re± j0 dimana   R  harus  dipilih   menjadi   0  <  R   <  1   untuk kestabilan. Fungsi transfer akan menjadi bentuk :

Hz= G1−Re j0z−11−Re− j0

= G1a1z

−1a2z−2

dimana  a1=−2Rcos0 dan  a2=R2 . Gain G adalah tetap, sehingga untuk 

menjamin  ∣H0∣=1 . Ini memberikan ekspresi untuk G sebagai berikut :

Page 21: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

G=1−R 1−2R cos20R21/2

Dalam domain waktu, filter dijelaskan dengan persamaan perbedaan :y n=−a1 y n−1−a2y n−2Gx n

Respon impuls dari filter dapat ditunjukkan :

h n= Gsin 0

Rnsin 0n0 , n = 0,1,2,..

Akhirnya, respon magnituda kuadrat dapat ditunjukkan oleh :

∣H∣2= G2

[1−2Rcos−0R2] [1−2Rcos¿R

2]

Diagram   blok   implementasi   persamaan   perbedaan   dan   fungsi   transfer   diatas ditunjukkan oleh :

Cara   terbaik   untuk   memprogram   persamaan   perbedaan   diatas   melalui   algoritma pengolahan sampel. Untuk menurunkan hal ini, didefinisikan sinyal keluaran tertunda berikut :w1 n=y n−1 ,  w2 n=y n−2

Maka persamaan perbedaan diatas dibaca :y n=−a1w1 n−a2w2nGx n

Sekali y(n) dihitung, nilai dari  w1 n dan  w2 n mungkin diupdate pada waktu sesaat berikutnya oleh :

w2 n1=w1n

w1 n1=y n

Ini   secara   mudah   diturunkan   dari   definisinya,   yaitu   : w2 n1=y n1−2=y n−1=w1n dan w1 n1=y n1−1=y n .   Algoritma   komputasi   secara   mudah   sebagai 

berikut :

Page 22: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

Untuk setiap sampel masukan x kerjakan :y=−a1w1−a2w2Gxw2=w1

w1=y

Prosedur LaboratoriumPertama, buktikan persamaan (3.3) melalui (3.6). Kemudian, untuk setiap tiga nilai R = 0.95, R = 0.97, R = 0.99, lakukan berikut :a.   Plot   respon   magnituda   kuadrat   ∣Hf ∣2 melalui   cakupan   frekuensi 

0f5kHz. Saran   :   Untuk   tujuan   plotting,   anda   dapat   menghitung ∣Hf ∣2 pada 500 yang ekivalen frekuensi dalam cakupan frakuensi tersebut. 

Catatan  =2 f /fs

b. Hitung respon impuls h(n) dari filter oleh pengiriman impuls satuan pada masukan dari persamaan perbedaan dan  iterasi  ke depan dalam waktu (dengan kondisi awal 0). Bandingkan nilai yang hasil komputasi dengan nilai yang diperoleh dari persamaan.     Plot   kuantitas   h(n)/G   terhadap   fungsi   n   dalam   cakupan 0n300 . Gunakan cakupan vertikal [­4,4] untuk plot anda.

c.  Dengan menggunakan  fungsi untuk membangkitkan bilangan random gaussian gran dengan rata­rata = 0.0 dan sigma =1.0, bangkitkan 300 sampel dari sinyal derau putih  v(n)  dan sinyal  sinusiodal   terkena noise  yang berhubungan,  x(n). Mengacu   pada   program   sines.c   dari   modul   1   untuk   contoh   dari   bagaimana melakukan ini. Plot x(n) sebagai fungsi n menggunakan cakupan vertikal [­4,4]. 

Jika   anda   bekerja   dengan   MATLAB,   anda   dapat   menggunakan   fungsi   yang tersedia  randn  untuk   membangkitkan   noise.   Sebagai   contoh,   untuk membangkitkan 300 sampel zero mean dan variansi sama dengan satu :

I = 2003; % ubah ini dengan nilai integer yang lainrandn('state'I); % inisialisasi pembangkitv=randn(1,300); % v adalah vektor baris dengan panjang 300

d.   Menggunakan   algoritma   pengolahan   sampel,   filter   x(n)   melalui   filter   H(z)   dan hitung serta plot sinyal keluaran y(n) dalam cakupan  0n300 . Pada grafik yang   sama,   letakkan   noise   yang   diharapkan   ­   sinyal   bebas   noise   s(n).   Lagi, gunakan   cakupan   vertikal   [­4,4].   Diskusikan   trade   off   antara   ketajaman   filter bandpass dan kecepatan respon untuk mencapai  keadaan tunak dalam sinyal terfilter.

e. Filter sinyal noise v(n) secara terpisah melalui filter bandpass dan hitung noise keluaran  terfilter  yang  berhubungan,  katakanlah   yv n .   Jelaskan mengapa noise terfilter tampak seperti sinusiodal daripada noise.

Page 23: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

Sifat Transient dan Steady StateKita melihat  bahwa respon sinusiodal  dari   filter  orde 2 dengan pole pada   p1 , p2 mempunyai bentuk tepat seperti beriktu, untuk  n0 :x n =cos0n ⇒  y n=∣H0∣cos0n0B1p1

nB2p2n

dimana phasa tergeser  0 adalah nilai dari respon phasa dari filter pada  0 dan B1,B2 tergantung pada bagian dari  fungsi  transfer. Pada bagian ini,  anda akan 

mempelajari bagaimana istilah  steady state  merepresentasikan keluaran dari sinyal dengan durasi pendek dan efek dari istlah transient pada konstanta waktu dari filter. Dipertimbangkan sinyal berikut dengan durasi 3 detik yang didefinisikan sebagai 3 sinyal sinusoida amplituda satuan dari frekuensi  f 1=5,f2=10,f 3=15Hz :

Sinyal   ini  disampling pada  laju dari   f s=300sampel /detik .  Dua  filter  berikut beroperasi   pada   laju   f s ,   adalah   filter   notch   yang   telah   dirancang   untuk mempunyai notch pada  f 2=10Hz , kemudian, mereka akan diredam pada bagian tengah dari x(t) :

Page 24: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

Filter   pertama   mempunyai   lebar   3­dB   dari   f=10Hz dan   filter   kedua, mempunyai   lebar   f=1Hz .  Respon  magnituda   ∣Hf ∣ seperti   ditunjukkan berikut. Kita akan mempelajari bagamana merancang filter. Mereka telah dirancang menggunakan toolbox MATLAB parmeq dengan parameter.[a,b] = parmeq(1,0,1/sqrt(s), 2*pi*f2/fs, 2*pi*Df/fs)

dimanaa,b   adalam   vektor   koefisien   filter   denumerator   dan   numerator.   Dalam eksperimen ini, kita akan mempelajari hubungan antara lebar notch dan konstanta waktu transient.

Prosedur Laboratoriuma. Gambarkan realisasi kanonik dari setiap filter dan tuliskan algoritma pengolahan 

sampel  menggunakan buffer  delay­line  linier.  Karena  ini  adalah seksi  order 2, maka mereka diimplementasikan menggunakan fungsi sos.c atau sos.m

b.  Hitung konstanta waktu 1 % dari kedua filter ini dalam detik.c.   Diberikan   x tn menotasikan   masukan   tersampling   dari   x(t).   Gambarkan 

x tn dan  tn melalui 3 detik periode. Gunakan fungsi sos, filter masukan ini menggunakan  H1z dan plot keluaran  y tn dan  tn .

d.  Perhatikan seberapa cepat bagian tengah dari   x tn dikeluarkan. Perhatikan juga   bahwa   bagian   f 1 dan   f 3 tidak   lagi   mempunyai   amplituda   satu.   Uji bahwa   amplituda   steady   state   diberikan   secara   berturut­turut   oleh   respon magnituda  ∣H1f 1∣ dan  ∣H1f 3∣ . Anda dapat mengerjakan hal ini dengan ploting baris horisontal dari bobot  ∣H1f 1∣  dan  ∣H1f 3∣ melalui hubungan porsi sinyal atau dengan menggunakan fungsi MATLAB max  untuk menentukan nlai maksimum dari dua porsi dan kemudian membandingkan keduanya dengan menghitung nilai respon.

e. Ulangi pertanyaan (c,d) untuk filter kedua  H2zf.   Pada   dua   grafik   yang   terpisah,   plot   respon   magnituda     ∣H1f 1∣   dan 

∣H1f 2∣ dalam cakupan  0n30Hzg. Untuk setiap filter, hitung frekuensi korespondensi 3­dB kiri dan kanan, katakanlah 

fL   dan   fR,   dan   menunjukkan   mereka   pada   grafik   dari   bagian   (f)   dengan menghubungkan mereka dengan segmen horisontal pada level 3­dB. Uji bahwa perbedaan fR ­ fL adalah sama dengan lebar 3­dB yang diberikan dari 10 Hz dan 1 Hz secara berurutan.

Page 25: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk
Page 26: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

ANALISA1. Lakukan   analisa   terhadap   data   yang   diperoleh   setiap   langkah   prosedur 

laboratorium diatas.2. Sertakan data berupa grafik, angka yang berasal dari hasil program.3. Sesuaikan analisa anda dengan konsep yang sedang dibahas.

Page 27: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

MODUL 4 ARSITEKTUR DAN SET INSTRUKSI ADSP­2181

TUJUAN1. Peserta mengerti dan memahami arsitektur dari Pocessor ADSP­21812. Peserta mengenal dan dapat menggunakan set Instruksi pada ADSP­21xx.3. Peserta mampu melakukan Instalasi dan Konfigurasi Software dan Hardware 

ADSP­21814. Peserta mampu membuat program Assembly untuk menjalankan processor 

DSP.5. Peserta   mengerti   bagaimana   menulis   program,   merakit,   menghubungkan, 

membebankan dan menjalankan program DSP pada chip.

KONSEP TEORITerdapat   sejumlah   vendor   yang   memproduksi   chip   mulai   dari   komponen   IC, mikrokontroller, sampai Processor yang dirancang khusus untuk Pengolahan Sinyal Digital,   seperti   vendor   Motorola   dengan   produk   DSP,   semacam   DSP5600, DSP56001/2,   DSP96k,   Texas   Instrument   dengan   TMS320C5,   TMS320C54, TMS320C6,   Analog   Device   Inc.   dengan   ADSP2105,   ADSP2110,   ADSP2181, ADSP2196, dan masih banyak vendor yang lainnya.

Berikut adalah daftar Perangkat komersial yang diproduksi yang menggunakan DSP antara lain adalah :

1. Aplikasi Elektronik Lanjut (http://www.timewave.com/aea.html)DSP­232 Multi­Mode Data ControllerDSP­2232 Multi­Mode Data Controller

2. HAL Communication Corp.DSP4100 HF Radio DSP Modem

3. JPS Communication Corp.(http://www.jps.com)NIR­12 Dual­DSP Noise & Interference Reduction unitNTR­1 DSP Wideband Noise/Notch Filter

4. Special Communications Systems (http://www.sps­ptc.com)PTC­II DSP Multimode PACTOR­Controller

5. Timewave Technology, Inc. (http://www.timewave.com)DSP­599zx Audio Noise Reduction FiltrDSP­59+ Digital Noise Filter

6. Motorola Digital Signal Processing (http://www.mot.com/SPS/DSP/)DSP56002EVM Evaluation Module (EVM)

7. Texas Instruments (http://www.ti.com/sc/docs/dsps/dsphome.htm)TMS­320C2x DSP Starter Kit (DSK)TMS320C3xTMS320C5xTMS320C54x DSKplus

8. Analog Devics, Inc. (http://www.analog.com/ )ADSP­2101

EZ­KITADSP­2103ADSP­2105ADSP­2115ADSP­2181

Page 28: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

EZ­KITADSP­21020

Digital Signal ProcessorSebuah Prosessor Sinyal Digital merupakan sebuah CPU untuk tujuan khusus, yang menyediakan deretan instruksi yang sangat cepat seperti penggesaran dan jumalh, perkalian dan jumlah, yang secara bersamaan digunakan dalam aplikasi pengolahan sinyal intensif matematik.

DSP   tidak   sama   dengan   mikroprosessor   pada   umumnya.   Mikroprocessor   yang umumnya merupakan perangkat tujuan umum yang berjalan dengan blok yang besar dari software. Mereka tidak digunakan untuk komputasi yang real time dan mereka bekerja pada bidang yang lebih lambat, memilih aksi tertentu, kemudian menunggu untuk   menyelesaikan   tugas   yang   ada   sebelum   merespon   perintah   pengguna berikutnya. DSP, disisi lain, sering digunakan sebagai tipe dari embedded controller  atau  processor  yang   dibangun   ke   dalam   sisi   yang   lain   dari   perangkat   dan diddikasikan untuk mengerjakan kelompok tunggal dari pekerjaan. 

Pengolahan Sinyal DigitalPengolahan Sinyal Digital merupakan sebuah teknik yang mengkonversi sinyal dari sumber dalam dunia riil (biasanya dalam bentuk analog) ke dalam data digital yang kemudian   dapat   dianalisa.   Analisis   dibentuk   dalam   format   digital   karena   sekali sebuah sinyal telah direduksi ke dalam bilangan, komponennya daoat dipisahkan, dianalisa dan disusun kembali lebih mudah dari pada bentuk analog.

Meskipun, ketika DSP telah menyelesaikan pekerjaannya, data digital  kembalikan lagi  ke dalam sinyal  analog,  dengan perbaikan kualitas. Sebagai  contoh,  Sebuah DSP   dapat   menyaring   derau   dari   sinyal,   membuang   interferensi   menguatkan frekuensi   dan   menekan   yang   lainnya,   mengenkripsi   informasi,   atau  menganalisa bentuk gelombang kompek ke dalam komponen spektralnya.

Proses  ini  harus  ditangani  dalam  real   time,  yang seringnya sangat  cepat.  Untuk secara singkat, perangkat stereo mengontrol  sinyal suara sampai dengan 20 kHz (20.000   periode   per   detik),   membutuhkan   DSP   untuk   membentuk   ratusan   juta operasi per detik.

Tipe DSPKarena berbeda aplikasi mempunyai variasi cakupan frekuensi, berbeda DSP yang dibutuhkan. DSP dikelompokkan berdasarkan dynamic rangenya, sebaran bilangan yang dapat diproses dalam aplikasi tertentu. Bilangan ini nerupakan fungsi dari lebar data prosessor (jumlah bit yang dimanipulasi) dan tipe aritmatik yang dibentuk ( fixed atau   floating  point).  Sebagai  contoh  prosessor  32­bit  mempunyai  dynamic   range yang lebih lebar dibandingkan prosessor 24­bitm yang mempunyai dynamic range lebih   lebar  dibandingkan prosessor  16­bit.  Chips   floating  point  mempunyai   range lebih lebar dibandingkan perangkat fixed point. Setiap tipe dari prosessor sesuai untuk range aplikasi tertentu. DSP 16­bit fixed point yang digunakan untuk sistem untuk voice ­grade seperti sebuah phone, sejakmereka bekerja dengan range dari frekuensi yang lebih relatif sempit. Suara stereo dengan tingkat ketajaman tinggi mempunyai cakupan yang lebih lebar, katakan untuk ADC 16­bit dan DSP fixed point 24­bit. Pengolahan citra grafik 3­D dan simulasi scientific 

Page 29: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

mempunyai dynamic range yang lebih lebar dan membutuhkan prosessor floating­point 32­bit.

Gambar Modul Evaluasi ADSP­2181 EZ­KIT

AplikasiBerikut ini adalah berbagai aplikasi yang dapat menggunakan Processor DSP, antara lain adalah :

• Speaker phones • Smart phones • Smart­card readers • POS terminals • Digital speech interpolation• Video conferencing  

• Data encryption • ISDN modems • Pattern matching • Global positioning • Navigation 

Arsitektur ADSP­2181Bab ini berisi deskripsi detail dari arsitektur ADSP­2181. 

Gambar 1: Diagram Blok ADSP­2181Unit KomputasionalADSP­2181 berisi 3 unit komputasional secara bebas :

Page 30: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

Unit Logika dan Aritmatika (ALU) : Membentuk set standar dari operasi aritmatika dan logika dalam penjumlahan atau pembagian primitif.Multiplier  / Accumulator (MAC) : Membentuk satu siklus operasi kali, kali /  jumlah, dan kali / kurangBarrel Shifter : Membentuk operasi penggeseran aritmatika dan logika, normalisasi, denormalisasi dan turunan eksponen.

Prosedur LaboratoriumLaboratorium ini mencakup topik pada sub bab 4.1 sebagai berikut :a.  Diskusi  dari   bab  3   dari   ADSP­2181  Manual   yang   menjelaskan   arsitektur,   set instruksi,   dan   bagaimana   menulis   program   DSP   yang   mengimplementasikan algoritma pengolahan sampel per sampel.

b. Dengarkan efek dari kuantisasi. Dalam eksperimen ini, sinyal masukan disampling dengan   frekuensi   tertentu  pada  16   bit   per   sampel.  Kemudian   dikuantisasi   ulang dengan kurang dari 16 bit dan putar atau jalankan kembali. 

c.   Dengarkan   efek   dari   aliasing.   Karena   pemilihan   dari   sampling   rate,   dalam eksperimen   ini   sinyal   masukan   disampling   dengan   rate   fs=48   kHz.   Kemudian didecimasikan sampel dengan faktor L ke sampling rate yang baru dengan fs'=fs/L dan jalankan kembali. Faktor decimasi dapat diambil nilai L =1,2,3,...

d.   Dalam   modul   ini   digunakan   program   MATLAB   untuk   menghubungkan   ke perangkat ADSP­2181 EZ­KIT Lite, baik untuk membangun program, memasukkan program   dan   menjalankan   program.   Ketik   baris   perintah   berikut   di   command MATLAB :>> cd c:\ezkit_r12_b05  ↵ >> allaboutdsp ↵

Pilih  Menu ­­> Modul  ­­> Modul 4  :  ADSP­2181 – Arsitektur  Set  Instruksi  seperti gambar berikut :

Untuk melihat Arsitektur dan Set Instruksi dari ADSP­2181 pilih menu Arsitektur pada gambar diatas. Sedangkan untuk menghubngkan dengan ADSP­2181 EZ­KIT Lite anda dapat memilih menu Matlab to EZ KIT Lite. Dan untuk menjalankan program VisualDSP Development dapat dipilih menu ke tiga sehingga anda dapat membuat program dsp dengannya.

Page 31: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

Catatan : Untuk setiap prosedur pastikan bahwa perangkat telah siap baik hubungan power   dan   hubungan   antara   PC   dan   ADAP­2181   EZ­KIT   Lite   serta   perangkat pendukungnya.

ANALISA1. Lakukan   analisa   terhadap   data   yang   diperoleh   setiap   langkah   prosedur 

laboratorium diatas.2. Sertakan data berupa grafik, angka yang berasal dari hasil program.3. Sesuaikan analisa anda dengan konsep yang sedang dibahas.

Page 32: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

MODUL 5 TUNDA DAN FILTER FIR

TUJUAN1. Peserta   mampu   membuat   program   Assembly   pada   ADSP­2181   untuk 

aplikasi penundaan sampel sinyal.2. Peserta   mampu   mengembangkan   program   tunda   untuk   aplikasi   yang 

bermanfaat dalam bidang Telekomunikasi.3. Peserta  mampu   merancang   dan   mengimplementasikan   Filter   FIR   dengan 

ADSP­21814. Peserta memahami konsep Perancangan Filter Digital dan implementasinya.

KONSEP TEORIKonsep penundaan atau  delay    sering kalau tidak boleh menggunakan kata selalu untuk memanipulasi atau memodifikasi sinyal masukan. Konsep didalam pengolahan sinyal digital, dnyatakan bahwa hubungan antara sinyal masukan, sistem dan sinyal keluaran, dilakukan dengan cara konvolusi , dengan bentuk yang paling sederhana dapat dinyatakandengan mengikuti persamaan sebagai berikut :

y n=x n x n−1

Persamaan diatas memberikan pengertian bahwa sinyal keluaran, y(n)  tergantung pada masukan saat ini,  x(n) dan masukan sebelumnya, x(n­1).  Artinya pada waktu n, diperlukan sampel x pada saat n dan pada saat n­1, yang berarti x(n) ditunda 1 sampel dimana penundaan 1 sampel ekivalen dengan satuan waktu yang tergantung dengan frekuensi sampling yang digunakan. 

Untuk penundaan 1 sampel dengan frekuensi sampling 8000 Hz yang berarti akan ada 8000 sampel per detik, dengan demikian penundaan 1 sampel ekivalen dengan 1/8000 detik atau 125 mikrodetik.

Untuk   melakukan   penundaan   khususnya   didalam   perangkat   hardware   yang programmable  dapat dilakukan dengan menggunakan memori atau disimpan dulu, dan   selanjutnya   dipanggil   atau   diambil   pada   saat   diperlukan   sesuai   dengan penundaan yang akan dibuat.

Hubungan antara waktu tunda dan kebutuhan memori dapat dilihat dari persamaan sebagai berikut :

D=TD

T=fsTD=8000Hzx0.75sec=6000

untuk frekuensi sampling = 8000 Hz dan waktu tunda = 0.75 detik.Jadi, fungsi transfer dari penundaan akan menjadi   Hz=z−D=z−6000 . Ini dapat diimplementasikan dengan menggunakan buffer sirkular dengan dimensi 6001.{Based on cdelay.c of Introduction to Signal Processing, p.177.I/O equation: y(n) = x(n-d), range of delay d=1, 2, ..., D.Sample processing algorithm:for each input x do:y = tap(D, w, p, d) get d-th tap*p = x put input x into tap-0cdelay(D, w, &p) update delay}

Page 33: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

Tahap awal dari program mengeluarkan ke 2000 tap, yaitu sinyal y(n) = x(n­d), yang berkorespondensi dengan waktu tunda dalam detik : Td = dT = d / fs = 2000 / 8000 = 0.25 detik. Algortima pengolahan sampel dalam notasi dari referensi [1] adalah :

Prosedur Laboratoriuma. Pindah   ke   direktori   c:\adi_dsp\examples\delay   dan   kompile,   link   dan   load 

program ini dengan perintah DOS berikut :cd c:\adi_dsp\examples\delayezk delayezl delay

Berikan sistem sebuah impulse dengan melakukan ketukan pada mikropon, dan dengarkan impulse responnya. Kemudian, bicara ke mikropon. Bawa mikropon ke   dekat   speaker   dan   kemudian   berikan   sistem   impulse.   Anda   seharusnya mendengar  echo yang  terulang.  Jika  anda membawa mikropon  terlalu  dekat dengan speaker, maka keluaran akan menjadi tidak stabil. Gambarkan realisasi diagram blok yang menjelaskan efek yang anda dengarkan. Secara eksperimen menentukan  jarak dimana echo menyisakan margin stabil,  yaitu  tidak pernah berhenti  atau divergen. (Secara teknis dapat dikatakan, pole dari  sistem loop tertutup anda berada pada lingkaran satuan).

b. Ubah laju sampling ke 16 kHz, recompile dan reload serta membiarkan nilai dari d   tetap sama,  yaitu  d  = 2000.  Dengarkan  impulse  responnya.  Berapa durasi tunda dalam detik sekarang ?

c. Reset   kembali   laju   sampling   ke   8   kHz,   dan   kali   ini   mengubah   d   ke   nilai maksimum d = D = 6000. Recompile, reload dan dengarkan impulse responnya. Eksperimen dengan nilai d yang lebih rendah dan denarkan suara anda yang tertunda,  sampai  anda  tidak dapat  membedakan echo yang  terpisah.  Berapa milidetik tunda yang berkorespondensi dengan hal ini?

d. Set d = 0, recompile dan reload. Ini seharusnya berarti tidak ada tunda, yaitu y(n) = x(n). Tetapi apa yang anda dengar? Dapatkah anda menjelaskan, mengapa? Dapatkah anda memperbaikinya dengan mengubah program? Akankah program termodifikasi anda masih bekerja dengan d ≠ 0? Adakah alasan yang tepat untuk menyusun kembali program seperti aslinya (program tanpa tunda) ? 

Filter FIR (Finite Impulse Response)Program filter FIR secara umum Implementasi dari  filter FIR dapat diketahui dengan bantuan dari macro cfir, yang merupakan kode assembly ekuivalen dengan teks rutin cfir.c dan cfir2.c. Berikut ini adalah program filtering FIR secara umum :{fir.dsp - FIR filter experiment}{Junior DSP Lab - Rutgers ECE Dept - S. J. Orfanidis - Jan 1996}{Based on cfir.c or cfir2.c of Introduction to Signal Processing}

untuk setiap input x lakukan : y = tap (D,w,p,d) *p = x cdelay(D,w,&p)

Page 34: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

{--- define sampling rate in kHz: ----------------------------------------}{0xc850 = 8 | 0xc851 = 5.5125 | 0xc852 = 16 }{0xc853 = 11.025 | 0xc854 = 27.42857 | 0xc855 = 18.9 }.const fs = 0xc850; {0xc856 = 32 | 0xc857 = 22.05 | 0xc859 = 37.8 }{0xc85b = 44.1 | 0xc85c = 48 | 0xc85d = 33.075}{0xc85e = 9.6 | 0xc85f = 6.615 }{-------------------------------------------------------------------------}.include <c:\adi_dsp\macros\begin.dsp>; {initializations and DSP macros}{--- define constants, variables, and buffers ----------------------------}.const M = 206; {from firlp.m with fc=200 Hz, Df=100 Hz}.var/dm/circ w[M+1]; {circular delay-line buffer in DM}.var/pm/circ h[M+1]; {filter coefficient buffer in PM}i2 = ^w; L2 = %w; {delay-line buffer pointer and length}i4 = ^h; L4 = %h; {coefficient buffer pointer and length}zero(i2, m2, L2); {clear delay line}.init h: <fir.hex>; {read coefficients in 1.15 hex format}{from file fir.hex}{--- start processing input samples --------------------------------------}wait: idle; jump wait; {wait for interrupt and loop forever}{interrupt service routine starts here}input_samples: ena sec_reg; {enable secondary register set}{--- read input samples from codec ---------------------------------------}ax1 = dm(rx_buf + 1); {left input sample}mx1 = dm(rx_buf + 2); {right input sample}{--- sample processing algorithm --- process right input only ------------}cfir(M, i4, m4, i2, m2, mx1); {input from mx1, output in mr1}{--- write output samples to codec ---------------------------------------}dm(tx_buf + 1) = mr1; {left output sample}dm(tx_buf + 2) = mr1; {right output sample}{--- return from interrupt -----------------------------------------------}rti;.include <c:\adi_dsp\macros\end.dsp>; {wrapup}

Koefisien filter dibaca dari file hexsa fir.hex. Nilai dari order filer M harus diedit ke dalam program.  buffer  delay­line  dalam memori  DM dan buffer  koefisien   filter  di dalam PM.File Program MATLAB filp.m berikut mengimplementasikan perancangan Kaiser dari filter lolos rendah (LPF) dengan didefiniskan lebih dahulu frekuensi cuttoff dan lebar transisi. Redaman passband dan stopband diasumsikan 0.1 dB dan 40 dB, secara berurutan. Ini menggunakan fungsi dtft.m dan klh.m dari bab 10 referensi [1]:% firlp.m - lowpass FIR design% Junior DSP Lab - Rutgers ECE Dept - S. J. Orfanidis - Jan 1996%

Page 35: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

% the filter coeff file, lp.dec, in decimal format must be postprocessed% by dec2hex to convert it to the 1.15 format hex file lp.hex, that is,% dec2hex 1 15 < lp.dec > lp.hex%% to run it on the EZ-KIT Lite,% copy lp.hex into fir.hex, recompile and load fir.dsp% (you may also need to edit the designed filter order M into fir.dsp)fs = 8000; % 8 kHz rateApass = 0.1; % 0.1 dBAstop = 40; % 40 dB, stopband ripple: delta = 0.01fc = input(’cutoff frequency fc (in Hz) = ’); % e.g., fc = 200 HzDf = input(’transition width Df (in Hz) = ’); % e.g., Df = 100 Hzfpass = fc - Df/2;fstop = fc + Df/2;h = klh(1, fs, fpass, fstop, Apass, Astop)’; % Kaiser designsave lp.dec h /ascii % save in decimal format[N, N1] = size(h); M = N-1 % filter order MNF = 400; % number of frequenciesw = (0:NF-1) * pi / NF; % NF freqs over positive NyquistH = 20 * log10(abs(dtft(h’, w)))’; % magnitude response in dBsave lpmag.dat H /ascii

Dengan menggunakan program ini, kita telah mendesain dua filter FIR dengan laju sampling 8 kHz dan frekuensi cutoff dan lebar :

fc ∆f200 Hz 100 Hz200 Hz 10 Hz

Spesifikasi ini menerapkan range frekuensi passband, stopband dan transisi dalam Hz ( dimana stopband berada diluar frekuensi Nyquist fs/2 = 4000 Hz):

Passband Transisi Stopband0 – 150 150 – 250 250 – 40000 – 150  195 – 205 205 ­ 4000

Kemudian,   didalam   passband   redaman   harus   kurang   dari   0.1   dB   dan   didalam stopband, redaman harus lebih besar dari 40 dB. Respon magnituda |H(f)| dari dua filter diplot dalam satuan dB, yaitu 20 log10|H(f)|, dalam gambar berikut :

Page 36: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

Filter yang dirancang mempunyai orde M = 206 dan M = 2054, sercara berurutan, dan respon impulsenya ada didalam file lp1.dec dan lp2.dec dalam format desimal (seperti dibangkitkan oleh firlp.m)Sebagaimana didiskusikan dalam Ch. 10 dari referensi [1] bahwa filter orde M dari filter FIR secara esensial proporsional dengan lebar transisinya, ∆f, dan kemudian, jangan heran jika filter kedua mempunyai order 10 kali  lebih besar daripada yang pertama.

ANALISA1. Lakukan   analisa   terhadap   data   yang   diperoleh   setiap   langkah   prosedur 

laboratorium diatas.2. Sertakan data berupa grafik, angka yang berasal dari hasil program.3. Sesuaikan analisa anda dengan konsep yang sedang dibahas.

Page 37: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

MODUL 6 EFEK AUDIO DIGITAL

TUJUAN1. Peserta mampu membuat aplikasi untuk efek audio dengan Processor ADSP­

2181.2. Peserta mengerti dan memahami pengolahan sinyal audio.3. Peserta   mampu   mengolah   dan   memodifikasi   sinyal   audio   untuk   aplikasi 

tertentu, seperti Pengacak atau Scrambler, Echo dan lain­lain.

KONSEP TEORISecara prinsip bahwa ADSP­2181 EZ­KIT Lite dirancang untuk pengolahan sinyal audio, dimana frekuensi sampling yang tersedia mulai dari 5.5 K\kHz sampai dengan 48 kHz, yang merupakan daerah cakupan sinyal audio.

Pengolahan  audio  yang  dapat  dilakukan  salah  satunya  adalah  memberikan  efek perulangan atau echo,  baik  sebagai  asesoris  audio,  maupun efek yang  terjadi  di lingkungan seperti gema atau pantulan oleh alam, baik dinding maupun gunung dan lain sebagainya.

Echo atau reverberator yang paling sederhana disebut sebagai  plain reverberator dapat digunakan sebagai efek blok bangunan yang dasar, yang dapat dirumuskan sebagai persamaan berikut :y n=ay n−Dx n  

atau dalam bentuk fungsi transfer dinyatakan sebagai berikut :

Hz= 11−az−D

Dan dalam bentuk rangkaian realisasi  dapat  digambarkan sebagai  bentuk seperti berikut :

Rangkaian  diatas  digunakan untuk  membangkitkan  echo atau   reverberator,   yang akan memberikan efek pada sinyal audio yang dimasukkan. Dan sebaliknya jika kita dapat membangkitkan echo, maka secara prinsip dalam dilakukan untuk membuat program  penghapusan  echo  atau   disebut   sebagai  echo   canceller  dimana  dalam dunia   telekomunikasi   digunakan   untuk   menghapus   echo   pada   saluran   telepon, sesuai dengan rekomendasi yang diberikan oleh ITU G723.

Berikut ini adalah rutin yang digunakan untuk membangkitkan echo :input_samples: ena sec_reg; /* use shadow register bank */ sr0 = dm (rx_buf + 2); /* input is in sr0 */

Page 38: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

echo_start: ay0=dm(i0,m0); /* READ OLDEST echo VALUE */ dm(i0,m1)=SR0; dm(i1,m1)=ay0;

ar=ay0; ay0=sr0; mx0=ar, ar=ar+ay0; dm(tx_buf + 1) = ar; dm(tx_buf + 2) = ar;

rti;

Prosedur Laboratoriuma. Jalankan aplikasi  untuk memutar   file  audio,  seperti  winamp atau media player misalnya, dan putar sebuah lagu dengannya.

b. Hubungan keluaran soundcard pada PC anda dengan port masukan audio pada ADSP­2181 EZ­KIT Lite.

c.  Jalankan MATLAB,  dan   jalankan program  allaboutdsp.m  kemudian  pilih  menu Modul ­­> Modul 6 : Efek Audio Digital

d. Jalankan program untuk membuat file dsp  dengan VisualDSP Development. 

e.   Jalankan   program   dsp   anda   pada   ADSP­2181   EZ­KIT   Lite   dan   perhatikan hasilnya.

ANALISA1. Lakukan   analisa   terhadap   data   yang   diperoleh   setiap   langkah   prosedur 

laboratorium diatas.2. Sertakan data berupa grafik, angka yang berasal dari hasil program.3. Sesuaikan analisa anda dengan konsep yang sedang dibahas.

Page 39: MODUL PRAKTIKUM Digital Signal Processing (DSP) … · Pengolahan Sinyal Digital, memberikan pengertian bahwa apapun sinyalnya, ... Pada awalnya, semua sistem dibuat dalam bentuk

REFERENSI1. Sophocles J. Orfanidis, 'DSP Lab Manual', Rutgers University, 20052. Takeshi Ikuma, DSP Research Laboratory, Virginia Tech. 20033. www.mds.com    Momentum Data Systems4. www.analog.com    Analog Device Inc.5. Steven   W.   Smith,   The   scientist's   and   Engineer's   Guide   to   Digital   Signal 

Processing, 2nd Edition, 19996. www.dspguide.com   7. www.primeled.com    Situs untuk aplikasi ADSP untuk bargraph LED 

Bogor, 31 Maret 2006Penyusun

Suyatno Budiharjo