প্রায় সব ক্ষেত্রেই আপনার সেরা পছন্দটি সমঝোতা বা এফএফটি নয় তবে সরাসরি আইআইআর ফিল্টারটি সরাসরি প্রয়োগ করা হয় (উদাহরণস্বরূপ সসফিল্ট () ফাংশন ব্যবহার করে)। এটি সিপিইউ এবং মেমরির ব্যবহারের ক্ষেত্রে আরও কার্যকর হবে।
এটি একটি সংখ্যাগত পার্থক্য তৈরি করে কিনা তা নির্দিষ্ট ফিল্টারটির উপর নির্ভর করে। একমাত্র ক্ষেত্রে যেখানে কিছুটা পার্থক্য সরে যেতে পারে তা হ'ল যদি খুঁটিগুলি খুব একক বৃত্তের খুব কাছাকাছি থাকে। এমনকি কয়েকটি কৌশল যা সাহায্য করতে পারে। স্থানান্তর ফাংশন উপস্থাপনা এবং ফিল্টার ব্যবহার করবেন না () তবে সস্ফিল্ট () সহ খুঁটি এবং জিরো ব্যবহার করুন। পার্থক্য জন্য এখানে একটি উদাহরণ।
n = 2^16; % filter length
fs = 44100; % sample rate
x = zeros(n,1); x(1) = 1;
f0 = 15; % cutoff frequency in Hz
% design with poles and zeroes
[z,p,k] = butter(5,f0*2/fs);
clf
plot(sosfilt(zp2sos(z,p,k),x));
% design with transfer function
[b,a] = butter(5,f0*2/fs);
hold on
plot(filter(b,a,x),'k');
ফিল্টার () প্রায় 15Hz @ 44.1kHz এর কাট অফে খারাপ হয়। সসফিল্ট () এর জন্য কাটফফ কোনও সমস্যা ছাড়াই ৪৪.১ কেএইচজেডের ১/১০০ নীচে থাকতে পারে।
যদি আপনার স্থায়িত্বের সমস্যা থাকে তবে এফএফটি খুব একটা সহায়তা করে না। যেহেতু আপনার ফিল্টারটি আইআইআর ফিল্টার, তাই আবেগের প্রতিক্রিয়া অসীম এবং প্রথমে কেটে যেতে হবে। এই খুব কম ফ্রিকোয়েন্সিতে প্ররোচিত প্রতিক্রিয়া এত দীর্ঘ হয়ে যায় যে এফএফটি এছাড়াও অযৌক্তিক হয়ে ওঠে।
উদাহরণস্বরূপ, যদি আপনি 1/100 হার্জ @ ৪৪.১ কেজি হার্জের একটি কাট অফ চান এবং ১০০ ডিবি এর আবেগ প্রতিক্রিয়াতে একটি গতিশীল পরিসর চান, আপনার প্রায় 25 মিলিয়ন নমুনা প্রয়োজন !!! এটি প্রায় 10 মিনিট 44.1 kHz এ এবং অনেকগুলি, আপনার আসল সংকেতের চেয়ে বহুগুণ বেশি