मैं पार्क-मैकलिऑन एल्गोरिथ्म के साथ Nyquist प्रक्षेप फ़िल्टर कैसे डिज़ाइन कर सकता हूं?


17

हम आसानी से प्रक्षेप फ़िल्टर को डिज़ाइन कर सकते हैं जो पार्क्स-मैकलेलन एल्गोरिथ्म का उपयोग करके कुछ आवृत्ति-डोमेन बाधाओं का पालन करते हैं । हालाँकि, यह तुरंत स्पष्ट नहीं है कि समय-क्षेत्र की बाधाओं को कैसे लागू किया जाए; विशेष रूप से, मैं Nyquist फ़िल्टर बनाने में दिलचस्पी रखता हूं। इसलिए अगर मैं के एक कारक द्वारा ओवरसैंपलिंग कर रहा हूं N, तो मैं चाहता हूं कि kNगैर-शून्य पूर्णांक के लिए फ़िल्टर शून्य-क्रॉसिंग हो , k(यह सुनिश्चित करता है कि मेरे प्रक्षेपक को इनपुट नमूने आउटपुट अनुक्रम में दिखाई देंगे)।

मैंने हैरिस 1 को आधे बैंड फिल्टर को डिजाइन करने के लिए एक तकनीक के बारे में बात करते देखा है , यानी विशेष मामला जहां N=2। क्या इसके लिए एक सामान्य समाधान है? (मुझे पता है कि हम आसानी से विंडो विधि के साथ फिल्टर डिजाइन कर सकते हैं, लेकिन यह हमें समान नियंत्रण नहीं देता है।)

[१] संचार प्रणालियों के लिए मल्टीरेट सिग्नल प्रोसेसिंग , पीपी २०-20-२० ९



साहित्य संदर्भों के एक जोड़े का भुगतान किया जाता है, दुर्भाग्य से: एफ। मिंटज़र, "हाफ-बैंड, थर्ड-बैंड और नथ-बैंड एफआईआर फिल्टर और उनके डिजाइन पर," आईईईई ट्रांस। ध्वनिक।, भाषण और सिग्नल प्रक्रिया।, वॉल्यूम। ASSP-30, सं। ५, पीपी 7३४- T३ T, १ ९ and२ अक्टूबर। टी। सरमाकी और वाई। न्यूरो, "एफआईआर न्याक्विस्ट (एनटी-बैंड) का एक वर्ग शून्य इंटरसिमबोल हस्तक्षेप के साथ फिल्टर करता है," आईईईई ट्रांस। सर्किट और सिस्ट।, वॉल्यूम। कैस -34, सं। 10, पीपी। 1182–1190, 1987 अक्टूबर।
ओली नीमितालो

और यह पेपर जो इस बिंदु पर बहुत अधिक लगता है: एक्स झांग, " डिजाइन ऑफ मेथ-बैंड एफआईआर रैखिक चरण फ़िल्टर ," डिजिटल सिग्नल प्रोसेसिंग , हांगकांग, 2014, पीपी। 7-11 पर 19 वीं अंतर्राष्ट्रीय सम्मेलन । doi: 10.1109 / ICDSP.2014.6900776
ओली नीमतालो

जवाबों:


9

एक डिजाइन विधि, एक कि दो की शक्तियों तक सीमित है, एक हाफबैंड फिल्टर के साथ शुरू करने के लिए होगा, हर दूसरे पर शून्य डालें (वर्णक्रमीय प्रतिकृति बनाता है), फिर इसे एक दूसरे हाफबैंड फिल्टर के साथ एक व्यापक संक्रमण बैंड के साथ मनाएं। 2 की आवश्यक शक्ति प्राप्त करने तक प्रक्रिया को दोहराएं।

यहाँ एक उदाहरण है जो Fc = fs / 8 और हर 4 नमूनों में शून्य क्रॉसिंग के साथ एक लोपास फ़िल्टर बनाता है:

