সিগন্যালগুলির বেলানজারের ক্লাসিক ডিজিটাল প্রসেসিংয়ের উদ্ধৃতি দিয়েছিলেন - থিওরি এবং অনুশীলন , আপনার কাট-অফ ফ্রিকোয়েন্সিটি কোথায় তা নয়, তবে আপনার কতটা মনোযোগ প্রয়োজন, আপনি যে সিগন্যালটি সংরক্ষণ করতে চান তাতে আপনি কতটা রিপল সহ্য করতে পারবেন এবং সবচেয়ে গুরুত্বপূর্ণভাবে, কীভাবে how পাস থেকে স্টপব্যান্ডে (রূপান্তর প্রস্থ) আপনার রূপান্তর সংকীর্ণ হওয়া দরকার।
আমি ধরে নিচ্ছি যে আপনি একটি লিনিয়ার ফেজ ফিল্টার চান (যদিও আপনি ন্যূনতম বিলম্বিতা নির্দিষ্ট করেন তবে আমি ন্যূনতম ফেজ ফিল্টারকে ভাল ধারণা বলে মনে করি না, যদি না আপনি নিজের সংকেতটি দিয়ে কী করতে যাচ্ছেন তা ভালভাবে না জেনে থাকেন) । সেক্ষেত্রে ফিল্টার অর্ডার (যা ট্যাপের সংখ্যা)
এন। 23লগ10[ ১10 δ1δ2]চগুলিΔ চ
সঙ্গে
চগুলিΔ চδ1δ2 নমুনা হার স্থানান্তর প্রস্থ, অর্থাত। পাস ব্যান্ডের শেষ এবং স্টপ ব্যান্ডের শুরুতে পার্থক্য পাসব্যান্ডে লহর, অর্থাত। "মূল প্রশস্ততা কতটা আপনি পরিবর্তিত করতে পারবেন" স্টপ ব্যান্ডে দমন ।
আসুন কিছু নম্বর প্লাগ করা যাক! আপনি of এর কাট-অফ ফ্রিকোয়েন্সি নির্দিষ্ট করেছেন , তাই আমি কেবল এগিয়ে যাব এবং দাবি করব যে আপনার স্থানান্তরের প্রস্থটি এর অর্ধেকের বেশি হবে না, সুতরাং ।চগুলি100Δ চ= চগুলি200
এসডিআর / আরএফ প্রযুক্তি থেকে আসা, 60 ডিবি দমন সাধারণত পুরোপুরি যথেষ্ট - হার্ডওয়ার, পাগল ব্যয় ছাড়াই আপনার ইনপুট থেকে অযাচিত সংকেত রাখার পক্ষে ভাল হবে না , সুতরাং, আসুন, সিপিইউকে একটি দুর্দান্ত ফিল্টার রাখার জন্য অপচয় করা উচিত না যা আরও ভাল filter আপনার হার্ডওয়্যার কি করতে পারে তার চেয়ে বেশি। তাই, ।δ2= - 60 ডিবি = 10- 3
ধরা যাক আপনি পাসব্যান্ডে 0.1% এর প্রশস্ততা পরিবর্তনের সাথে বেঁচে থাকতে পারেন (আপনি যদি আরও বেশি করে বাঁচতে পারেন তবে দমন প্রয়োজনীয়তাটিকে আরও কঠোর করে তোলার বিষয়টি বিবেচনা করুন)। যে ।δ1= 10- 4
সুতরাং, এটিকে প্লাগ ইন করুন:
এনটমির ফিল্টার। 23লগ10[ ১10 δ1δ2]চগুলিΔ চ= 23লগ10[ ১10 ⋅ 10- 4। 10- 3]চগুলিচগুলি200= 23লগ10[ ১10 ⋅ 10- 7]200= 23লগ10[ ১10- 6]200= 23( লগ10106)200= 23। 6 ⋅ 200= 800 ।
সুতরাং আপনার 200 টি ট্যাপের সাহায্যে আপনি খুব দূরে আছেন, যদি আপনি নিজের ফিল্টারটিতে অত্যন্ত সরু পাস ব্যান্ড ব্যবহার করেন তবে আমি যেমন ধরে নিয়েছিলাম।
নোট যে এই নয় আছে একটি সমস্যা হতে - প্রথম সব, একটি 800-কল ফিল্টার হয় ভীতিকর, কিন্তু উন্মুক্তভাবে, শুধুমাত্র প্রথম দর্শনে:
- স্ট্যাকওভারফ্লোতে আমি এই উত্তরটি পরীক্ষা করে দেখেছি : আজকাল সিপিইউ দ্রুত , আপনি যদি কারও সিপিইউ-অনুকূলিত এফআইআর বাস্তবায়ন ব্যবহার করেন। উদাহরণস্বরূপ, আমি উপরের ফিল্টার স্পেসিফিকেশন রূপরেখার সাথে জিএনইউ রেডিওর এফএফটি-এফআইআর বাস্তবায়ন ব্যবহার করেছি । আমি প্রতি সেকেন্ডে 141 মিলিয়ন নমুনার পারফরম্যান্স পেয়েছি - এটি আপনার পক্ষে যথেষ্ট বা নাও হতে পারে। সুতরাং এখানে আমাদের প্রশ্ন-নির্দিষ্ট পরীক্ষার কেস (যা উত্পাদন করতে আমার কয়েক সেকেন্ড সময় নিয়েছে):
- ডেসিমেশন: আপনি যদি কেবল ইনপুট ব্যান্ডউইথের একটি অংশ রাখতে চলেছেন তবে আপনার ফিল্টারটির আউটপুট মারাত্মকভাবে ওভারস্যাম্পল হবে। ডেসিমেশন প্রবর্তনের অর্থ হ'ল আপনার ফিল্টার আপনাকে প্রতিটি আউটপুট নমুনা দেয় না, তবে প্রতিটি একমাত্র - যা সাধারণত প্রচুর এবং প্রচুর পরিমাণে এলিয়াসিংয়ের দিকে পরিচালিত করে, তবে যেহেতু আপনি সমস্ত সংকেতটি মুছে ফেলছেন যা উপনাম হতে পারে, তাই আপনি পারেন বাঁচাতে হবে। চতুর ফিল্টার বাস্তবায়ন (পলিফেজ ডেসিমেটর) এম এর মাধ্যমে গণনার প্রচেষ্টা কমিয়ে আনতে পারে। আপনার ক্ষেত্রে, আপনি দ্বারা সহজেই হ্রাস করতে পারতেন এবং তারপরে, আপনার কম্পিউটারে কেবল গণনা করতে হবেএমএমএম= 50120050= 24প্রতি ইনপুট নমুনায় গুন / সংগ্রহ - আরও অনেক সহজ। জিএনইউ রেডিওর ফিল্টারগুলির সাধারণত সেই ক্ষমতা থাকে। এবং এইভাবে, এমনকি এফএফটি এফআইআর এর বাইরেও (যা নিজেকে পলিফেসিং ডেসিমেটর বাস্তবায়নের পক্ষে খুব ভাল ধার দেয় না), আমি পারফরম্যান্সে 2 এর আরও একটি কারণকে চেপে ধরতে পারি। বেশি কিছু করতে পারি না। এটি আমার সিস্টেমে আমার অভিজ্ঞতায় র্যাম ব্যান্ডউইথের খুব কাছে। জন্য
- লেটেন্সি: এটি সম্পর্কে চিন্তা করবেন না। সত্যিই, না, যদি না আপনার প্রয়োজন হয়। আপনি সাধারণ অডিও নমুনা হারের সাথে এটি করছেন? মনে রাখবেন, above উপরে উল্লিখিত। সুতরাং ফিল্টার আউটপুট গণনা করতে ব্যয় করা সময়টি কেবলমাত্র এমএস / এর লাইভ সিগন্যাল স্ট্রিমিংয়ের জন্য প্রাসঙ্গিক। অফলাইন ডেটা সহ ডিএসপির জন্য: ভাল, ক্ষতিপূরণ দেওয়ার জন্য আপনার ফিল্টারটির সমান্তরালে যা কিছু সংকেত রয়েছে তাতে বিলম্ব দিন। (যদি আপনার ফিল্টারটি লিনিয়ার ফেজ হয় তবে এটির বিলম্ব ফিল্টার দৈর্ঘ্যের অর্ধেক হবে)) এফআইআর ফিল্টারটির একটি হার্ডওয়্যার প্রয়োগের ক্ষেত্রে এটি প্রাসঙ্গিক হতে পারে।96KSগুলি«হাস্যকর141মাইক্রোসফটগুলি
- হার্ডওয়্যার বাস্তবায়ন: সুতরাং সম্ভবত আপনার পিসির বা এম্বেড থাকা ডিভাইসের সিপিইউ এবং ওএস আপনাকে সত্যিকার অর্থে আপনার বিলম্বের সীমাবদ্ধতাগুলি পূরণ করতে দেয় না এবং তাই আপনি এফপিজিএ-প্রয়োগিত এফআইআরগুলি সন্ধান করছেন। প্রথম যে জিনিসটি আপনি লক্ষ্য করবেন তা হ'ল হার্ডওয়্যারটির জন্য আলাদা ডিজাইনের প্যারাডিজমা রয়েছে - একটি "আমি সবকিছু দমন করি but1100আমার ইনপুট রেট "ফিল্টারটির হার্ডওয়ারে আপনি যে স্থির পয়েন্ট সংখ্যাগুলি হ্যান্ডেল করতে চান তার বিস্তৃত প্রস্থের প্রয়োজন (যেমনটি কোনও সিপিইউতে ভাসমান পয়েন্ট সংখ্যা হিসাবে বিবেচিত হয়) So সুতরাং প্রথম কারণেই আপনি কেন সেই ফিল্টারটিকে একাধিকতে বিভক্ত করবেন? , ক্যাসকেড, আরও ছোট, এফআইআর ফিল্টারগুলি ডেসিমেট করে Anotherএর অন্য কারণটি হ'ল আপনি প্রতিটি ক্যাসকেড "পদক্ষেপ" সহ, আপনার গুণককে (সাধারণত, "ডিএসপি স্লাইস") কম হারে চালিয়ে দিতে পারেন, এবং সেজন্য, এগুলি (ডিএসপি স্লাইসের সংখ্যা) একাধিক ট্যাপের জন্য একটি গুণক ব্যবহার করে সাধারণত খুব সীমিত হয়) তবুও আরেকটি কারণ হ'ল বিশেষত অর্ধ-ব্যান্ড ফিল্টারগুলি, অর্থাৎ লোপপাসগুলি যা অর্ধেক ইনপুট ব্যান্ডকে দমন করে এবং অর্ধেক ইনপুট হার সরবরাহ করে, হার্ডওয়্যারে খুব দক্ষতার সাথে প্রয়োগযোগ্য (যেমন তাদের অর্ধেক রয়েছে) টেপগুলি শূন্য, এমন একটি জিনিস যা কোনও সিপিইউ / সিমডি প্রয়োগে ব্যবহার করা শক্ত)