P. 1
Analog to Digital Converter

Analog to Digital Converter

|Views: 2,703|Likes:
Published by rusdi ariawan
Analog to Digital Converter
Analog to Digital Converter

More info:

Published by: rusdi ariawan on Jul 20, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/22/2013

pdf

text

original

ANALOG TO DIGITAL CONVERTER

Tugas Mata Kuliah Komunikasi Data

Oleh: PUTU RUSDI ARIAWAN (0804405050)

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS UDAYANA 2010

ANALOG TO DIGITAL CONVERTER To store analog nature signal to the computer A/D Converter

Sampling PAM (Pulse Amplitudo Modulator) quantizing

Perangkat elektronika modern kebanyakan melakukan pengolahan data secara digital. Karena sinyal pada umumnya secara alamiah merupakan sinyal analog, maka keberadaan peranti pengubah (konversi) data dari analog ke digital, dan sebaliknya menjadi sangat vital. Sebuah pengubah analog-ke-digital (analog-to-digital converter, disingkat ADC) adalah sebuah alat yang mengubah sinyal berkelanjutan menjadi angka digital terpisah. Biasanya, sebuah ADC mengubah sebuah voltase ke sebuah angka digital. Sistem Pengolahan Sinyal Digital Proses pengolahan sinyal digital, diawali dengan proses mengubah sinyal masukan yang berupa sinyal analog. Proses ini mengubah representasi sinyal yang tadinya berupa sinyal analog menjadi sinyal digital. Proses ini dilakukan oleh suatu unit ADC (Analog to Digital Converter). Unit ADC ini terdiri dari sebuah bagian Sample/Hold dan sebuah bagian quantiser. Unit sample/hold merupakan bagian yang melakukan pengubahan orde ke-0, yang berarti nilai masukan selama kurun waktu T dianggap memiliki nilai yang sama. pengubahan dilakukan setiap satu satuan waktu yang lazim disebut sebagai waktu peubah (sampling time). Bagian quantiser akan merubah menjadi beberapa level nilai, pembagian level nilai ini bisa secara uniform ataupun secara non-uniform misal pada Gaussian quantiser.

PUTU RUSDI ARIAWAN

Unjuk kerja dari suatu ADC bergantung pada beberapa parameter, parameter utama yang menjadi pertimbangan adalah sebagai berikut : 1. Kecepatan maksimum dari waktu cuplik. 2. Kecepatan ADC melakukan konversi. 3. Resolusi dari quantiser, misal 8 bit akan mengubah menjadi 256 tingkatan nilai. 4. Metoda kuantisasi akan mempengaruhi terhadap kekebalan noise.

Gambar 1. Proses sampling Sinyal input asli yang tadinya berupa sinyal analog, x(T) akan diubah dan diquantise sehingga menjadi sinyal digital x(kT). Dalam representasi yang baru inilah sinyal diolah. Keuntungan dari metoda ini adalah pengolahan menjadi mudah dan dapat memanfaatkan program sebagai pengolahnya. Dalam proses sampling ini diasumsikan kita menggunakan waktu cuplik yang sama dan konstan, yaitu Ts. Parameter cuplik ini menentukan dari frekuensi harmonis tertinggi dari sinyal yang masih dapat ditangkap oleh proses cuplik ini. Frekuensi sampling minimal adalah 2 kali dari frekuensi harmonis dari sinyal. Untuk mengurangi kesalahan cuplik maka lazimnya digunakan filter anti-aliasing sebelum dilakukan proses pencuplikan. Filter ini digunakan untuk meyakinkan bahwa komponen sinyal yang dicuplik adalah benar-benar yang kurang dari batas tersebut. Sebagai ilustrasi, proses pencuplikan suatu sinyal digambarkan pada gambar berikut ini.

PUTU RUSDI ARIAWAN

Gambar 2. Pengubahan dari sinyal kontinyu ke sinyal diskret Setelah sinyal diubah representasinya menjadi deretan data diskrete, selanjutnya data ini dapat diolah oleh prosesor menggunakan suatu algoritma pemrosesan yang diimplementasikan dalam program. Hasil dari pemrosesan akan dilewatkan ke suatu DAC (Digital to Analog Converter) dan LPF (Low Pass Filter) untuk dapat diubah menjadi sinyal kontinyu kembali. Secara garis besar, blok diagram dari suatu pengolahan sinyal digital adalah sebagai berikut :