b0=remez(34,[0 .45 .55 1],[1 1 0 0])';
b1=remez(6,[0 .25 .75 1],[1 1 0 0])';
b0up = zeros(1,2*length(b0)-1);
b0up(1:2:end) = b0;
B0up=freqz(b0up);
b2 = conv(b0up,b1);  % length = 34*2+1 + 6 = 75 coefficients

उदाहरण फिल्टर की तुलना


मैं उसी बात का सुझाव देने जा रहा था।
फ़ोनॉन

5
भयानक ग्राफ के लिए +1। क्योंकि वे लंबे समय से बेहतर कर रहे हैं ... अक्सर उबाऊ / बुरा स्पष्टीकरण है, क्योंकि वे +1 भयानक रेखांकन होंगे।
ट्रेवर बोयड स्मिथ

5

अपनी इच्छित शून्य क्रॉसिंग प्राप्त करने के लिए एक विधि एक हाइब्रिड डिज़ाइन करना है।

पासबैंड और स्टॉपबैंड के बराबर वजन के साथ एक पार्क-मैक्लेन / रेमेज़ आधा-बैंड फ़िल्टर के साथ शुरू करें। चूंकि यह हाफबैंड फिल्टर है , इसलिए इसमें वैकल्पिक नमूनों पर शून्य होगा। फिर आप आवृत्ति डोमेन में शून्य-स्टफिंग द्वारा पाप (x) / x द्वारा समय डोमेन को प्रक्षेपित कर सकते हैं।

उदाहरण: हर 6 सैंपल पर जीरो क्रॉसिंग के साथ fs / 12 लोअरपास फ़िल्टर बनाना।

% prototype Remez filter 
taps=18; 
b = remez(taps,[0 .4 .6 1],[1 1 0 0])';  
% force halfband condition of zeros at every other sample
b(2:2:end)=0;  b(taps/2+1)=.5; 

% zero pad the time domain to give the Gibbs ripple some deadspace
B=fft(b,4*(taps+1) ); 
% split the frequency domain into two halves, split the Nyquist bin
Blo = [ B(1:length(B)/2) 0.5*B(length(B)/2+1) ]; 
Bhi = [ 0.5*B(length(B)/2+1) B(length(B)/2+2:length(B))  ]; 

% insert padding at pi to increase size 3x
Bpad = [ Blo zeros(1,3*length(B)-length(Blo)-length(Bhi) ) Bhi];  
bint = real( ifft(Bpad) ); % this has zeros every 6 samples

परिणामी फ़िल्टर करीब है, लेकिन उतना अच्छा नहीं है, जितना कि स्टॉपबैंड / पासबैंड रिपल के रूप में प्रोटोटाइप। पाप (x) / x प्रक्षेप कुछ निम्न स्तर की रिंगिंग का परिचय देता है। प्रक्षेपित फ़िल्टर में क्षीणन के आवश्यक स्तर को प्राप्त करने के लिए आपको प्रोटोटाइप फ़िल्टर को थोड़ा ओवरडिज़ाइन करने की आवश्यकता हो सकती है।


1
+1: दिलचस्प विचार; मुझे इस बारे में थोड़ा सोचने की जरूरत है। हालांकि मेरे लिए दो सवाल हैं। सबसे पहले, क्या यह कहना सुरक्षित है कि हम अपने बराबरी के डिजाइन की कमी को आधा बैंड फिल्टर करने के लिए स्केलिंग द्वारा अनुवाद कर सकते हैं? दूसरा, एन के विषम मूल्यों के बारे में क्या ?
ओलिवर चार्ल्सवर्थ

N के विषम मानों को एक एफआईआर को भी 2 से कम करके नियंत्रित किया जा सकता है। उदाहरण के लिए, यदि आप हर 7 नमूने के लिए शून्य चाहते हैं, तो हर 14 के साथ शून्य के साथ एक देवदार डिज़ाइन करें, फिर इस तरह से निर्धारित करें कि आप शून्य को बनाए रखें। स्पेक्ट्रम के शीर्ष आधे हिस्से को अलियास किया जाएगा, लेकिन एकीकृत साइडेलोब व्यवहार में बहुत नगण्य हो सकते हैं।
मार्क बोरगेरिंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.