Menggunakan IFFT pada Matlab untuk Mendapatkan Response Impulse


IFFT (Inverse Fast Fourier Tansform)

y=ifft(X);

menghasilkan inverse Descrete Fourier Transform (DFT) dari vektor X, dihitung dengan menggunakan algoritma Fast Fourier Transform (FFT). Jika X ada sebuah matriks, ifft menghasilkan inverse DFT masing-masing kolom pada matriks. ifft mengetes X untuk melihat apakah vektor X sepanjang dimensi aktif conjugate symmetric. Jika demikian, perhitungan akan lebih cepat dan keluaran adalah real [1].

Setelah respon frekuensi kanal telah diukur, representasi domain waktu (respon impulse) dapat dicapai dengan IFFT. Sinyal yang diukur dengan menggunakan VNA (Vector Network Analyzer) adalah respon frekuensi kanal. Inverse Fourier Transform digunakan untuk mentransformasi data yang diukur pada domain frekuensi kepada domain waktu. IFFT biasanya diambil langsung dari raw vektor data yang diukur. Proses ini memungkinkan karena penerima memiliki tahap down-conversion dengan perangkat mixer. Metode ini disebut sebagai complex baseband IFFT yang mencukupi untuk digunakan dalam memodelkan sistem pita lebar dan pita sempit [2].

Ada dua buah teknik yang umum digunakan untuk menkonversi sinyal ke domain waktu, yaitu Pendekatan Pemrosesan Sinyal Hermitian dan Pendekatan Conjugate. Pemrosesan sinyal Hermitian yang menghasilkan bentuk pulsa yang lebih baik. Sedangkan sebuah test menunjukkan bahwa pendekatan Conjugate lebih mudah dan efisien untuk mendapatkan bentuk pulsa yang hampir sama [2].

Pemrosesan Sinyal Hermitian 

Dengan menggunakan pemrosesan Hermitian, sinyal pass-band didapatkan dengan zero padding dari frekuensi terendah turun ke DC (Direct Current), ambil conjugate sinyal dan kemudian cerminkan ke frekuensi negatif. Kemudian hasilnya ditransformasikan ke domain waktu dengan menggunakan IFFT. Sinyal spektrum sekarang ada di sekitar DC. Hasil spektrum yang double sided sesuai dengan sinyal real. Resolusi waktu dari sinyal yang diterima lebih dari dua kali dari yang dicapai oleh pendekatan baseband. Perbaikan keakuratan ini sangat penting, terutama untuk pemodelan kanal Ultra Wide Band (UWB) yang bertujuan untuk memisahkan lintasan sinyal yang berbeda dengan akurat [2].

Gambar 1. Metode Hermitian

Pendekaan Conjugate

Metode conjugate ini melakukan pencerminan conjugate dari sinyal pass-band tanpa zero padding. Yang digunakan hanya sisi kiri pada spektrum, kemudian sinyal dikonversikan  menggunakan IFFT dengan ukuran window yang sama dengan metode Hermitian. Hasil dari metode ini sangat mungkin mirip dengan hasil Hermitian dengan zero padding. Bagaimanapun juga metode conjugate ini lebih efisien dalam hal kompleksitas pemrosesan data yang lebih mudah memanipulasi perhitungan matriks pada tahap post-processing dan kebutuhan memori yang lebih kecil [2].

Ada tiga konsep yang sangat penting mengenai bentuk gelombang domain waktu dengan frequency-dependent equivalent [3] :

1. Spektrum dari bentuk gelombang domain waktu mempunyai dua komponen frekuensi positif dan negatif.

2. Spektrum dari bentuk gelombang domain waktu yang bernilai hanya positif adalah bilangan kompleks.

3. Karena sinyal domain waktu yang dapat diamati secara fisik tidak mempunyai nilai imaginer,  maka sinyal domain waktu ini harus real yang dijamin bernilai real jika frekuensi positif dari hasil transformasi Fourier merupakan compleks conjugate darin frekuensi negatifnya [LePage, 1980].

Secara umum mengukur transfer function di laboratorium dengan menggunakan VNA lebih mudah dari pada mengukur respon impulse karena ideal impulse mustahil dibuat. Karena perangkat laboratorium tidak dapat mengukur frekuensi negatif maka frekuensi negatif ini harus dibuat dari complex conjugate frekuensi positif yang diukur [3].

Contoh sederhana menggunakan matlab, misalnya kita punya 3 buah bilangan kompleks.

>> fasym=[1+i 2+i 3+i]

fasym =

1.0000 + 1.0000i 2.0000 + 1.0000i 3.0000 + 1.0000i

>> fcon=fliplr(conj(fasym))

fcon =

3.0000 – 1.0000i 2.0000 – 1.0000i 1.0000 – 1.0000i

>> fsym=[fcon fasym]

fsym =

Columns 1 through 3

3.0000 – 1.0000i 2.0000 – 1.0000i 1.0000 – 1.0000i

Columns 4 through 6

1.0000 + 1.0000i 2.0000 + 1.0000i 3.0000 + 1.0000i

>> f0=sum(abs(fsym))

f0 =

13.6251

>> f=[f0 fsym]

f =

Columns 1 through 3

13.6251 3.0000 – 1.0000i 2.0000 – 1.0000i

Columns 4 through 6

1.0000 – 1.0000i 1.0000 + 1.0000i 2.0000 + 1.0000i

Column 7

3.0000 + 1.0000i

>> t=ifft(f)

t =

Columns 1 through 5

3.6607 2.7222 1.3502 1.6460 1.2878

Columns 6 through 7

1.4878 1.4704

Referensi:

[1] http://www.mathworks.com/help/techdoc/ref/ifft.html

[2] I. Oppermann, M. Hamalainen,  J. Iinatti, UWB Theory and Applications, John Wiley and Sons, England: 2004.

[3] S. H. Hall, H. L. Heck, Advanced Signal Integrity for High-Speed Digital Designs, John Wiley and Sons, Canada: 2009.

Pos ini dipublikasikan di Tidak terkategori. Tandai permalink.

4 Balasan ke Menggunakan IFFT pada Matlab untuk Mendapatkan Response Impulse

  1. Joko S berkata:

    Good Job

  2. AEP berkata:

    btw, kenapa f0 bisa menghasilkan ifft yang riil?

    • rezakahar berkata:

      kalau kita fft bilangan riil maka di titik 0 adalah jumlah seluruh magnitude karena e^0. sedangkan sisanya akan membentuk symmetric conjugate bilangan kompleks.

      jadi jika kita punya bilangan kompleks di domain frekuensi, untuk mendapatkan ifft yang real, maka pertama adalah membentuk symmetric conjugate dengan cara mencerminkan conjugate dari bilang kompleks yang kita punya. dan disisi paling kiri dititik 0 yaitu saya sebut f0 merupakan jumlah seluruh magnitude tanpa fasa. jika hanya symmetric conjugate saja, tidak cukum untuk mendapatkan ifft yang hasilnya bilangan real di domain waktu.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s