Gambar 3. Blok Diagram Sistem Pengolahan Sinyal Digital

Proses pengolahan sinyal digital dapat dilakukan oleh prosesor general seperti halnya yang lazim digunakan di personal komputer, misal processor 80386, 68030, ataupun oleh prosesor RISC seperti 80860. Untuk kebutuhan pemrosesan real time, dibutuhkan prosesor yang khusus dirancang untuk tujuan tersebut, misal ADSP2100, DSP56001, TMS320C25, atau untuk kebutuhan proses yang cepat dapat digunakan paralel chip TMS320C40. Chip-chip DSP ini memiliki arsitektur khusus yang lazim dikenal dengan arsitektur Harvard, yang memisahkan antara jalur data dan jalur kode. Arsitektur ini memberikan keuntungan yaitu adanya kemampuan untuk mengolah perhitungan matematis dengan cepat, misal dalam satu siklus dapat melakukan suatu perkalian matrix. Untuk chip-chip DSP, instruksi yang digunakan berbeda pula. Lazimnya mereka memiliki suatu instruksi yang sangat membantu dalam perhitungan matrix, yaitu perkalian dan penjumlahan dilakukan dalam siklus (bandingkan dengan 80386, proses penjumlahan saja dilakukan lebih dari 1 siklus mesin).

PUTU RUSDI ARIAWAN

1. Fungsi Transfer Ideal Konverter Analog-ke-Digital Secara teoritis, fungsi transfer ideal untuk ADC berbentuk garis lurus. Bentuk ideal garis lurus hanya dapat dicapai dengan konverter data beresolusi takhingga. Karena tidak mungkin mendapatkan resolusi tak hingga, maka secara praktis fungsi tranfer ideal tersebut berbentuk gelombang tangga seragam. Semakin tinggi resolusi ADC, semakin halus gelombang tangga tersebut. ADC ideal secara unik dapat merepresentasikan seluruh rentang masukan analog tertentu dengan sejumlah kode keluaran digital. Pada gambar 1 ditunjukkan bahwa setiap kode digital merepresentasikan sebagian dari rentang masukan analog total. Oleh karena skala analog bersifat kontinyu sedangkan kode digital bersifat diskrit, maka ada proses kuantisasi yang menimbulkan kekeliruan (galat). Apabila jumlah kode diskritnya (yang mewakili rentang masukan analog) ditambah, maka lebar undak (step width) akan semakin kecil dan fungsi transfer akan mendekati garis lurus ideal. Lebar satu undak (step) didefinisikan sebagai 1 LSB (least significant bit) dan unit ini digunakan sebagai unit rujukan untuk besaran-besaran lain dalam spesifikasi peranti konversi data. Unit 1 LSB itu juga digunakan untuk mengukur resolusi konverter karena ia juga menggambarkan jumlah bagian atau unit dalam rentang analog penuh. Resolusi ADC selalu dinyatakan sebagai jumlah bit-bit dalam kode keluaran digitalnya. Misalnya, ADC dengan resolusi n-bit memiliki 2n kode digital yang mungkin dan berarti juga memiliki 2n tingkat undak (step level). Meskipun demikian, karena undak pertama dan undak terakhir hanya setengah dari lebar penuh, maka rentang skala-penuh (FSR, full-scale range) dibagi dalam (2n-1) lebar undak. Karenanya, 1 LSB = FSR/(2n-1)

PUTU RUSDI ARIAWAN

untuk konverter n-bit.

PUTU RUSDI ARIAWAN

