শূন্য-প্যাডযুক্ত এফএফটির কেবলমাত্র নিম্ন সহগের কীভাবে দক্ষতার সাথে গণনা করা যায়


14

আমি একটি অ্যালগরিদম পেয়েছি যা 4N এর অনুক্রম শূন্য প্যাড করে, একটি এফএফটি করে, এবং উত্পন্ন 4N এর মধ্যে কেবলমাত্র সর্বনিম্ন ফ্রিকোয়েন্সি N পয়েন্ট ব্যবহার করে।

এটি অনেকটা নষ্ট কাজের মতো মনে হয়, কোনও ধারণা কীভাবে এটি দ্রুত করা যায়?


@Dilip। আমি এফএফটিডাব্লু বা আইএমকেএল লাইব্রেরি ব্যবহার করব। আমি অবশ্যই আমার কিসফ্ট লাইব্রেরিটি ব্যবহার করতে পারি, তবে এটি অন্যদের তুলনায় একটি গতির অসুবিধে শুরু হচ্ছে
মার্ক বর্গারডিং

2
আমি যে মন্তব্যটির প্রতিক্রিয়া জানিয়েছিলাম সেটিকে মুছে ফেলেছি যেহেতু আমি ডেসিমেশন-ইন-ফ্রিকোয়েন্সি বলতে চাইছিলাম তবে পরিবর্তে সময়-কালীন ডেসিমেশন লিখেছি। তবে প্রজাপতির চিত্রটি এখানে দেখুন। আপনার জন্য প্রথম দুটি স্তর জন্য কিছু কোড লিখতে পারেন একাউন্টে শূন্যর সংখ্যক গ্রহণ করা এবং সংশ্লিষ্ট multiplications এড়িয়ে যেতে -FFT, তাহলে আপনি FFT গ্রন্থাগার সাবরুটিন কল করতে পারেন বার জন্য -FFTs যা ইনপুট ভেক্টর হয় "সম্পূর্ণ". অবশ্যই, আপনার প্রতিটি সাব্রোটিন কল থেকে আউটপুটগুলির কেবলমাত্র প্রয়োজন । 4 এন এন / 44N4NN/4
দিলীপ সরোতে

উত্তর:


2

আপনার যদি কেবল কয়েকটি বিন থাকে তবে নিম্নলিখিতগুলি আপনার জন্য খুব কার্যকর হতে পারে:
1. আপনার প্রতিটি ফ্রিকোয়েন্সিটি কেবল ডিএফটি করুন do
2. প্রশ্নের প্রতিটি ফ্রিকোয়েন্সি জন্য গের্তজেল অ্যালগরিদম ব্যবহার করুন।


মার্ক বলেছিলেন যে তাকে 4 এন এর মধ্যে বিনের দরকার ছিল , তাই 1) মনে হয় কোনও যুক্তিসঙ্গত বিকল্প বলে মনে হচ্ছে না। গোর্তজেল অ্যালগরিদম যেমন ডায়াগুলি প্রাপ্ত হওয়ার সাথে সাথে অন-লাইন গণনা, ছোট স্টোরেজ ইত্যাদির সুবিধা রয়েছে তবে প্রতিটি বিনের জন্য 2 এন + 4 গুণন প্রয়োজন, যখন প্রতিটি বিনকে হর্নারের নিয়মের মাধ্যমে বহুপদী মূল্যায়ন হিসাবে গণনা করা হয় কেবলমাত্র এন গুণ করা প্রয়োজন। সুতরাং, 2) কোনও বিশেষ যুক্তিসঙ্গত বিকল্প বলে মনে হয় না। N4N2N+4এন
দিলীপ সরোতে

আপনি ঠিক বলেছেন, প্রশ্নটি পড়ার সময় আমি কোনওভাবে বিশদটি মিস করেছি। আমি যখন উত্তর দিচ্ছিলাম তখন আমি ভাবছিলাম, "জিৎ, তিনি কয়টা বিন চাইছেন তা জানতে পেরে ভাল লাগবে ..." অনুমান করি উত্তর দেওয়ার আগে আমার প্রশ্নটি পুনরায় পড়তে হবে।
জ্যাকব

2

জিরো প্যাডিং 4X দৈর্ঘ্যে, দীর্ঘতর এফএফটি গণনা করা, এবং তারপরে কেবল নীচের 1/4 র্থ বিন ব্যবহার করে মূল দৈর্ঘ্যের এফএফটির উইন্ডোড সিনক ইন্টারপোলেশনে প্রায় অভিন্ন ফলাফল তৈরি করে।

সুতরাং কেবলমাত্র উপযুক্ত এফএফটি দৈর্ঘ্যটি ব্যবহার করুন এবং উপযুক্ত উইন্ডো প্রস্থের সাথে 3 ফেজ সিন্ক ইন্টারপোলেশন কার্নেলটি ব্যবহার করে ইন্টারপোল্ট করুন।


0

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


x(z)=i=0N1xizixiN1Nαn,0nN1α=exp(j2π/N)NNXn=x(αn)x(z)Nx(z)βn,0nN1β=exp(j2π/4N)N

β4=αx(β4k)x(β4k)=x(αk)

আমি সন্দেহ করি বৃহত্তর এফএফটি করার চেয়ে দ্রুত একটি শালীন প্রবণতা করা কঠিন হবে।
মার্ক বর্গারডিং

ধরা যাক আপনার একটি 128 পয়েন্টের FFT এবং 12800Hz নমুনা হার রয়েছে। একটি 128 পয়েন্ট FFTs 0Hz, 100Hz, 200 Hz, 300Hz ইত্যাদিতে মান দেয় the শূন্য প্যাডিং যা করে তা ফ্রিকোয়েন্সি রেজোলিউশনকে 0 Hz, 25Hz, 50 Hz, 100Hz ইত্যাদিতে বৃদ্ধি করে This আমার কাছে গাণিতিকভাবে নির্ভুলভাবে আপনাকে 128 তম ক্রমের বৃত্তাকার সিনক ইন্টারপারপোলেশন করা দরকার। এটি অবশ্যই মাথা ঘামানোর মতো নয় তবে প্রয়োগ এবং যথার্থতার উপর নির্ভর করে অনেক কম অর্ডার বিভাজন যথেষ্ট ভাল হবে
হিলমার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.