იდეალური პასუხიდან პრაქტიკულ ფილტრამდე
ჰამინგმა წარმოადგინა FIR ფილტრების დიზაინის ოთხ-ნაბიჯი მეთოდი ფურიეს სერიის გამოყენებით.
ნაბიჯი 1: განსაზღვრეთ იდეალური პასუხი
განსაზღვრეთ H_ideal(f): ზუსტი სიხშირის პასუხი, რომელიც გსურთ. დაბალი გამტარობის ფილტრისთვის: H = 1 f < f_c-სთვის, H = 0 f > f_c-სთვის. ეს არის საფეხურო ფუნქცია სიხშირის დომენში.
ნაბიჯი 2: გამოთვალეთ ფურიეს კოეფიციენტები
გაფართოვეთ H_ideal(f) ფურიეს სერიად სიხშირის ცვლადში. კოეფიციენტები c_k არის ფილტრის იდეალური იმპულსური პასუხის მნიშვნელობები:
c_k = ∫₀¹ H_ideal(f) · e^{i2πfk} df
დაბალი გამტარობის ფილტრისთვის f_c ზღვარით: c_k = sin(2πf_c·k) / (πk) k ≠ 0-სთვის, c_0 = 2f_c.
ეს იმპულსური პასუხი უსასრულოა — sinc ფუნქცია უსასრულოდ გრძელდება დროში. პრაქტიკულ ფილტრს სჭირდება სასრული რაოდენობის კოეფიციენტები.
ნაბიჯი 3: შეკვეცეთ 2N+1 წევრამდე
შეინახეთ მხოლოდ კოეფიციენტები c_k |k| ≤ N-სთვის. 2N+1 წევრის ეს მართკუთხა ფანჯარა არის უმარტივესი შეკვეცა. ის აწარმოებს გიბსის ფენომენს: ≈9% გადახტომა ზღვრის მახლობლად.
ნაბიჯი 4: გამოიყენეთ ფანჯარა
გაამრავლეთ შეკვეცილი კოეფიციენტები ფანჯრის ფუნქციით w_k გიბსის გადახტომის შესამცირებლად:
c̃_k = c_k · w_k
ფანჯრიანი კოეფიციენტები c̃_k განსაზღვრავენ პრაქტიკულ ფილტრს.
ფურიეს კოეფიციენტების გამოთვლა
დაბალი გამტარობის ფილტრის ფურიეს კოეფიციენტის ფორმულა c_k = sin(2πf_c·k) / (πk) f_c ზღვარით იძლევა იმპულსურ პასუხს.
ღრმა-გამტარი ფილტრისთვის f_l ქვედა ზღვარით და f_u ზედა ზღვარით, იდეალური პასუხის ფურიეს კოეფიციენტი შემდეგია: c_k = [sin(2πf_u·k) − sin(2πf_l·k)] / (πk).
როგორ ამცირებენ ფანჯრები გიბსის გადახტომას
ფანჯრის ფუნქცია w_k ანელებს შეკვეცილი კოეფიციენტის თანმიმდევრობას მისი ცენტრალური მნიშვნელობიდან ნულამდე краях. ანელება ამოიღებს მკვეთრ კიდეებს, რომელიც შემოვიდა მართკუთხა შეკვეცით.
რატომ მუშაობს ანელება
გიბსის გადახტომა წარმოიქმნება იმის გამო, რომ მართკუთხა ფანჯრის ფურიეს ტრანსფორმაცია (sinc ფუნქცია) აქვს დიდი გვერდითი ტალღა. ეს გვერდითი ტალღა დამატებით ერთმანეთს უწყვეტობის მახლობლად ≈9% გადახტომის მისაღებად.
გლუვი ფანჯარას ფურიეს ტრანსფორმაცია აქვს უფრო მცირე გვერდითი ტალღა. კოეფიციენტების გამრავლება ფანჯრით აკონვოლვებს იდეალურ სიხშირის პასუხს ფანჯრის ფურიეს ტრანსფორმაციით. უფრო მცირე გვერდითი ტალღა → ნაკლები რიპლი.
ჩვეულებრივი ფანჯრები
მართკუთხა (ფანჯრის გარეშე): გვერდითი ტალღა ≈ −13 დბ, გიბსი ≈ 9%.
ჰანი (ვან ჰანი): w_k = 0.5 + 0.5·cos(πk/N). გვერდითი ტალღა ≈ −31 დბ.
ჰამინგი: w_k = 0.54 + 0.46·cos(πk/N). გვერდითი ტალღა ≈ −41 დბ, პირველი გვერდითი ტალღა ≈ −43 დბ. გიბსი < 0.2%.
კაიზერი: w_k = I₀(α·√(1−(k/N)²)) / I₀(α). რეგულირებადი: α აკონტროლებს გვერდითი ტალღის დონეს, რაც საშუალებას იძლევა დიზაინს გაცვალოს გვერდითი ტალღის სიმაღლე გადასვლის ზოლის სიგანეზე.
ფანჯრის კომპრომისი
ყველა ფანჯარა აკისრებს კომპრომისს: გვერდითი ტალღების დაბუქება ყოველთვის აძლიერებს მთავარ ტალღას.
უფრო ფართო მთავარი ტალღა ნიშნავს უფრო ფართო გადასვლის ზოლს — სიხშირების დიაპაზონი გამტარი ზოლსა & აღკვეთის ზოლს შორის.
ჰამინგმა ეს ფორმალიზაცია აკეთა კაიზერის დიზაინის პარამეტრების თვალსაზრისით:
- δ: დაშვებული რიპლი (ვერტიკალური ტოლერანცია იდეალურიდან — რამდენი შეიძლება პასუხმა გადახრა 0 ან 1-დან)
- ΔF: გადასვლის სიგანე (ჰორიზონტალური ტოლერანცია — რამდენი ვიწროა გადასვლა გამტარიდან აღკვეთამდე)
კაიზერის მეთოდი პოულობს როგორც N-ს (კოეფიციენტების რაოდენობა) ისე α-ს (ფანჯრის ფორმის პარამეტრი) მხოლოდ δ-დან და ΔF-დან. არა გამოცდებ-შეცდომა.
სპეციფიკაციებიდან კოეფიციენტებამდე
კაიზერის მეთოდი იღებს ორ სპეციფიკაციას — δ (რიპლის ტოლერანცია) და ΔF (გადასვლის სიგანე) — და აწარმოებს N-ს და ფანჯრის კოეფიციენტებს გამოცდებ-შეცდომის გარეშე.
დიზაინის თანმიმდევრობა
1. გამოთვალეთ A = −20·log₁₀(δ) (ატენუაცია დბ-ში)
2. გამოთვალეთ ფორმის პარამეტრი α:
- თუ A > 50: α = 0.1102·(A − 8.7)
- თუ 21 ≤ A ≤ 50: α = 0.5842·(A − 21)^{0.4} + 0.07886·(A − 21)
- თუ A < 21: α = 0 (მართკუთხა ფანჯარა)
3. გამოთვალეთ N = (A − 8) / (2.285 · 2πΔF)
4. გამოთვალეთ კაიზერის ფანჯრის წონები: w_k = I₀(α·√(1−(k/N)²)) / I₀(α)
5. გაამრავლეთ იდეალური ფურიეს კოეფიციენტები ფანჯრის წონებზე
6. შეაფასეთ შედეგის ტრანსფერული ფუნქცია და შეამოწმეთ რიპლი δ-წინააღმდეგ. თუ რიპლი აჭარბებს δ-ს (კიდეს ჩარევა), გაიმეორეთ უფრო მცირე ტოლერანციით.
ჰამინგმა აღნიშნა: კაიზერმა მივიდა ექსპონენტ 0.4-მდე 0.5 (ზედმეტი) სცდომით და აღმოაჩინა, რომ 0.4 კარგად ჯდებოდა. კომპიუტერი სამეცნიერო ინსტრუმენტი იყო თეორიული კვლევისთვის.
კაიზერის მეთოდის გამოყენება
Bessel ფუნქცია I₀(x) ჩნდება კაიზერის ფანჯრის ფორმულაში. იგი გამოითვლება სწრაფად კონვერგენტული სერიით:
I₀(x) = Σ_{m=0}^∞ [(x/2)^m / m!]²
მცირე x-ისთვის სერია კონვერგენტობს რამდენიმე წევრით m!² მნიშვნელის გამო.