3. Kesalahan (Galat) Statik Kesalahan statik adalah kesalahan (galat) yang mempengaruhi akurasi konverter bila konverter tersebut mengkonversi sinyal statik (DC, direct current). Yang termasuk dalam jenis galat statik adalah galat offset, galat bati (gain error), non-linieritas integral, dan non-linieritas diferensial. Masing-masing galat dapat diekspresikan dalam unit LSB atau kadang-kadang sebagai prosentase dari FSR. Misalnya, galat ½ LSB untuk konverter 8-bit adalah sama dengan 0,2% FSR. 1. Galat Offset Secara grafis galat offset didefinisikan sebagai selisih antara titik offset nominal dan titik offset aktual. Pada ADC, titik offset adalah nilai undak-tengah (midstep) jika keluaran digitalnya nol, sedangkan untuk DAC titik offset adalah nilai undak saat masukan digitalnya nol. Dengan kata lain, galat offset atau disebut juga galat nol (zero error) pada DAC adalah tegangan keluaran saat masukan digitalnya nol. Pada ADC, galat nol adalah nilai tegangan masukan yang diperlukan untuk menghasilkan keluaran digital nol. Galat offset ini diakibatkan oleh masukan tegangan atau arus offset pada penguat atau komparator. Umumnya kesalahan ini dapat dikoreksi dengan pemasangan potensiometer penepat (trimming potentiometer) eksternal sebagai pengatur offset nol. 2. Galat Bati (Gain Error) Galat bati, didefinisikan sebagai selisih antara titik bati (gain point) nominal dan aktual pada fungsi transfer setelah galat offset dikoreksi ke nol. Untuk ADC, titik bati adalah nilai undak-tengah bila keluaran digital merupakan skala penuh. Pada DAC, titik bati adalah nilai undak bila masukan digitalnya adalah skala penuh. Kesalahan ini merepresentasikan perbedaan kemiringan fungsi transfer ideal dengan fungsi transfer aktual. Koreksi atas kesalahan ini dapat dilakukan dengan menepatkan (trimming) resistor umpan balik pada penguat. 3. Galat Nonlinieritas Diferensial Galat nonlinieritas diferensial, yang secara grafis adalah selisih antara lebar undak (pada ADC) atau tinggi undak (pada DAC) aktual dengan nilai ideal 1 LSB. Sebagai contoh, DAC dengan undak 1,25 LSB pada perubahan satu kode digital dikatakan memiliki galat nonlinieritas diferensial ¼ LSB. Dengan

PUTU RUSDI ARIAWAN

demikian, bila lebar undak atau tinggi undak bernilai tepat 1 LSB maka berarti galat nonlinieritas diferensialnya nol. Jika nilai nonlinieritas diferensial melampaui 1 LSB, ada kemungkinan konverter menjadi tidak monotonik. Ini berarti besaran keluaran menjadi semakin mengecil bila besaran masukannya bertambah. Pada ADC, mungkin saja ada kode yang hilang, yakni satu atau lebih dari 2n kemungkinan kode biner tidak pernah muncul. 4. Galat Nonlinieritas Integral Galat nonlinieritas integral atau sering disebut galat linieritas, adalah penyimpangan nilai pada fungsi transfer aktual dari garis lurusnya. Definisi ini berlaku bagi ADC maupun DAC. Pada ADC penyimpangan ini diukur pada transisi dari satu undak ke undak berikutnya, sedangkan pada DAC penyimpangan diukur pada setiap undaknya. 5. Galat Akurasi Mutlak (Absolute Accuracy Error) Galat akurasi mutlak atau kadang-kadang disebut galat total (total error) ADC adalah nilai maksimum selisih antara nilai analog dengan nilai undaktengah (midstep) ideal, yang diakibatkan oleh galat kuantisasi dan galat-galat lainnya. Bila suatu ADC 12-bit dinyatakan akurat ± 1 LSB, maka hal itu sama artinya dengan ± 0,0265% atau dua kali lipat dari galat kuantisasi minimum yang dimungkinkan, yakni 0,0122%. Akurasi konverter meliputi jumlah seluruh kesalahan yang terjadi, termasuk kesalahan kuantisasi, tetapi pada umumnya jarang dinyatakan dalam lembar data karena berbagai kesalahan atau galat yang terjadi tersebut dicantumkan terpisah-pisah. Pada DAC, spesifikasi yang dinyatakan sebagai akurasi memberikan gambaran penyimpangan tegangan keluaran terburuk dari garis lurus ideal yang ditarik antara titik nol dan titik skala penuh. DAC 12-bit tidak dapat memiliki akurasi konversi yang lebih baik dari ± 1/2 LSB atau ± 1 bagian dari 212+1 (± 0,0122% skala penuh) karena keterbatasan resoludinya. Sebenarnya angka 0,0122% skala penuh menggambarkan penyimpangan dari 100% akurasi, sehingga seharusnya akurasi dinyatakan sebagai 98,9878%. Akan tetapi telah menjadi kebiasaan bahwa angka 0,0122% tersebut dinyatakan sebagai akurasi atau keakuratan, bukan ketakakuratan.

