আমি কেন ফ্রিকোয়েন্সি ডোমেনে সিগন্যালগুলি চালিত করার পরিবর্তে ব্যান্ডপাসিংয়ের জন্য ডিজিটাল ফিল্টার ব্যবহার করব এবং তারপরে সেগুলি সময় ডোমেনে পুনরুদ্ধার করব?


15

আমি সিগন্যাল প্রসেসিংয়ের জন্য বেশ আছি এবং আমি জানি এই প্রশ্নটি খুব বিস্তৃত হতে পারে। তবে আমি এখনও বিশেষজ্ঞদের কাছ থেকে ইঙ্গিত শুনতে চাই।

আমাকে ম্যাটল্যাব অফলাইনে (যেমন রেকর্ডিংয়ের সমাপ্তির পরে) ইইজি (ইলেক্ট্রোয়েন্সফ্লাগ্রাম) সিগন্যালের ব্যান্ডপাস ফিল্টারিংয়ের জন্য butterবাটারওয়ার্থ ফিল্টার ওরফে সর্বাধিক ফ্ল্যাট আকারের ফিল্টার ডিজাইন করতে এবং filtfilt(জিরো-ফেজ ডিজিটাল ফিল্টারিং) ফাংশন ব্যবহার করতে শেখানো হয়েছিল । এইভাবে আপনি ডিজিটাল ফিল্টার দ্বারা সৃষ্ট অনিবার্য "বিলম্ব" এড়াতে পারবেন (অর্থাত শূন্য পর্যায়ের ফিল্টারিং)।

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

fft/ifftব্যান্ডপাস ফিল্টারিংয়ের সহজ পদ্ধতিটি ব্যবহার করার সুবিধা এবং অসুবিধাগুলি কী কী ? লোকেরা কেন এফআইআর বা আইআইআর ডিজিটাল ফিল্টার ব্যবহার করতে পছন্দ করে?

উদাহরণস্বরূপ, fft/ifftপ্রতিষ্ঠিত ডিজিটাল ফিল্টারগুলির তুলনায় পদ্ধতিটি বর্ণালী ফুটো বা রিপলগুলির জন্য আরও ঝুঁকিপূর্ণ? পদ্ধতিটি কি পর্যায় দেরীতে ভোগে? তুলনার জন্য এই ফিল্টারিং পদ্ধতির আবেগ প্রতিক্রিয়াটি কল্পনা করার কোনও উপায় আছে কি?


সম্পর্কিত (তবে অগত্যা নকল নয়) প্রশ্ন: ইলেক্ট্রনিক্স.সটাকেক্সচেঞ্জ
হেলোর্ল্ড 922

একটি সিগন্যাল ফিল্টার করতে একটি এফএফটি ব্যবহার করা একেবারে বৈধ, তবে কয়েকটি বিষয় সন্ধান করা উচিত। আরও তথ্যের জন্য এই একই প্রশ্ন / উত্তর দেখুন: stackoverflow.com/a/2949227/565542
sbell

5
এর মতো প্রশ্নগুলি সিগন্যাল প্রসেসিং সাইটের জন্য আরও উপযুক্ত হতে পারে ।
জেসন আর

2
আমি মনে করি যে সায়েন্টিস্ট এবং ইঞ্জিনিয়ারের স্টিভেন ডাব্লু স্মিথের ডিজিটাল সিগন্যাল প্রসেসিংয়ের গাইডের একটি উত্তর রয়েছে। আমি মনে করি যে তিনি বলেছেন যে নমুনা - স্যাম্পল আউট ডিজিটাল ফিল্টার সহ আরও বেশি দক্ষ। তবে, উইন্ডোটির একটি সর্বনিম্ন প্রস্থ রয়েছে (samples৪ টি নমুনা বা তার বেশি, আমি ঠিক মনে করি না) যখন এফএফটি রূপান্তরটি আরও কার্যকর করা যায় যেখানে আপনি ফ্রিক ডোমেনে ইট ফিল্টার রাখতে পারেন। দক্ষতা একমাত্র সমস্যা নয়। ইটের ফিল্টারটি বোঝায় যে আপনার ভবিষ্যত থেকে নমুনা ব্যবহার করা দরকার যা আসল সময়ে অসম্ভব।
Val,

ধন্যবাদ, আমি সিগন্যাল প্রসেসিং সাইটের মতো কিছু খুঁজছিলাম, কিন্তু এটি খুঁজে পেল না।
Kouichi সি নাকামুরা

উত্তর:


9

