Desain filter digital adalah topik yang sangat besar dan matang dan - seperti yang telah Anda sebutkan dalam pertanyaan Anda - ada banyak materi yang tersedia. Yang ingin saya coba di sini adalah untuk membantu Anda memulai dan membuat materi yang ada lebih mudah diakses. Alih-alih filter digital saya sebenarnya harus berbicara tentang filter waktu diskrit karena saya tidak akan mempertimbangkan koefisien dan kuantisasi sinyal di sini. Anda sudah tahu tentang filter FIR dan IIR, dan Anda juga tahu beberapa struktur filter seperti DF I dan II. Namun demikian, izinkan saya mulai dengan beberapa dasar:
Filter non-rekursif linear time-invariant (LTI) dapat dijelaskan dengan persamaan perbedaan berikut
y(n)=h0x(n)+h1x(n−1)+…+hN−1x(n−N+1)=∑k=0N−1hkx(n−k)(1)
di mana adalah urutan output, adalah urutan input, adalah indeks waktu, adalah koefisien filter, dan adalah panjang filter (jumlah keran). Filter mengetuk juga merupakan respon impuls dari filter karena jika sinyal input adalah impuls, yaitu , makay(n)x(n)nhkNhkx(n)=δ(n)y(n)=hn(jika memori filter telah diinisialisasi dengan nol). Persamaan (1) menjelaskan sistem respon impuls terbatas (FIR) linear time-invariant. Jumlah di sisi kanan (1) adalah jumlah konvolusi, yaitu sinyal output diperoleh dengan mengkonvolusi sinyal input dengan respons impuls. Ini selalu benar, tetapi untuk IIR filter kita tidak dapat secara eksplisit menghitung jumlah lilitan karena respon impuls panjang tak terhingga, yaitu terdapat banyak koefisien hk. Satu keuntungan penting dari filter FIR adalah bahwa mereka selalu stabil, yaitu untuk urutan input yang dibatasi, urutan output selalu dibatasi. Keuntungan lain adalah bahwa filter FIR selalu dapat diwujudkan dengan fase linier persis, yaitu mereka tidak akan menambahkan distorsi fase selain dari penundaan murni. Lebih jauh, masalah desain biasanya lebih mudah, seperti yang akan kita lihat nanti.
Filter LTI rekursif dijelaskan oleh persamaan perbedaan berikut:
y(n)=b0x(n)+b1x(n−1)+…+bMx(n−M)−−a1y(n−1)−…−aNy(n−N)(2)
bkakak karena filter IIR dapat menjadi tidak stabil, yaitu urutan outputnya dapat tidak terikat, bahkan dengan urutan input yang dibatasi.
Filter dapat dirancang sesuai dengan spesifikasi baik dalam domain waktu (sampel) atau dalam domain frekuensi, atau keduanya. Karena Anda telah menyebutkan frekuensi cut-off dalam pertanyaan Anda, saya menganggap Anda lebih tertarik pada spesifikasi dalam domain frekuensi. Dalam hal ini Anda perlu melihat tanggapan frekuensi sistem FIR dan IIR. Respons frekuensi suatu sistem adalah transformasi Fourier dari respons impulsnya, dengan asumsi bahwa sistem itu ada (yang merupakan kasus untuk sistem yang stabil). Respons frekuensi filter FIR adalah
H(ejθ)=∑k=0N−1hke−jkθ(3)
θ
θ=2πffs
ffs
H(ejθ)=∑Mk=0bke−jθ1+∑Nk=1ake−jθ(4)
ak=0k=1,…,N
Sekarang mari kita lihat metode desain filter. Untuk filter FIR, Anda dapat mengambil transformasi Fourier terbalik dari respons frekuensi yang diinginkan untuk mendapatkan respons impuls filter, yang secara langsung sesuai dengan koefisien filter. Karena Anda memperkirakan respons yang diinginkan dengan respons impuls panjang hingga, Anda harus menerapkan jendela halus ke respons impuls yang diperoleh untuk meminimalkan osilasi dalam respons frekuensi aktual karena fenomena Gibbs. Metode ini disebut metode frekuensi-sampling.
Untuk filter standar sederhana seperti filter lowpass, highpass, bandpass atau bandstop yang ideal (dan beberapa lainnya), Anda bahkan dapat secara analitik menghitung respons impuls yang tepat dengan mengambil transformasi Fourier terbalik dari respons ideal yang diinginkan:
hk=12π∫π−πH(ejθ)ejkθdθ
Integral ini mudah untuk dievaluasi untuk respon yang diinginkan secara konstan, seperti halnya filter selektif frekuensi yang ideal. Ini akan memberi Anda respons impuls non-kausal yang sangat panjang, yang perlu di-windowed dan digeser untuk menjadikannya terbatas dan kausal. Metode ini dikenal sebagai desain jendela.
Tentu saja ada banyak metode desain filter FIR lainnya. Salah satu metode numerik yang penting adalah algoritma pertukaran Parks-McClellan yang terkenal yang merancang filter optimal dengan riak passband dan stopband konstan. Ini adalah metode pendekatan numerik dan ada banyak implementasi perangkat lunak yang tersedia, misalnya dalam Matlab dan Oktaf.
ssz
Tentu saja ada banyak metode yang lebih menarik dan berguna, tergantung pada jenis spesifikasi yang Anda miliki, tetapi saya harap ini akan membantu Anda memulai dan akan membuat materi yang Anda temukan lebih mudah dimengerti. Buku yang sangat bagus (dan gratis) yang membahas beberapa metode desain filter dasar (dan banyak lagi) adalah Intoduction to Signal Processing oleh Orfanidis. Anda dapat menemukan beberapa contoh desain di sana. Buku klasik hebat lainnya adalah Desain Filter Digital oleh Parks dan Burrus.