PUTU RUSDI ARIAWAN

4. Efek Kuantisasi Masukan analog ADC biasanya berupa sinyal kontinyu yang memiliki kemungkinan nilai tak terhingga banyaknya, sedangkan keluaran digital merupakan fungsi diskrit dengan kemungkinan nilai yang dibatasi jumlahnya oleh resolusi konverter. Oleh karena itu dapat dipahami apabila dalam pengubahan bentuk analog ke bentuk digital, beberapa sinyal analog berbeda nilai yang direpresentasikan dengan tegangan berbeda pada masukannya, direpresentasikan dengan kode digital yang sama pada keluarannya. Beberapa informasi hilang dan distorsi tertambahkan pada sinyal. Untuk fungsi transfer gelombang-tangga ideal pada ADC, kesalahan antara masukan digital dengan bentuk digital keluarannya memiliki fungsi rapatan probabilitas yang seragam (uniform probability density function) jika sinyal masukannya diasumsikan acak. Kesalahan itu dapat bervariasi dalam rentang ± ½ LSB atau ± q/2, di mana q adalah lebar satu undak. p(e ) = 1/q untuk (- q/2 £ e £ + q/2), dan p(e ) = 0 untuk keadaan lainnya Daya derau rata-rata (rerata kuadrat) galat pada undak diberikan oleh persamaan:

yang akan menghasilkan : N2 = (q2 / 12) Rerata kuadrat galat total, N2 , pada seluruh area konversi adalah jumlah rerata kuadrat tiap level kuantisasi dikalikan dengan probabilitasnya. dengan berasumsi bahwa konverter ideal, lebar tiap undak kode adalah identik dan karenanya memiliki probabilitas sama. Untuk kasus ideal : N2 = (q2 / 12) Misalkan suatu masukan F(t) berbentuk sinusoida dengan amplitudo A sehingga: F(t) = A sin w t

PUTU RUSDI ARIAWAN

yang memiliki nilai rerata kuadrat F2(t), di mana

adalah daya sinyal. Karenanya, perbandingan sinyal terhadap derau (signal to noise ratio, SNR) adalah :

Karena q = 1 LSB = (2A/2n) = A/(2n-1) maka

Persamaan di atas memberikan nilai ideal untuk konverter n-bit dan menunjukkan bahwa setiap tambahan resolusi 1 bit akan memperbaiki SNR sebesar 6 dB.

Spesifikasi Elektris Konverter Data Selain spesifikasi yang berkaitan dengan karakteristik internal sistem konversi data yang dijelaskan di atas, beberapa spesifikasi yang merujuk pada karakteristik elektris peranti juga mempengaruhi kinerja peranti konverter data. Berikut ini di bahas beberapa di antaranya. 1. Waktu Penetapan (settling time) Waktu penetapan adalah waktu yang diperlukan DAC untuk mencapai nilai akhir sesudah terjadi perubahan kode digital masukan. Spesifikasi untuk waktu penetapan ini biasanya dicantumkan bersama dengan laju slew (slew rate). 2. Slew Rate Slew rate merupakan keterbatasan yang melekat (inherent) pada penguat keluaran yang ada pada DAC yang membatasi laju perubahan tegangan keluaran sesudah terjadi perubahan kode digital masukan. Besaran slew rate

PUTU RUSDI ARIAWAN