ফ্রিকোয়েন্সি-ডোমেন প্রক্রিয়াজাতকরণ সরাসরি না হওয়ার মূল কারণ হ'ল জড়িত বিলম্ব। একটি সংকেতের একটি এফএফটি করার জন্য, বলার জন্য, আপনাকে প্রথমে পুরো সময়-ডোমেন সিগন্যালটি রেকর্ড করতে হবে, শেষ হতে শুরু করে, আপনি এটিকে ফ্রিকোয়েন্সি ডোমেনে রূপান্তর করার আগে before তারপরে আপনি আপনার প্রসেসিংটি করতে পারেন, এটিকে আবার ডোমেনে রূপান্তর করতে এবং ফলাফলটি খেলতে পারেন। এমনকি যদি দুটি রূপান্তর এবং মাঝের সিগন্যাল প্রসেসিং কার্যকরভাবে তাত্ক্ষণিক হয় তবে শেষ ইনপুট নমুনা রেকর্ড না করা পর্যন্ত আপনি প্রথম ফলাফলের নমুনা পাবেন না। আপনি যদি এটির সাথে রাখতে প্রস্তুত হন তবে আপনি "আদর্শ" ফ্রিকোয়েন্সি-ডোমেন ফলাফল পেতে পারেন। উদাহরণস্বরূপ, 44100 স্যাম্পল / সেকেন্ডে রেকর্ড করা 3 মিনিটের গানের জন্য আপনার 8 মিলিয়ন পয়েন্ট ট্রান্সফর্ম করতে হবে, তবে এটি একটি আধুনিক সিপিইউতে কোনও বড় বিষয় নয়।

আপনি সময়-ডোমেন সিগন্যালটিকে ছোট, স্থির-আকারের ডেটাগুলিতে বিভক্ত করতে এবং প্রচ্ছন্নতাটিকে একটি ব্লকের দৈর্ঘ্যে হ্রাস করে পৃথকভাবে প্রক্রিয়া করার জন্য প্রলুব্ধ হতে পারেন। তবে এটি "এজ এফেক্টস" এর কারণে কাজ করে না - প্রদত্ত ব্লকের উভয় প্রান্তের নমুনাগুলি সংলগ্ন ব্লকের সাথে সম্পর্কিত নমুনাগুলির সাথে যথাযথভাবে আপ হবে না, ফলাফলগুলিতে আপত্তিকর শিল্পী তৈরি করে।

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

টাইম-ডোমেন প্রসেসিংয়ে এটির সমস্যা থাকতে পারে তবে আপনি যে লেটেন্সি নিয়ন্ত্রণ করতে পারেন এবং এটি পর্যায়ক্রমিক শৈল্পিক উত্পাদন করে না তা বেশিরভাগ রিয়েল-টাইম সিগন্যাল-প্রক্রিয়াজাতকরণ অ্যাপ্লিকেশনগুলিতে এটি একটি পরিষ্কার বিজয়ী করে তোলে।

(এটি আমার আগের উত্তরের প্রসারিত সংস্করণ ))


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

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

ধন্যবাদ। আমি উইকিপিডিয়ায় "কার্যকারক ফিল্টার" সন্ধান করেছি। সংজ্ঞা অনুসারে, এফএফটি বক্সকার সময় সম্পর্কে চিন্তা করে না, তাই আমি দেখতে পাচ্ছি এটি অ-কার্যকারণীয়। প্রকৃতি আপনাকে রিয়েল টাইম ফিল্টারিংয়ের জন্য কেন ব্যবহার করতে পারবেন না তা ব্যাখ্যা করে।
কাউচি সি নাকামুরা

3
@ ডেভটভিড: ৪৪.১ কেএইচজেডের নমুনাযুক্ত 3 মিনিটের গানটি ফিল্টার করার জন্য 8-মিলিয়ন-পয়েন্ট এফএফটি প্রয়োজনের বিষয়ে আপনার দৃ incor় বক্তব্য ভুল। এফএফটি-ভিত্তিক কনভ্যুলেশন অ্যালগরিদমগুলি বাস্তবে প্রচলিতভাবে ভারী ব্যবহৃত হয়। ওভারল্যাপ-সেভ এবং ওভারল্যাপ- অ্যাডের মতো পদ্ধতিগুলি ব্যবহার করা হয় যাতে আরও বিনয়ী এফএফটি আকার (এবং তাই প্রসেসিংয়ের বিলম্ব) প্রয়োজন হয়। এই কৌশলগুলি আপনার দ্বিতীয় অনুচ্ছেদের পরামর্শ অনুযায়ী ঠিক তেমনটি করে: তাদের মধ্যে ঘটে যাওয়া "প্রান্ত প্রভাবগুলি" পরিচালনা করার সময় ছোট ব্লক ব্যবহার করুন।
জেসন আর

