हैमिंग ने डिजिटल फिल्टर कैसे सीखा
हैमिंग एक विद्युत इंजीनियर के रूप में नहीं, बल्कि एक गणितज्ञ के रूप में डिजिटल फिल्टर में आया। जब उसने इंजीनियरों से पूछा कि वे बहुपदों या बेसेल फ़ंक्शन के बजाय साइनसॉइड क्यों उपयोग करते हैं, तो किसी ने संतोषजनक उत्तर नहीं दिया। इसलिए वह मूल बातों पर वापस गया।
उसने पहचाना कि जटिल घातांक डिजिटल सिग्नल प्रोसेसिंग में क्यों प्रभावशाली हैं — तीन स्वतंत्र कारण। प्रत्येक कारण अकेले इस विकल्प को सही ठहराता है; एक साथ वे इसे लगभग अनिवार्य बनाते हैं।
कारण 1: समय अपरिवर्तनीयता
अधिकांश सिग्नल प्रोसेसिंग प्रणालियों का कोई प्राकृतिक समय मूल नहीं है। दोपहर में लागू किया गया फिल्टर मध्यरात्रि में लागू उसी फिल्टर के समान व्यवहार करना चाहिए। समय अपरिवर्तनीयता की यह बाधा आइजनफ़ंक्शन को जटिल घातांक होने के लिए बाध्य करती है।
गणितीय शब्दों में: यदि एक रैखिक, समय-अपरिवर्तनीय (LTI) प्रणाली का इनपुट x(n) = e^{i2πfn} है, तो आउटपुट भी आवृत्ति f पर दोलन करना चाहिए। केवल जटिल घातांक यह पूरा करते हैं।
कारण 2: रैखिकता
रैखिक प्रणालियां सुपरपोजिशन का पालन करती हैं। किसी भी रैखिक ऑपरेटर के आइजनफ़ंक्शन वह फ़ंक्शन हैं जो अपरिवर्तित (स्केलिंग को छोड़कर) निकलते हैं जब ऑपरेटर उन पर कार्य करता है। शिफ्ट ऑपरेटर S के लिए: x(n) → x(n−1), आइजनफ़ंक्शन बिल्कुल e^{i2πfn} हैं।
कारण 3: नाइक्विस्ट सैंपलिंग
यदि एक सतत सिग्नल में f_max से ऊपर कोई आवृत्ति नहीं है, तो इसे दर ≥ 2f_max पर सैंपलिंग करने से सभी जानकारी कैप्चर होती है। यह नाइक्विस्ट-शैनन सैंपलिंग प्रमेय केवल फूरियर प्रतिनिधित्व के लिए सतत & असतत सिग्नल प्रोसेसिंग को स्वच्छता से जोड़ता है।
समान-दूरी वाली सैंपलिंग के तहत, एक एकल उच्च आवृत्ति एक एकल निम्न आवृत्ति के लिए उपनाम लेती है। बहुपद आधारों के तहत, t की एक एकल उच्च शक्ति कई निम्न शक्तियों के लिए उपनाम लेती है: एक गड़बड़ जो फूरियर पूरी तरह से टालता है।
स्थानांतरण फ़ंक्शन आइजनमान के रूप में
जब e^{i2πfn} एक रैखिक, समय-अपरिवर्तनीय फिल्टर में प्रवेश करता है, तो आउटपुट कुछ जटिल संख्या H(f) के लिए H(f) · e^{i2πfn} के बराबर होता है। फिल्टर दोलन को स्केल & स्थानांतरित करता है लेकिन इसकी आवृत्ति नहीं बदल सकता।
H(f) आवृत्ति f पर फिल्टर के सभी व्यवहार को एक एकल जटिल संख्या में एकत्रित करता है। गुणांक c_k वाले फिल्टर के लिए:
H(f) = Σ c_k · e^{−i2πfk}
यह सूत्र H(f) को गुणांक अनुक्रम का फूरियर रूपांतरण बनाता है। प्रत्येक आवृत्ति चैनल स्वतंत्र रूप से संचालित होता है। फिल्टर इनपुट को आवृत्ति घटकों में विघटित करता है, प्रत्येक को H(f) से गुणा करता है, & उन्हें फिर से इकट्ठा करता है।
सैंपलिंग प्रमेय
हैमिंग ने नोट किया कि नाइक्विस्ट सैंपलिंग प्रमेय नाइक्विस्ट से पहले ज्ञात था, लेकिन नाइक्विस्ट को श्रेय मिलता है। उन्होंने पास्तूर को उद्धृत किया: 'भाग्य तैयार दिमाग का समर्थन करता है।' जो व्यक्ति किसी मौजूदा विचार को व्यावहारिक जरूरत से जोड़ता है वह प्रसिद्धि अर्जित करता है।
प्रमेय
यदि एक सतत सिग्नल x(t) में f_max से ऊपर कोई आवृत्ति घटक नहीं है, तो इसे दर f_s ≥ 2·f_max पर सैंपलिंग करने से सभी जानकारी कैप्चर होती है। मूल सिग्नल नमूनों से बिल्कुल पुनर्निर्मित होता है।
दहलीज f_s / 2 = f_max नाइक्विस्ट का नाम रखती है। बिल्कुल नाइक्विस्ट दर (2·f_max) पर सैंपलिंग सिद्धांत में पर्याप्त है लेकिन व्यावहारिक रूप से खतरनाक है: कोई भी मामूली बेमेल उच्चतम आवृत्ति के लिए अलियास करता है।
अलियासिंग
जब एक सिग्नल में f_s/2 से ऊपर आवृत्तियां होती हैं, तो ये आवृत्तियां बैंड [0, f_s/2] में वापस मुड़ती हैं। f = f_s/2 + δ पर एक साइनसॉइड f_s/2 − δ पर एक से अभेद्य दिखाई देता है। ट्यूकी ने इस प्रतिरूपण को नाम देने के लिए शब्द अलियासिंग गढ़ा।
ज्यामितीय चित्र: आवृत्तियों f & f + f_s पर जटिल घातांक पूर्णांक समय पर समान नमूने उत्पन्न करते हैं। वे एक अलियास साझा करते हैं।
सैंपलिंग दर चुनना
एक व्यावहारिक डिजिटल ऑडियो प्रणाली फिल्टर डिजाइन करने से पहले अपनी सैंपलिंग दर चुनना चाहिए। मनुष्य लगभग 20 kHz तक सुनते हैं। 44.1 kHz की मानक CD सैंपलिंग दर नाइक्विस्ट आवृत्ति को 22.05 kHz पर सेट करती है।
सैंपलिंग से पहले, एक एंटी-अलियासिंग फिल्टर नाइक्विस्ट आवृत्ति से ऊपर की सभी आवृत्तियों को हटाना चाहिए। यदि कोई 25 kHz घटक सैंपलर में प्रवेश करता है, तो यह 44100 − 25000 = 19.1 kHz के लिए अलियास करता है — सुनने योग्य।
हार्डवेयर की तीन सीमाएं
हैमिंग ने गणित के साथ एक व्यापक पाठ सिखाया। डिजिटल फिल्टर मौजूद हैं क्योंकि हार्डवेयर की सीमाएं हैं — & इन सीमाओं को समझने से अच्छा डिजाइन बनता है।
उन्होंने हार्डवेयर प्रदर्शन को सीमित करने वाले प्रकृति के तीन नियमों की पहचान की:
1. आणविक आकार: सर्किट अनिश्चित काल तक सिकुड़ नहीं सकते। एक निश्चित पैमाने से नीचे, क्वांटम प्रभाव प्रभावशाली हैं।
2. प्रकाश की गति: सिग्नल अधिकतम 3×10⁸ m/s की गति से यात्रा करते हैं। चिप के पार प्रकाश-पारगमन-समय से तेजी से घड़ी चक्र खराबी पैदा करते हैं।
3. ऊष्मा अपव्यय: स्विचिंग बिजली की खपत करती है, जो ऊष्मा बन जाती है। सघन, तेजी से चिप्स ठंडा न होने तक अधिक गर्म हो जाते हैं।
उसका डिजाइन दर्शन सीधे अनुसरण करता है: सीमाओं को समझें, फिर ऐसी प्रणालियां डिजाइन करें जो उनके भीतर आरामदायक रूप से संचालित हों, भिन्नता & त्रुटि के लिए कमरे के साथ।
डिजिटल फिल्टर हार्डवेयर (एनालॉग सर्किट) से सॉफ्टवेयर (नमूनों पर अंकगणित) में गणना को स्थानांतरित करते हैं। यह बदलाव हार्डवेयर नाजुकता को संख्यात्मक परिशुद्धता & प्रोग्रामेबिलिटी के लिए व्यापार करता है — सैंपलिंग प्रमेय का परिणाम, चमत्कार नहीं।
हैमिंग का डिजाइन दर्शन
हैमिंग की फ्रेमिंग: एक डिजिटल फिल्टर सॉफ्टवेयर में लागू करता है जो एक एनालॉग फिल्टर हार्डवेयर में करता है। सैंपलिंग प्रमेय पुल है। एक बार जब आप जानते हैं कि पुल काम करता है, तो आप वांछित स्थानांतरण फ़ंक्शन H(f) निर्दिष्ट करके फिल्टर डिजाइन कर सकते हैं, फिर गुणांक अनुक्रम खोजते हैं जो इसे महसूस करता है।
इंजीनियर का काम विनिर्देश & अंकगणित बन जाता है, प्रेरकों को हवा देना & कैपेसिटर को सोल्डर करना नहीं।