dinyatakan dalam satuan volt/m s, dan pada umumnya bernilai antara 0,2 sampai beberapa ratus V/m s. 3. Koefisien Temperatur Aus atau usangnya komponen pembentuk peranti konversi data karena umur akan menghasilkan atau memperparah beberapa jenis kesalahan (galat) pada temperatur operasi yang berubah-ubah. Galat offset dapat berubah akibat koefisien temperatur penguat dan komparator. Kesalahan dapat juga terjadi karena bergesernya tegangan rujukan atau berubahnya nilai resistor tangga (akibat panas). Pada dasarnya, hampir semua kesalahan, kecuali resolusi dan galat kuantisasi, terpengaruh oleh koefisien temperatur komponen dalam konverter data. 4. Overshoot dan Glitch Overshoot dan glitch muncul pada saat terjadi perubahan kode digital masukan pada DAC. Glitch adalah lonjakan tegangan sangat singkat (sehingga berbentuk seperti paku) yang terjadi akibat ketakserempakan pensaklaran tiap-tiap bit. Jika masukan DAC berubah dari 01111 menjadi 10000, misalnya, maka 4 buah saklar pada DAC membuka dan sebuah saklar menutup. Jika kecepatan membuka/menutup tiap-tiap saklar tidak sama maka terdapat saat sangat singkat di mana keluaran menunjukkan nilai tak-sebenarnya baru kemudian mencapai kondisi mapan (settle). Glitch seperti ini dapat diredam pada tegangan keluaran DAC karena penguat keluaran umumnya tidak dapat mengikuti laju perubahan yang sangat cepat. Penguat keluaran menghasilkan overshoot atau ayunan tegangan yang dapat diminimalkan tetapi tidak dapat dihilangkan sama sekali. 5. Kemelesetan Jangka Panjang Dalam jangka panjang, akibat usia komponen terutama resistor dan semikonduktor, karakteristik peranti konverter data menjadi berubah.

Karakteristik peranti yang paling terpengaruh adalah linieritas dan galat offset. 6. Laju Konversi Data Laju konversi data adalah kecepatan ADC atau DAC melakukan konversi data berulang. Hal ini dipengaruhi oleh waktu tunda perambatan pada rangkaian pencacah, tangga saklar dan komparator, tangga RC dan waktu penetapan penguat, serta laju slew penguat dan kompartor. Laju konversi

PUTU RUSDI ARIAWAN

didefinisikan sebagai jumlah konversi per detik atau dapat juga dinyatakan sebagai waktu konversi, yakni lamanya waktu yang diperlukan untuk menyelesaikan satu proses konversi (termasuk efek waktu penetapan). 7. Laju Detak Laju detak dispesifikasikan sebagai laju pulsa minimum dan maksimum yang harus dipasang pada peranti konverter data. Terdapat hubungan tetap antara laju konversi minimum dengan laju detak, tergantung pada tipe dan akurasi konverter. Semua yang mempengaruhi laju konversi dari suatu ADC membatasi laju detak.

Tegangan analog memiliki jumlah kemungkinan level tegangan yang tak hingga

Pada suatu “tegangan digital” hanya ada beberapa kemungkinan level tegangan

PUTU RUSDI ARIAWAN

A Closer Look to Quantization

Equally spaced levels (ini disebut uniform quantizing)

• • • • • • •

Bila menggunakan uniform quantizing, noise kuantisasi akan sangat terasa pada sinyal-sinyal berlevel rendah Solusi untuk menanggulangi noise kuantisasi adalah dengan menambah jumlah level, tetapi akibatnya bit rate hasil pengkodean akan menjadi lebih tinggi Solusi elegan yang ditempuh adalah dengan tidak menambah jumlah level, melainkan dengan membedakan kerapatan level Level kuantisasi pada sinyal-sinyal rendah lebih rapat daripada untuk sinyal berlevel tinggi Hal ini dilakukan dengan mengkompress (compressing) sinyal di sumber Di tujuan dilakukan proses dekompress (expanding) Proses compressing dan expanding disebut companding

PUTU RUSDI ARIAWAN

Sampling Teknik ini memungkinkan perubahan sinyal analog menjadi bit-bit digital. Teknik itu disebut teknik sampling. Jika telah menjadi sinyal digital maka sinyal ini jauh lebih baik, sedikit noisenya dan juga dapat diproses dengan mudah. Digital Signal Prosessing merupakan perkembangan dari teknik ini yang memungkinkan kita membentuk sample-sample yang berupa suara seperti yang ada pada keyboard, syntitizer, Audio Prosessing, dll. Pada dasarnya semua suara audio, baik vokal maupun bunyi tertentu merupakan suatu bentukan dari getaran. Ini menandakan semua audio memiliki bentuk gelombangnya masing-masing. Umumnya bentukan gelombangnya disebut dengan sinyal analog. Sinyal analog adalah sinyal yang bentuknya seperti pada Gambar dibawah. Namun sebuah teknik memungkinkan sinyal ini diubah dan diproses sehingga menjadi lebih baik.

