কেন এফএফটি বিনগুলি শূন্য করে ফিল্টার করা খারাপ ধারণা?


72

এটিতে কোনও এফএফটি সম্পাদন করে, কিছু বিনা শূন্য করে এবং তারপরে একটি আইএফএফটি সম্পাদন করে সিগন্যালটি ফিল্টার করা খুব সহজ। এই ক্ষেত্রে:

t = linspace(0, 1, 256, endpoint=False)
x = sin(2 * pi * 3 * t) + cos(2 * pi * 100 * t)
X = fft(x)
X[64:192] = 0
y = ifft(X)

উচ্চ ফ্রিকোয়েন্সি উপাদানটি এই "ইটওয়াল" এফএফটি ফিল্টার দ্বারা সম্পূর্ণ অপসারণ করা হয়।

তবে আমি শুনেছি এটি ব্যবহারের জন্য ভাল পদ্ধতি নয়।

  • কেন এটি সাধারণত একটি খারাপ ধারণা?
  • এমন পরিস্থিতি রয়েছে যেখানে এটি একটি ভাল বা ভাল পছন্দ?

[ পিচেনেটস দ্বারা প্রস্তাবিত ]

উত্তর:


74

ফ্রিকোয়েন্সি ডোমেনে জিরোং বিনগুলি ফ্রিকোয়েন্সি ডোমেনের একটি আয়তক্ষেত্রাকার উইন্ডো দ্বারা গুণ করার সমান। ফ্রিকোয়েন্সি ডোমেনে উইন্ডো দ্বারা গুণ করা সময় ডোমেনে সেই উইন্ডোটির রূপান্তর দ্বারা বিজ্ঞপ্তিযুক্ত সমঝোতার সমান। একটি আয়তক্ষেত্রাকার উইন্ডোর রূপান্তরটি সিনক ফাংশন ( ome )। নোট করুন যে সিন্ক ফাংশনে প্রচুর পরিমাণে রিপলস এবং রিপল রয়েছে যা ডোমেন অ্যাপারচারের পুরো প্রস্থকে প্রসারিত করে। যদি এমন কোনও সময়-ডোমেন ফিল্টার যা এই সমস্তগুলি রিপলগুলি আউটপুট করতে পারে (বেজে উঠছে) যদি "খারাপ ধারণা" হয় তবে শূণ্য বিনগুলিও হয়।sin(ωt)/ωt

এফএফটি অ্যাপারচার প্রস্থে "বিনয়ের মাঝে" বা অ-পূর্ণসংখ্যার পর্যায়ক্রমিক বর্ণালী সামগ্রীর জন্য এই লহরগুলি সবচেয়ে বড় হবে। সুতরাং যদি আপনার আসল এফএফটি ইনপুট ডেটা যদি কোনও উইন্ডো হয় যা সেই উইন্ডোতে কিছুটা অ পর্যায়ক্রমিক হয় না (যেমন সর্বাধিক অ-সিঙ্ক্রোনালি নমুনাযুক্ত "রিয়েল ওয়ার্ল্ড" সিগন্যাল), তবে সেই নির্দিষ্ট নিদর্শনগুলি শূন্য-আইং বিন দ্বারা উত্পাদিত হবে।

এটি দেখার আরেকটি উপায় হ'ল প্রতিটি এফএফটি ফলাফল বিন সময় ডোমেনে সাইন ওয়েভের একটি নির্দিষ্ট ফ্রিকোয়েন্সি উপস্থাপন করে। সুতরাং একটি বিন শূন্য করা একই সাইন ওয়েভ বিয়োগ হিসাবে একই ফল উত্পাদন করতে পারে, বা, সমতুল্যভাবে, একটি সঠিক এফএফটি বিন কেন্দ্রের ফ্রিকোয়েন্সি এর সাইন ওয়েভ যোগ করে তবে বিপরীত পর্বের সাথে। মনে রাখবেন যে যদি সময় ডোমেনের কিছু সামগ্রীর ফ্রিকোয়েন্সি এফএফটি প্রস্থে পুরোপুরি পূর্ণসংখ্যার পর্যায়ক্রমিক না হয়, তবে একেবারে পূর্ণসংখ্য পর্যায়ক্রমিক সাইন ওয়েভের বিপরীত যুক্ত করে এটি বাতিল করার চেষ্টা করলে নীরবতা তৈরি হবে না, এমন কিছু যা দেখতে আরও ভাল লাগে একটি "বীট" নোট (এএম একটি ভিন্ন ফ্রিকোয়েন্সি মডেলের সাইন ওয়েভ)। আবার, সম্ভবত যা চেয়েছিল তা নয়।

বিপরীতভাবে, যদি আপনার আসল সময়ের ডোমেন সিগন্যালটি কেবল কয়েকটি খাঁটি অপরিশোধিত সাইনোসয়েড থাকে যা ঠিক এফএফটি অ্যাপারচার প্রস্থে পূর্ণসংখ্যা হয় তবে শূন্য-আইএনএফএফটি বিনগুলি নিদর্শনগুলি ছাড়াই সরিয়ে ফেলবে।