2
@ ডেভটুইড: আমি একমত নই ওভারল্যাপ-সেভ এবং ওভারল্যাপ-অ্যাডের মতো দ্রুত সমঝোতার পদ্ধতিগুলি সরাসরি রৈখিক কনভ্যুশনের সমতুল্য (সংখ্যাসম্য নির্ভুলতা অবধি) (যেমন সময় ডোমেনে ফিল্টার প্রয়োগ করে)। সময়-ডোমেন প্রক্রিয়াজাতকরণের তুলনায় কোনও ধরণের সীমানা শর্তে কোনও পারফরম্যান্স সমঝোতা নেই এবং তাদের সীমাবদ্ধ বিলম্বিতা এখনও তাদের রিয়েল-টাইম অ্যাপ্লিকেশনগুলির জন্য দরকারী করে তোলে। আমি বজায় রেখেছি যে ফ্রিকোয়েন্সি-ডোমেন ফিল্টারিংয়ের জন্য পুরো ইনপুট সিগন্যাল জুড়ে একটি বড় এফএফটি দরকার, এবং আমি নিশ্চিত নই যে আপনি "খাঁটি" ফ্রিকোয়েন্সি-ডোমেন প্রসেসিং বলতে কী বোঝাতে চাইছেন।
জেসন আর

2

আপনি অবশ্যই ফ্রিকোয়েন্সি ডোমেনে "বক্সকার" আদর্শ ফিল্টার ব্যবহার করতে পারেন। দ্বৈততা বলে যে এটি অসীম দৈর্ঘ্যের একটি সংশ্লেষিত ক্রিয়াকলাপের সাথে সমঝোতার সমান। দৈর্ঘ্য সসীম তৈরির সাথে যুক্ত শিল্পকর্মগুলি হ্রাস করতে, সিনক ফাংশনটি প্রায়শই একটি উইন্ডো দ্বারা গুণিত হয়। আপনি হ্যামিং, হ্যানিং (আসলে ভন হ্যান), উত্থিত কোসাইন এবং অন্যান্য উইন্ডোটিংয়ের কৌশল শুনে থাকতে পারেন। কনফিউশনটি ফিটফট / ইফফট অ্যাপ্রোচ এর চেয়ে কমপিটেশনালভাবে সহজ হতে পারে, তবে উত্তরগুলি একই।

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


1
উইন্ডোটিং এবং ব্লক ফিল্টারিংয়ের সত্যই স্পষ্ট ব্যাখ্যার জন্য, আরডাব্লু হ্যামিংয়ের ডিজিটাল ফিল্টার বইটি দেখুন । ডোভার থেকে উপলব্ধ, খুব সুন্দর দাম। (প্রসঙ্গক্রমে, স্কট, আমি মনে করি এটি হ্যামিং উইন্ডোটির নামকরণ করা হয়েছে এবং ভন হ্যান তার নামটি জানালার নাম দিয়েছিলেন)
ফোটন

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

1
আদর্শ অসীম দৈর্ঘ্যের জন্য সম্মত, তবে ট্র্যাঙ্কেশন এবং উইন্ডোটিংয়ের পরে এতটা নিশ্চিত নয়
স্কট সিডম্যান

@ দ্য ফ্যাটন হাম / ভন হ্যান সংশোধনের জন্য ধন্যবাদ। বাড়ি থেকে আমার বুকসেল্ফটি সঠিকভাবে কল্পনা করতে পারেনি।
স্কট সিডম্যান 10'14

@ দ্য ফোটন; হামিংয়ের ডিজিটাল ফিল্টার বইয়ের জন্য ধন্যবাদ । আমি এটি তাকিয়েছিলাম এবং এটি বিশেষত প্রাথমিক শিক্ষাগুলির জন্য রচিত বলে মনে হয়েছিল। আশা নিয়ে কিনেছি। :)
কাউচি সি নাকামুরা

0

সম্পর্কিত প্রশ্নাবলী

কেন এফএফটি বিনগুলি শূন্য করে ফিল্টার করা খারাপ ধারণা? /signals/6220/why-is-it-a-bad-idea-to-filter-by-zeroing-out-fft-bins

ফিল্টারিংয়ের মতো এফএফটি ফলাফল থেকে মানগুলি সরানো? /signals/11487/removing-values-from-fft-result-same-as-filtering?noredirect=1&lq=1

কেন আমরা এফএফটি বর্ণালী পরিবর্তনের পরিবর্তে এবং বিপরীতমুখী এফএফটি /signals/8911/why-do-we-use-window-in-time-domain-rather চেয়ে সময় ডোমেনে উইন্ডো ব্যবহার করব? -than-do-FFT-সংশোধন-বর্ণালী-এবং-টি? noredirect = 1 & lq = 1

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.