Proses sampling Pada proses ini terjadi suatu pencuplikan dari bentukan sinyal analog. Pencuplikan dilakukan pada bagian-bagian sinyal analog. Ini dilakukan dengan sinyal-sinyal sample. Ada suatu aturan tertentu dari sinyal ini. Teori Shannon menyatakan frekuensi sinyal ini paling sedikit adalah 2 kali frekuensi sinyal yang akan disampling (sinyal analog). Ini adalah batas minimum dari frekuensi sample agar nantinya cuplikan yang diambil menunjukkan bentukan sinyal yang asli (analog). Lebih besar tentunya lebih baik, karena cuplikan akan lebih menggambarkan sinyal yang asli. Setelah dilakukan proses ini maka terbentuklah suatu sinyal analog-diskrit yang bentuknya menyerupai aslinya namun hanya diambil diskrit-diskrit saja.

PUTU RUSDI ARIAWAN

Quantisasi Ini adalah proses pembandingan level-level tiap diskrit sinyal hasil sampling dengan tetapan level tertentu. Level-level ini adalah tetapan angkaangka yang dijadikan menjadi bilangan biner. Sinyal-sinyal diskrit yang ada akan disesuaikan levelnya dengan tetapan yang ada. Jika lebih kecil akan dinaikkan dan jika lebih besar akan diturunkan. Prosesnya hampir sama dengan pembulatan angka. Tetapan level yang ada tergantung pada resolusi dari alat, karena tetapan level merupakan kombinasi angka biner, maka jika bitnya lebih besar kombinasinya akan lebih banyak dan tetapan akan lebih banyak. Ini membuat pembulatan level sinyal diskrit menjadi tidak jauh dengan level aslinya. Dan bentukan sinyal akan lebih bervariasi sehingga akan terbentuk seperti aslinya. Proses ini membuat sinyal lebih baik karena bentukkannya lebih tetap. Proses ini juga mengecilkan error dari suatu sinyal.

Perubahan ke digital Setelah diquantisasi maka tiap-tiap diskrit yang ada telah memiliki tetapan tertentu. Tetapan ini dapat dijadikan kombinasi bilangan biner, maka terbentuklah bilangan-bilangan biner yang merupakan informasi dari sinyal. Setelah menjadi sinyal digital maka proses-proses perekayasaan dapat dilakukan. Yang harus dilakukan adalah merubah informasi digital tersebut dengan proses digital sehingga menjadi suara-suara yang kita inginkan. Proses dapat dilakukan dengan berbagai macam alat-alat digital (komputer). Sample-sample yang ada juga digunakan sebagai informasi untuk menciptakan suara dari berbagai macam alat elektronik (keyboard dan syntitizer). Penyimpanan suara juga akan lebih baik karena informasinya adalah digital sehingga berkembanglah CD dan DAT (Digital Tape).

PUTU RUSDI ARIAWAN

Figure 1: Ideal transfer function of a 3-bit ADC

Figure 2: 3-bit ADC transfer function with - 1/2 LSB offset

PUTU RUSDI ARIAWAN

Figure 3: Offset error

Figure 4: Quantization error vs. output code

Figure 5: Full-scale error

PUTU RUSDI ARIAWAN

Figure 6: Differential nonlinearity

Figure 7: Integral nonlinearity error

PUTU RUSDI ARIAWAN

Figure 8: An FFT of ADC output codes

Figure 9: SNR— A measure of the signal compared to the noise

PUTU RUSDI ARIAWAN

Figure 10: FFT showing harmonic distortion Figure

11: Spurious-free dynamic range (SFDR)

PUTU RUSDI ARIAWAN

BIODATA PENULIS

Nama TTL Agama

: Putu Rusdi Ariawan : Denpasar. 19 April 1990 : Hindu

Mahasiswa Teknik Elektro Unv. Udayana Email : turusdi.info@gmail.com www.facebook.com/turusdi

PUTU RUSDI ARIAWAN

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->