3
এই উত্তরে ভাল জিনিস রয়েছে তবে আমি গীবস প্রভাবের দিকে বেশি মনোযোগ দিতে চাই।
জিম ক্লে


@ হটপাউ 2 এটি একটি ভাল ব্যাখ্যা। যাইহোক, আমার এটির একটি রেফারেন্স প্রয়োজন এবং এটির সনাক্তকরণে কিছুটা অসুবিধা খুঁজে পাচ্ছি। এই কারণেই আমরা ফ্রিকোয়েন্সি ডোমেনে কাজ না করে সময় ডোমেন ফিল্টারিং করি। (এছাড়াও, টাইম ডোমেনটি রিয়েল টাইম হতে পারে)) তবে, কেউ এটিকে উল্লেখ করে শুরু করার কথা মনে হচ্ছে না!
হিউ

এটি কীভাবে ফিল্টার ডিজাইনের জন্য উইন্ডো পদ্ধতির সাথে সম্পর্কিত হতে পারে?
ফিলিপ পিন্টো

যে কোনও আয়তক্ষেত্রাকার উইন্ডোটির সাথে একটি ভন হ্যান উইন্ডো (ইটাল।) এর রূপান্তর তুলনা করুন। সাধারণভাবে আরও ভাল ফিল্টার প্রতিক্রিয়া, বিশেষত স্টপ-ব্যান্ডের এফএফটি বিনের মধ্যে। সাধারণভাবে, হঠাৎ করে জিরোং বিনগুলি রূপান্তরগুলির নিকটে শূন্যের চেয়ে খারাপ হয়।
হটপাউ 2

3

এই প্রশ্নটি আমাকে দীর্ঘকাল ধরেও বিভ্রান্ত করেছে। @ হটপাউ 2 এর ব্যাখ্যাটি ভাল। আপনি মাতলাব ব্যবহার করে সাধারণ পরীক্ষায় আগ্রহী হতে পারেন।

https://poweidsplearningpath.blogspot.com/2019/04/dftidft.html


আপডেট তথ্য।

এই সত্যটি যাচাই করা সহজ, আমাদের কেবল সতর্কতার সাথে একটি আদর্শ (?) ব্যান্ড পাস ফিল্টারের অনুপ্রেরণামূলক প্রতিক্রিয়া বর্ণালীটি পর্যবেক্ষণ করতে হবে যা কেবল এফএফটি বিনগুলি জিরো করে ফেলেছে। আমার কেন "সাবধানে" বিজ্ঞাপনটি যুক্ত করা দরকার? আমরা যদি অনুপ্রবেশের প্রতিক্রিয়া পর্যবেক্ষণ করতে কেবল এফএফটি-র একই আকার ব্যবহার করি, তবে চিত্র 1 এ দেখানো হয়েছে বলে আমরা প্রতারণা করব । তবুও, যদি আমরা ফিল্টারটির আউটপুট পর্যবেক্ষণ করার সময় ডিএফটি এর ক্রম যুক্ত করি, অর্থাত, শূন্য প্যাডিং প্রতিক্রিয়া দেখায়, আমরা চিত্র 2 তে বর্ণিত চিত্র হিসাবে গিগস ঘটনাটি, ফ্রিকোয়েন্সি ডোমেনে রিপলগুলি খুঁজে পেতে পারি ।

বাস্তবে ফলাফলগুলি উইন্ডোংয়ের প্রভাব থেকে আসে। আপনি যদি সমস্যাটি সম্পূর্ণরূপে বুঝতে চান তবে অনুগ্রহ করে ডিএসপি (1) এর বাইবেলের অধ্যায় 7.6 এবং অধ্যায় 10.1-10.2 দেখুন। সংক্ষেপে, তিনটি মূল পয়েন্ট এখানে উল্লেখ করা হয়।

  1. ডিএফটি (এফএফটি) এর উইন্ডোর আকার এবং ক্রম সম্পূর্ণ স্বাধীন। তাদের একসাথে মিশ্রিত করবেন না।
  2. উইন্ডোর বৈশিষ্ট্য (টাইপ / আকার) ডিটিএফটি আকারে আধিপত্য করে। (উদাঃ ফ্রিকোয়েন্সি প্রতিক্রিয়াতে বৃহত্তর প্রধান লব সীসা বৃহত্তর ক্ষণস্থায়ী ব্যান্ড।)
  3. ডিএফটি হ'ল ফ্রিকোয়েন্সি ডোমেনে ডিটিএফটি-র নমুনা। তদুপরি, ডিএফটি-র ক্রমটি তত বেশি, ডিএফটি-র স্পেনট্রামটি হ্রাসযোগ্য।

