Misalkan kita ingin menginterpolasi sinyal periodik dengan jumlah sampel yang genap (misalnya N = 8) dengan nol-padding dalam domain frekuensi.
Biarkan DFT X=[A,B,C,D,E,F,G,H]
Sekarang mari kita padukan ke 16 sampel untuk diberikan Y
. Setiap contoh buku teks dan tutorial online saya telah melihat sisipan nol saat memberi .
(Lalu adalah sinyal interpolasi.)[Y4...Y11]
Y=[2A,2B,2C,2D,0,0,0,0,0,0,0,0,2E,2F,2G,2H]
y = idft(Y)
Kenapa tidak digunakan
Y=[2A,2B,2C,2D,E,0,0,0,0,0,0,0,E,2F,2G,2H]
?
Sejauh yang saya tahu (pengetahuan matematika saya terbatas):
- Ini meminimalkan daya total
- Ini memastikan bahwa jika
x
bernilai nyata maka begitu jugay
y
masih berpotonganx
di semua titik sampel, seperti yang diperlukan (saya pikir ini berlaku untuk dip
mana sajaY=[2A,2B,2C,2D,pE,0,0,0,0,0,0,0,(2-p)E,2F,2G,2H]
)
Jadi mengapa tidak pernah dilakukan dengan cara ini?
Sunting : x
belum tentu bernilai nyata atau terbatas band.
dft
interpolation
zero-padding
menemukan
sumber
sumber
Jawaban:
Mari kita lihat frekuensi nampan di 8-point DFT Anda:
Jadi ketika Anda melakukan interpolasi dengan faktor 2 , titikfrekuensiEmenjadi-πatau+π.
Pada pandangan pertama, saya tidak bisa melihat apa masalahnya dengan pendekatan Anda karena tidak jelas apakah harus dimasukkan ke dalam bin yang terkait dengan π atau - π .E π - π
Pada halaman Julius O. Smith III , dia menyatakan suatu kondisi:
Dan contohnya ada untuk aneh , yang menghindari masalah.N
Tidak yakin itu wajib, tapi inilah referensi lengkap untuk karya Julius:
Smith, JO Matematika Discrete Fourier Transform (DFT) dengan Aplikasi Audio, Edisi Kedua, http://ccrma.stanford.edu/~jos/mdft/ , 2007, buku online, diakses pada 28 September 2011.
sumber
Ada banyak cara untuk menginterpolasi data. Interpolasi dalam pikiran saya berarti Anda 'menggambar' garis di antara beberapa titik data. Ini bisa dilakukan dengan banyak cara. Salah satu jenis interpolasi yang berguna dalam DSP (terutama di multirate DSP) adalah 'Interpolasi terbatas'. Jika Anda google itu Anda akan mendapatkan banyak hits menarik dan bermanfaat. Apa yang Anda usulkan bukanlah interpolasi terbatas. Dalam 'upampled' x Anda, Anda memiliki komponen frekuensi yang tidak ada dalam x asli.
Edit (terlalu panjang untuk dimasukkan ke dalam komentar):
Mempertimbangkan input nyata
Dalam prakteknya meskipun akan ada beberapa distorsi karena filter dinding bata tidak realistis. Filter praktis dapat menekan / menghilangkan frekuensi dalam input atau dapat meninggalkan beberapa komponen frekuensi dalam gambar dalam sinyal yang di-upampled. Atau filter bisa membuat kompromi di antara keduanya. Saya pikir konstruksi domain frekuensi Anda juga mencerminkan kompromi ini. Dua contoh ini, mewakili dua pilihan berbeda:
Jika input terbatas pada frekuensi nyquist seperti pada referensi Anda, masalah ini akan hilang.
sumber