यह मैनुअल बिलिनियर ट्रांसफॉर्मेशन मतलाब से अलग परिणाम क्यों देता है?


10

मैं के साथ कटऑफ आवृत्ति एक प्रथम क्रम बटरवर्थ फिल्टर मिल गया है । इसका स्थानान्तरण समारोह तब हैωc

H(s)=ωcs+ωc

एक (उस फ़ंक्शन को क्या कहा जाता है?) को खोजने के लिए बिलिनियर ट्रांसफॉर्मेशन का उपयोग करके मुझे मिलता हैH(z)

H(z)=ωc2Tz1z+1+ωc=ωcz+ωc(2T+ωc)z+ωc2T

हालाँकि, मैं इस परिणाम को मैटलैब के साथ सामंजस्य नहीं कर सकता। यह गलत लगता है, कोई फर्क नहीं पड़ता कि का क्या मूल्य है । मैं मानता हूं कि और नीचे H ( z ) के गुणांक हैं ।TBAH(z)

>> [B,A] = butter(1,0.5)
B = 0.5000    0.5000
A = 1.0000   -0.0000
>> [B,A] = butter(1,0.6)
B = 0.5792    0.5792
A = 1.0000    0.1584
>> [B,A] = butter(1,0.7)
B = 0.6625    0.6625
A = 1.0000    0.3249
>> [B,A] = butter(1,0.8)
B = 0.7548    0.7548
A = 1.0000    0.5095

मुझे क्या गलतफहमी है?


MATLAB एनालॉग-टू-डिजिटल रूपांतरण का उपयोग नहीं करता है। यह फ़िल्टर को डिजिटल रूप से डिज़ाइन करता है, इसलिए बिलिनियर ट्रांसफॉर्म विचार लागू नहीं हो सकता है।
फ़ोनॉन

1
@Phonon: यह उत्तर इंगित करता है कि मतलाब बिलिनियर रूपांतरण का किसी तरह से उपयोग करता है।
एंड्रियास

यहाँ खेल के लिए देर हो चुकी है लेकिन सभी अपरकेस फ़ंक्शंस एच ऑफ़ ज़ेड / एस / ओमेगा को आमतौर पर ट्रांसफर फ़ंक्शन कहा जाता है। जब तर्क समय या नमूने है, यह आवेग प्रतिक्रिया कहा जाता है और यह आमतौर पर नीचा, एच है। तो अंतरण क्रिया आवेग प्रतिक्रिया का परिवर्तन (Z, Fourier, Laplace अनुप्रयोग के आधार पर) है।
एमैनुएल लैंडेहोम

जवाबों:


10

कुछ बातें:

प्रतिस्थापन s = 2 बनाने से पहलेs=2Tz1z+1

ωc,w=2Ttan(ωcT2)

ωc,wz±π

butterT(0,1)

ωn=ωc2πfs2

ωn=ωcπfs

ωn=ωcTπ

ωcomegac,wH(z)H(s)

H(s)

sz

5

MATLAB के butterफ़ंक्शन के लिए कोड खोलते समय , हम देखते हैं कि यह आवृत्ति पूर्व-वारिंग का उपयोग करता है :

%# step 1: get analog, pre-warped frequencies
if ~analog,
    fs = 2;
    u = 2*fs*tan(pi*Wn/fs);
else
    u = Wn;
end
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.