मेरा स्टॉप-बैंड फ़िल्टर अन्य आवृत्तियों को क्यों दर्शाता है?


12

यहां दो-टोंड सिग्नल के लिए मेरा कोड है, जहां मैं उच्च टोन को हटाने के लिए एक स्टॉप-बैंड का उपयोग करता हूं और फिर आवृत्ति डोमेन में पहले (नीले रंग में) और उसके बाद (लाल रंग में) फिल्टर गुणांकों के साथ अपने सिग्नल को समझाने के बाद प्लॉट करता हूं ।

यदि आप इस कोड को मतलाब में रखते हैं, तो आप स्पष्ट रूप से देख सकते हैं कि फ़िल्टर द्वारा उच्च आवृत्ति को सफलतापूर्वक हटा दिया गया है, फिर भी किसी कारण से कम आवृत्ति का आयाम आधे में कट गया है, और जितना अधिक मैं फ़िल्टर गुणांक के # को बढ़ाता हूं, अधिक यह सिर्फ मेरे पूरे वक्र को समतल करता है, ऐसा क्यों होता है? और मैं इसे कैसे रोक सकता हूं ताकि स्टॉप-बैंड बाहर की ओर न फैलें? यहाँ छवि और कोड है:

यहाँ छवि विवरण दर्ज करें

fSampling = 8000;
tSampling = 1 / fSampling;

t = 0: tSampling: 0.005;
एफ 0 = 1000;
एफ 1 = 3000;

xt = sin (2 * pi * F0 * t) + sin (2 * pi * F1 * t);
ht = fir1 (40, .25, 'स्टॉप');
yt = conv (xt, ht);

एफएक्सिस = -4000: 125: 4000-125;

xF = fft (xt, 64);
MagXF = fftshift (abs (xF));

साजिश (fAxis, MagXF);
रुको

yF = fft (yt, 64);
MagYF = fftshift (abs (yF));

साजिश (fAxis, MagYF, 'आर')

1
स्वाभाविक रूप से अपूर्ण में बैंडपास / बैंडस्टॉप फ़िल्टरिंग और हमेशा उन स्पेक्ट्रम के क्षेत्रों को प्रभावित करेगा जिन्हें आप अकेले छोड़ना चाहते हैं। यह जानवर की प्रकृति है।
डेनियल आर हिक्स

1
हम्म ... क्या इसका मुकाबला करने के तरीके हैं? या एक और अपेक्षाकृत सरल फ़िल्टर जो बेहतर अनुकूल होगा? मुझे notch फिल्टर्स के बारे में ज्यादा जानकारी नहीं है, लेकिन मुझे पता है कि वे वास्तव में संकीर्ण बैंड-स्टॉप फिल्टर हैं और माटलाब में उनके लिए कमांड हैं।
ज़ुबेरट्रानक

2
जैसा मैंने कहा, यह अंतर्निहित है। दूसरों की कीमत पर (और खर्च की कीमत पर) कुछ मापदंडों को अनुकूलित करने के संदर्भ में एक फ़िल्टरिंग डिज़ाइन करना हमेशा एक व्यापार बंद होता है।
डेनियल आर हिक्स

जवाबों:


12

फिल्टर में हमेशा उनकी आवृत्ति प्रतिक्रिया में एक अंतर्निहित "रोल-ऑफ" होता है, क्योंकि आप व्यावहारिक रूप से एक पास-बैंड को महसूस नहीं कर सकते हैं जो एक सही आयताकार फ़ंक्शन है। कम-पास फ़िल्टर के लिए, वह बिंदु जहां आपकी आवृत्ति प्रतिक्रिया का परिमाण -3dB हो जाता है, उसे पास-बैंड कहा जाता है और उससे आगे की सभी चीज़ों को स्टॉप-बैंड कहा जाता है (तकनीकी रूप से, कोने की आवृत्ति से परे सब कुछ, लेकिन हम ले लेंगे कोने की आवृत्ति -3 डीबी स्तर की हो)। पास-बैंड से परे आपकी आवृत्ति प्रतिक्रिया कितनी तेज़ होती है यह फ़िल्टर की लंबाई पर निर्भर करता है।

यदि आप अपने फ़िल्टर की आवृत्ति प्रतिक्रिया को htदेखते हैं, तो आप देखेंगे कि यह 1000 हर्ट्ज पर -6dB तक गिरता है:

यहाँ छवि विवरण दर्ज करें

तो यह समझ में आता है कि फ़िल्टर करने के बाद बिजली 6dB तक गिर जाती है, जिसे आप अपने आंकड़े में आयाम में एक पड़ाव के रूप में देखते हैं।

यदि आपने fir1अपने द्वारा उपयोग किए जाने वाले फ़ंक्शन के दस्तावेज़ीकरण को देखा था , तो आपको इसका भी एहसास हुआ होगा (मेरा जोर):

B = fir1(N,Wn)एक N'वें आदेश को डिजाइन करने के लिए एफआईआर डिजिटल फिल्टर को कम करें और लंबाई N+1वेक्टर में फिल्टर गुणांक लौटाता है B। कट-ऑफ फ्रीक्वेंसी Wn के बीच होनी चाहिए 0 < Wn < 1.0, जो 1.0 नमूना दर के आधे के अनुरूप हो। फ़िल्टर Bवास्तविक है और इसमें रैखिक चरण है। Wn पर फ़िल्टर का सामान्यीकृत लाभ -6 dB है।

अब तीखे फिल्टर बनाने के लिए, प्रतिक्रियाओं के साथ जो एक आयत के काफी करीब हो जाते हैं, आपको आईआईआर फिल्टर का उपयोग करना होगा, जो स्थिरता के साथ समस्याओं की अपनी मेजबान के साथ आते हैं, आदि, लेकिन निश्चित रूप से एक विकल्प। असतत-रूप 2, द्वितीय-क्रम खंड IIR फ़िल्टर लागू करने के बारे में कुछ विचारों के लिए आप यहाँ मेरा उत्तर देख सकते हैं जो बहुत तीखे कोने देता है। उदाहरण एक बैंड-पास फिल्टर के लिए है, लेकिन आप वहां उपयोग किए जाने वाले कार्यों के लिए डॉक्स को पढ़ सकते हैं और खुद कम-पास संस्करण को लागू कर सकते हैं।


1

किसी फ़िल्टर को "निर्णय" करने के लिए समय लगता है यदि कोई संकेत केवल फ़िल्टर संक्रमण के अंदर या बाहर है। एक समाधान यह है कि फिल्टर संक्रमण को केवल ब्याज के किसी भी संकेत से दूर ले जाएं, जैसे कि आपके दो परीक्षण संकेतों के बीच आधे रास्ते में, जहां, आप परीक्षण के मामले में, अपूर्ण निर्णय द्वारा विकृत करने के लिए बहुत कम संकेत है।


0

उपयोग

ht = fir1(40,.5,'stop');

इसके बजाय, और आपके पास F0 पर बहुत कम क्षीणन होगा, और F1 पर बहुत अधिक क्षीणन होगा।

यहाँ छवि विवरण दर्ज करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.