সুতরাং, চিত্র 2-তে ডেনসার স্পেকট্রামের সাহায্যে , আমরা আদর্শ (জাল) ব্যান্ড পাস ফিল্টারটির মুখোশটি দিয়ে দেখতে পারি।

এখানে চিত্র বর্ণনা লিখুনপ্রতারণামূলকভাবে ফ্রেইক। প্রতিক্রিয়া।

এখানে চিত্র বর্ণনা লিখুনফ্রিক মধ্যে গীবস ঘটনা। প্রতিক্রিয়া।

(1) অ্যালান ভি। ওপেনহাইম এবং রোনাল্ড ডব্লু। শেফার। 2009. বিচ্ছিন্ন-সময় সংকেত প্রক্রিয়াকরণ (তৃতীয় সংস্করণ)। প্রেন্টিস হল প্রেস, আপার স্যাডল রিভার, এনজে, মার্কিন যুক্তরাষ্ট্র।

fps = 15;

LPF = 1;
HPF = 2;

n = -511:512;
n0 = 0;
imp = (n==n0);

NyquistF = 1/2*fps;

%% Ideal BPF
tmp_N = 512;
tmp_n = 0:1:tmp_N-1;
freq = ( n .* fps) ./ tmp_N;
F = fft(imp, tmp_N);  
F_bpf = IdealBandpassFilter(F, fps, LPF, HPF);
imp_rep =[real(ifft(F_bpf))'];

% Zero padding.
imp_rep2 =[zeros(1,2048) real(ifft(F_bpf))' zeros(1,2048)];

N = 2^nextpow2(length(imp_rep));
F = fft(imp_rep,N);
freq_step = fps/N;
freq = -fps/2:freq_step:fps/2-freq_step;
freq = freq(N/2+1:end)';

figure;
plot(freq,abs(F(1:N/2)));
xlabel('freq(Hz)');
ylabel('mag');
title('Mis leading Freq Response');


N = 2^nextpow2(length(imp_rep2));
F = fft(imp_rep2,N);
freq_step = fps/N;
freq = -fps/2:freq_step:fps/2-freq_step;
freq = freq(N/2+1:end)';

figure;
plot(freq,abs(F(1:N/2)));
xlabel('freq(Hz)');
ylabel('mag');
title('Zero Padding (DFT) with more points');

%% Function
function filered_signal = IdealBandpassFilter(input_signal, fs, w1, w2)

    N = length(input_signal);
    n = 0:1:N-1;
    freq = ( n .* fs) ./ N;

    filered_signal = zeros(N, 1);

    for i = 1:N
        if freq(i) > w1 & freq(i) < w2
            filered_signal(i) = input_signal(i);
        end

    end
end

এটিকে কি মন্তব্যে রূপান্তর করা যায়?
এন্ডোলিথ

দুঃখিত আমি যথেষ্ট খ্যাতি নেই। ইউআরএলে ব্যাখ্যাটি আমার নিজেরও লিখেছেন। আমি কেবল একটি পরীক্ষা কোড সরবরাহ করতে চাই যা রিপলের খারাপ প্রভাবটিকে কল্পনা করতে পারে।
পো-ওয়ে হুয়াং

1

এফএফটি দুর্বল সময় রেজোলিউশন দেয় অর্থাৎ নির্দিষ্ট ফ্রিকোয়েন্সিটি কখন উপস্থিত রয়েছে তা তথ্য দেয় না। এটি প্রদত্ত সংকেতের সময়কালের জন্য বিদ্যমান ফ্রিকোয়েন্সি উপাদানগুলির বিষয়ে তথ্য দেয়।

এফএফটি-তে বিন্যাস শূন্যের মাধ্যমে সময় ডোমেনে আইএফএফটি-র পরে খারাপ রেজোলিউশন দেয়।


তবে খুব দীর্ঘ সংকেতের জন্য ফিট এবং তারপরে ইফফ্ট নেওয়ার জন্য গণনামূলক সমস্যা রয়েছে। সিগন্যালের জিটার / রিং ফিল্টারিং এড়াতে ব্যান্ড থামানোর জন্য পাস ব্যান্ড থেকে সহজেই ট্রানজিট করতে হবে।
ইত্তা গৌতমী

"এফএফটি দুর্বল সময় রেজোলিউশন দেয়" এফএফটি কোনও সময় রেজোলিউশন দেয় না, এটি একটি বর্ণালী ডোমেন রূপান্তর করে এবং সুতরাং যেমনটি পরে বলেছিল, কেবলমাত্র একটি সংকেতের ফ্রিকোয়েন্সি উপাদানগুলি সম্পর্কে তথ্য দেয়।
এডপারাডক্স

একটি এফএফটি দ্বারা সরবরাহিত রেজোলিউশনটি এর উইন্ডোর দৈর্ঘ্য। এফএফটি উইন্ডোটির বাইরের যে কোনও কিছুই এফএফটির উইন্ডোর অভ্যন্তরে থাকায় সমাধান করা হয় না।
হটপাউ 2
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.