ডিএফটি এবং এফএফটি এর মধ্যে কিছু পার্থক্য যা এফএফটিকে এত দ্রুত করে তোলে?


16

আমি এফএফটিগুলি বোঝার চেষ্টা করছি, আমার এখন পর্যন্ত যা আছে তা এখানে:

তরঙ্গরূপে ফ্রিকোয়েন্সিগুলির মাত্রা নির্ধারণ করার জন্য, তরঙ্গকে তারা যে ফ্রিকোয়েন্সিটি অনুসন্ধান করছে তার দ্বার দুটি পৃথক ধাপে (পাপ এবং মহা) এবং প্রতিটি গড়ে গড়ে তাদের তদন্ত করতে হবে। এই দফার সাথে তার সম্পর্কের মাধ্যমে এই পর্বটি পাওয়া যায় এবং এর জন্য কোডটি এরকম:

//simple pseudocode
var wave = [...];                //an array of floats representing amplitude of wave
var numSamples = wave.length;
var spectrum = [1,2,3,4,5,6...]  //all frequencies being tested for.  

function getMagnitudesOfSpectrum() {
   var magnitudesOut = [];
   var phasesOut = [];

   for(freq in spectrum) {
       var magnitudeSin = 0;
       var magnitudeCos = 0;

       for(sample in numSamples) {
          magnitudeSin += amplitudeSinAt(sample, freq) * wave[sample];
          magnitudeCos += amplitudeCosAt(sample, freq) * wave[sample];
       }

       magnitudesOut[freq] = (magnitudeSin + magnitudeCos)/numSamples;
       phasesOut[freq] = //based off magnitudeSin and magnitudeCos
   }

   return magnitudesOut and phasesOut;
}

খুব দ্রুত খুব ঘন ঘন ফ্রিকোয়েন্সিগুলির জন্য এটি করতে, এফএফটিগুলি অনেক কৌশল ব্যবহার করে।

ডিএফটি এর চেয়ে এত দ্রুত এফএফটি তৈরি করতে ব্যবহৃত কৌশলগুলি কী কী?

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

ধন্যবাদ.


7
"ডিএফটি" কোনও অ্যালগরিদমকে বোঝায় না: এটি গাণিতিক ক্রিয়াকে বোঝায়। "এফএফটি" বলতে এই অপারেশন গণনার জন্য এক শ্রেণির পদ্ধতির বোঝায়।

1
কেবলমাত্র এটি নির্দেশ করতে চেয়েছিলেন যে sudoআপনার কোড উদাহরণে ব্যবহার বিভ্রান্তিকর হতে পারে, কারণ এটি কম্পিউটার জগতের একটি সুপরিচিত কমান্ড। আপনি সম্ভবত psuedocode বোঝাতে চেয়েছিলেন।
rwfeather

1
@nwfeather তিনি সম্ভবত 'সিউডোকোড' বোঝাতেন।
ব্যবহারকারী 207421

উত্তর:


20

একটি পয়েন্ট ডিএফটি এর নির্বিকার বাস্তবায়ন মূলত একটি এন × এন ম্যাট্রিক্স দ্বারা গুণ করা হয় । এর ফলে ( এন 2 ) এর জটিলতা দেখা দেয় ।এনএন×এনহে(এন2)

সর্বাধিক সাধারণ ফাস্ট ফুরিয়ার ট্রান্সফর্ম (এফএফটি) অ্যালগরিদম হ'ল রেডিক্স -২ কুলি-টুকি ডেসিমেশন-ইন-টাইম এফএফটি অ্যালগরিদম। এটি একটি প্রাথমিক বিভাজন এবং বিজয়ী পদ্ধতির।

প্রথমে "ট্যুইডল ফ্যাক্টর "টিকে সংজ্ঞায়িত করুন : যেখানে

ওয়াটএন-2πএন
কাল্পনিক ইউনিট, তারপর DFT হয়এক্স[]এরএক্স[এন]দেওয়া হয় এক্স[]= এন - 1 Σ এন = 0 এক্স[এন]-1এক্স[]এক্স[এন] তাহলে এন এমনকি (এবং এন
এক্স[]=Σএন=0এন-1এক্স[এন]ওয়াটএনএন
এন একটি পূর্ণসংখ্যা), এর পরেএক্সটিকে[কে]= এন / 2 - 1 n=0x[2এন]ডাব্লু 2 কে এন এন + এন / 2 - 1 n= এরপরে যোগফলকে দুটি অঙ্কে ভাগ করা যায় 0x[2এন+1]ডব্লু কে ( 2 এন + 1 ) এনএন2
এক্স[]=Σএন=0এন/2-1এক্স[2এন]ওয়াটএন2এন+ +Σএন=0এন/2-1এক্স[2এন+ +1]ওয়াটএন(2এন+ +1)
যেখানে এমনকি নমুনার সাথে প্রথম সঙ্কলন পুলিশ এবং বিজোড় নমুনার সাথে দ্বিতীয় এক্স [ এন ] । ডিফাইনিং এক্স [ এন ] এক্স [ 2 এন ] এবং এক্স [ এন ] এক্স [ 2 এন + + 1 ] এবং এটা সত্য যে ব্যবহারএক্স[এন]এক্স[এন]এক্স[এন]এক্স[2এন]এক্স[এন]এক্স[2এন+ +1]
  1. , এবংওয়াটএন(2এন+ +1)=ওয়াটএন2এনওয়াটএন
  2. ওয়াটএন2এন=ওয়াটএন/2এন

এটি হিসাবে আবার লেখা যেতে পারে

এক্স[]=Σএন=0এন/2-1এক্স[এন]ওয়াটএন/2এন+ +ওয়াটএনΣএন=0এন/2-1এক্স[এন]ওয়াটএন/2এন=এক্স[]+ +ওয়াটএনএক্স[]
এক্স[]এক্স[]এন2এক্স[এন]এনএন2
2(এন2)2+ +এন<এন2
এন>2

হে(এনলগএন)হে(এন2)


আপনি কি ভেরিয়েবলের প্রতিটি বোঝায় তা তালিকাবদ্ধ করতে রাজি হবেন? আমি বরং এই নতুন নই, তাই W, j, X(), Nএবং kএখনো সংজ্ঞা আমার জন্য হবে না।
সেফ রিড

ওয়াটএন

19

http://nbviewer.jupyter.org/gist/leftaroundabout/83df89a7d3bdc24373ea470fb50be629

ডিএফটি, আকার 16

একটি আকার -16 ভীরু ডিএফটি-তে ক্রিয়াকলাপের চিত্র

এফএফটি, আকার 16

একটি আকার -16 রেডিক্স -2 এফএফটি মধ্যে ক্রিয়াকলাপের চিত্র

জটিলতার পার্থক্যটি তার থেকে বেশ স্পষ্টভাবে প্রমাণিত, তাইনা?


আমি কীভাবে এফএফটি বুঝি তা এখানে।

ফুলটাইম:এল2(আর)এল2(আর)

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

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

এফএফটি সস্তা হওয়ায় এটি সবচেয়ে গুরুত্বপূর্ণ কারণ হিসাবে বোঝা যেতে পারে:

উচ্চ স্তরের থেকে পৃথক দোল চক্র দেখার চেষ্টা করবেন না । পরিবর্তে, কেবলমাত্র কিছু স্তরের তথ্যের রূপান্তর করুন যা ইতিমধ্যে স্থানীয়ভাবে প্রাক প্রসেস করা হয়েছে।

যদিও এটি কিছুই নেই। এফএফটি সম্পর্কে দুর্দান্ত জিনিসটি এখনও আপনাকে একটি সম্পূর্ণ ডিএফটি দেবে এমন সমস্ত তথ্য দেয় । অর্থাত্‍ হালকা-বিমের সঠিক বৈদ্যুতিন চৌম্বক তরঙ্গের নমুনা নেওয়ার সময় আপনি যে সমস্ত তথ্য পেয়েছিলেন সেগুলিও। কোনও ফটোডিয়োড সংকেত রূপান্তর করে এটি সম্পাদন করা যায়? - আপনি কি সেই থেকে সঠিক হালকা-ফ্রিকোয়েন্সি পরিমাপ করতে পারেন?


Δν=1/Δটি

দীর্ঘ সময় ধরে মোটামুটি দীর্ঘ সময় থাকার পরেও আমাদের ফ্রিকোয়েন্সি অনিশ্চয়তা কমাতে সক্ষম হওয়া উচিত। এবং এটি সত্যিই সম্ভব, যদি আপনি স্থানীয়ভাবে কেবল রুক্ষ-ফ্রিকোয়েন্সিটিই নয় তবে তরঙ্গের পর্যায়টিও পরিমাপ করেন। আপনি জানেন যে 1000 হার্জেড সিগন্যালের ঠিক একই ধাপ থাকবে যদি আপনি এর পরে এক সেকেন্ড পরে তাকান। যেখানে 1000.5 Hz সিগন্যালটি স্বল্প-স্কেলে অদম্য হয়ে ওঠার পরে, এক সেকেন্ড পরে এটিকে উল্টে যাবে।

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

এগুলি তবে পর্যায়টিও রেকর্ড করে এবং এরপরে আপনি ফ্রিকোয়েন্সি রেজোলিউশনটিকে শীর্ষ স্তরের আরও সঠিক করে তুলতে পারেন। প্রয়োজনীয় রূপান্তরটি আবার সস্তা, কারণ এটি কোনও উচ্চ-ফ্রিকোয়েন্সি দোলাচলে নিজেই বিরক্ত করে না তবে কেবল প্রাক-প্রক্রিয়াজাত নিম্ন-ফ্রিকোয়েন্সি ডেটা দিয়ে।


Up হ্যাঁ, আমার যুক্তি এই মুহুর্তে কিছুটা বিজ্ঞপ্তি। আসুন কেবল এটিকে পুনরাবৃত্ত বলি এবং আমরা ভাল ...

এই সম্পর্ক নেই না কোয়ান্টাম যান্ত্রিক, কিন্তু হাইজেনবের্গ অনিশ্চয়তা আসলে একই মৌলিক কারণ রয়েছে।


2
ইস্যুটির সুন্দর চিত্রগ্রাহ্য চিত্র :-)
রবার্ট ব্রিস্টো-জনসন

2
আপনি কি চিত্রগুলি পছন্দ করেন না যা সর্বত্র পুনরাবৃত্তি হয় এবং কখনও কোথাও
বর্ণিত হয়

1
আমি মাত্র আনপারের উত্তর পড়ে ছবিটি বুঝতে পেরেছি।
জেডিগোগোস

15

এই ক্ষেত্রে একটি 8 দফা ডিএফটি-র ক্ষেত্রে অপারেশনগুলির "পুনরায় ব্যবহার" প্রদর্শন করে রবার্টের উত্তরের উত্তরে যুক্ত করার জন্য এখানে একটি চিত্র। "ট্যুইডল ফ্যাক্টর" চিত্রটি চিত্র ব্যবহার করে স্বরলিপিটি ব্যবহার করে উপস্থাপন করা হয়ওয়াটএনএন যা সমান 2πএনএন

চিহ্নিত পথটি নোট করুন এবং নীচের সমীকরণটি রবার্টের সমীকরণ দ্বারা প্রদত্ত ফ্রিকোয়েন্সি বিন এক্স (1) এর ফলাফল দেখায়।

সংক্ষিপ্তসারটি কোথায় যোগ দিচ্ছে তা পরিষ্কার করার জন্য ড্যাশড লাইনগুলি শক্ত রেখার চেয়ে আলাদা নয়।

এফএফটি বাস্তবায়ন


8

মূলত, নিখরচায় ডিএফটি সংখ্যায় সরাসরি যোগ থেকে:

এক্স[]=Σএন=0এন-1এক্স[এন]2πএনএন

সেখানে এন ট্যুইডল ফ্যাক্টরটির জন্য সারণী অনুসন্ধানগুলি 2πএনএন, এন জটিল গুণ, এবং এন-1সংযোজন। এবং এটি কেবল একটি মূল্যের জন্যএক্স[] এবং এর একটি উদাহরণ । তারপরে নিষ্পাপ ডিএফটি সেই মধ্যবর্তী ডেটাগুলিকে দূরে সরিয়ে দেয় এবং এটির জন্য আবারও যায়এক্স[+ +1]

  1. সুতরাং এফএফটি কিছু মধ্যবর্তী ডেটা ধরে।
  2. এফএফটি এছাড়াও ট্যুইডল ফ্যাক্টরটিকে কিছুটা ফ্যাক্টরিং ব্যবহার করবে যাতে একই ফ্যাক্টরটি ডেটার মধ্যবর্তী সংমিশ্রনের জন্য ব্যবহার করা যায়।

4

আমি একজন চাক্ষুষ ব্যক্তি am আমি এফএফটিকে সামিট ট্রিকের চেয়ে ম্যাট্রিক্স ট্রিক হিসাবে কল্পনা করতে পছন্দ করি।

উচ্চ স্তরে ব্যাখ্যা করতে:

একটি নিষ্পাপ ডিএফটি প্রতিটি আউটপুট নমুনাকে স্বতন্ত্রভাবে গণনা করে এবং প্রতিটি সংখ্যায় প্রতিটি ইনপুট নমুনা (ক্লাসিক এনও অ্যালগরিদম) ব্যবহার করে।

একটি সাধারণ এফএফটি "লেয়ার" (লগ এন স্তরসমূহ) গণনা করতে ডিএফটি সংজ্ঞায় প্রতিসাম্য এবং নিদর্শন ব্যবহার করে, প্রতিটি স্তর একটি এন লগ এন অ্যালগরিদম তৈরির নমুনা প্রতি ধ্রুবক সময় প্রয়োজন সহ।

আরও সুনির্দিষ্ট:

এই প্রতিসাম্যগুলি ভিজ্যুয়ালাইজ করার একটি উপায় হ'ল ডিএফটিটিকে 1 × N ম্যাট্রিক্স ইনপুট হিসাবে দেখানো হয় আপনার সমস্ত জটিল এক্সপেনশিয়ালের একটি এনএক্সএন ম্যাট্রিক্স দ্বারা গুণিত । আসুন শুরু করা যাক "রেডিক্স 2" কেস দিয়ে। আমরা ম্যাট্রিক্সের সমান এবং বিজোড় সারিগুলি বিভক্ত করতে যাচ্ছি (সমান এবং বিজোড় ইনপুট নমুনাগুলির সাথে মিল রেখে) এবং তাদের দুটি পৃথক ম্যাট্রিক্স গুণ হিসাবে বিবেচনা করব যা একই চূড়ান্ত ফলাফল পেতে একসাথে যুক্ত হবে।

এখন এই ম্যাট্রিকগুলি দেখুন: প্রথম একের মধ্যে বাম অর্ধেকটি ডান অর্ধের মতো। অন্যটিতে ডান অর্ধেকটি বাম অর্ধেক x −1। এর অর্থ আমাদের কেবলমাত্র এই ম্যাট্রিকের বাম অর্ধেকটি কেবল গুণনের জন্য ব্যবহার করতে হবে এবং 1 বা −1 দ্বারা গুণ করে ডান অর্ধেক কম দামে তৈরি করতে হবে। এরপরে পর্যবেক্ষণ করুন যে দ্বিতীয় ম্যাট্রিক্স প্রথম ম্যাট্রিক্সের সাথে প্রতিটি কলামে একই রকমের কারণগুলির দ্বারা পৃথক হয়, তাই আমরা এটির ফ্যাক্টর করতে পারি এবং এটি ইনপুটটিতে গুণিত করতে পারি তাই এখন উভয় এবং বিজোড় নমুনা একই ম্যাট্রিক্স ব্যবহার করে তবে একটি গুণক প্রয়োজন প্রথম। এবং চূড়ান্ত পদক্ষেপটি পর্যবেক্ষণ করছে যে ফলস্বরূপ N / 2 × N / 2 ম্যাট্রিক্স একটি N / 2 DFT ম্যাট্রিক্সের অনুরূপ এবং আমরা 1 × 1 ম্যাট্রিক্সে পৌঁছা পর্যন্ত আমরা বার বার এটি করতে পারি যেখানে ডিএফটি একটি পরিচয় ফাংশন।

র‌্যাডিক্স ২ এর বাইরে সাধারণকরণের জন্য, আপনি প্রতি তৃতীয় সারিতে বিভাজন করতে এবং তিনটি কলামের কলাম বা প্রতিটি চতুর্থ ইত্যাদির দিকে নজর দিতে পারেন etc.

প্রাইম আকারের ইনপুটগুলির ক্ষেত্রে সঠিকভাবে শূন্য-প্যাড, এফএফটি এবং কাটা কাটা করার একটি পদ্ধতি রয়েছে তবে এটি এই উত্তরের বাইরে নয়।

দেখুন: http://whoiskylefinn.com/MatrixFFT.html


প্রাইম এফএফটি , বিভিন্ন এফএফটি । জিরো-প্যাড ব্যবহার করা একমাত্র বিকল্প নয়। দুঃখিত, আমি সবেমাত্র শূন্য প্যাডিং অতিরিক্ত ব্যবহার পেয়েছি find একটি ছোট প্রশ্ন, "প্রতি নমুনা হিসাবে ধ্রুবক সময়ের সাথে প্রতিটি স্তর" দ্বারা আপনি কী বোঝাতে চাইছেন তা আমি বুঝতে পারছি না, যদি আপনি ব্যাখ্যা করতে পারেন তবে এটি দুর্দান্ত aw
এভিল

1
দুঃখিত, আমি বলতে চাইনি শূন্য প্যাডিংয়ের উপায় ছিল, কেবল আরও পড়ার দিকে ইঙ্গিত করতে চেয়েছিল। এবং "স্তর" অর্থ একটি পুনরাবৃত্তি, বা একটি এন ডিএফটি থেকে 2 এন / 2 ডিএফটিতে অনুবাদ, নমুনা প্রতি ধ্রুবক সময় সহ অর্থ এই পদক্ষেপটি হ'ল (এন)।
কাইলফিন

এখনও অবধি সমস্ত বর্ণনার মধ্যে এটিকে জটিল সমস্যাটিকে সহজ করে তোলার নিকটতম বলে মনে হচ্ছে। এটি যে বড় জিনিসটি অনুপস্থিত তা হ'ল এই ম্যাট্রিক্সের একটি উদাহরণ। আপনি কি একটি হবে?
সেফ রেড

এটি আপলোড করা উচিত, সহায়তা করা উচিত: whoiskylefinn.com/MatrixFFT.html
কাইলফিন

1

ডিএফটি একটি নিখুঁত শক্তি N ^ 2 ম্যাট্রিক্স গুণিত করে।

গণসংযোগ ব্যয় হ্রাস করার জন্য এফএফটি ম্যাট্রিক্সের বৈশিষ্ট্যগুলি (ম্যাট্রিক্সের গুণকে অধঃপতিত করে) শোষণ করে চালাক কৌশল করে।

আসুন প্রথমে একটি ছোট ডিএফটি দেখুন:

ওয়াট = FFT (চক্ষু (4));

x = র‌্যান্ড (4,1) + 1 জে * র‌্যান্ড (4,1);

এক্স_রেফ = ফুট (এক্স);

এক্স = ডাব্লু * এক্স;

জোড় (সর্বাধিক (অ্যাবস (এক্স-এক্স_রেফ)) <1e-7)

দুর্দান্ত তাই আমরা এফএফটি ফাংশন থেকে ম্যাট্রিক্স পূরণ করে একটি ছোট 4x4 (জটিল) ম্যাট্রিক্স গুণনের মাধ্যমে ম্যাটল্যাবগুলি এফএফটিডাব্লু লাইব্রেরিতে কল করতে সক্ষম হয়েছি। সুতরাং এই ম্যাট্রিক্স দেখতে কেমন?

এন = 4,

WN = EXP (-1j * 2 * পাই / এন),

চ = ((0: এন -1) '* (0: এন -1))

f =

 0     0     0     0
 0     1     2     3
 0     2     4     6
 0     3     6     9

ওয়াট = WN। ^ চ

ডাব্লু =

1 1 1 1

1 -আই -1 i

1 -1 1 -1

1 আই -1 -আই

প্রতিটি উপাদান হয় হয় +1, -1, + 1j বা -1j। স্পষ্টতই, এর অর্থ হ'ল আমরা সম্পূর্ণ জটিল গুণগুলি এড়াতে পারি। তদ্ব্যতীত, প্রথম কলামটি অভিন্ন, এর অর্থ আমরা x এর প্রথম উপাদানটিকে একই গুণক দ্বারা বহুগুণে বৃদ্ধি করছি।

এটি দেখা যাচ্ছে যে ক্রোনেকার টেনসর পণ্যগুলি, "ট্যুইডল ফ্যাক্টর" এবং বামিনারি রিপ্রেসেন্টেশন ফ্লিপ অনুসারে সূচকটি পরিবর্তিত হয় এমন একটি অনুক্রম ম্যাট্রিক্স উভয়ই কমপ্যাক্ট এবং এফএফটি কীভাবে স্পার্স ম্যাট্রিক্স অপারেশনগুলির সেট হিসাবে গণনা করা হয় তার একটি বিকল্প দৃষ্টিকোণ দেয়।

নীচের লাইনগুলি হ'ল ফ্রিকোয়েন্সি (ডিআইএফ) মূলধারার 2 ফরোয়ার্ড এফএফটির একটি সাধারণ ডেসিমেশন। পদক্ষেপগুলি জটিল মনে হতে পারে, তবে জায়গাটিতে এফএফটি কীভাবে বাস্তব বিশ্বে বাস্তবায়িত হতে থাকে তার ন্যায্য প্রতিনিধিত্ব করার সময়, ফরওয়ার্ড / ইনভার্স এফএফটি, রেডিক্স 4 / স্প্লিট-রেডিক্স বা ডেসিমেশন-ইন-সময়গুলির জন্য পুনরায় ব্যবহার করা সুবিধাজনক, আমি বিশ্বাস করি.

এন = 4;

x = এলোমেলো (এন, 1) + 1 জে * র‌্যাণ্ড (এন, 1);

টি 1 = এক্সপ্রেস (-1 জে * 2 * পাই) ([জিরোস (1, এন / 2), 0: (এন / 2-1)])। '/ এন),

এম0 = ক্রোন (চোখ (2), ফুট (চোখ (2)),

এম 1 = ক্রোন (ফুট) (চোখ (2)), চোখ (2)),

এক্স = bitrevorder (এক্স। '* এম 1 * diag এর (T1 এর) * M0),

X_ref = FFT (x) এর

জাহির (সর্বোচ্চ (ABS (এক্স (:) - X_ref (:))) <1e -6)

সিএফ ভ্যান anণ এই বিষয়ে একটি দুর্দান্ত বই আছে।


1

আপনি যদি জ্ঞানের ফায়ারহোজ থেকে পান করতে চান তবে আমার পরামর্শ:

"দ্রুত রূপান্তর - অ্যালগরিদম, বিশ্লেষণ, অ্যাপ্লিকেশন" ডগলাস এফ এলিয়ট, কে। রামমোহন রাও রচনা

এটি এফএফটি, হার্টলি, উইনোগ্রেড এবং অ্যাপ্লিকেশনগুলিকে অন্তর্ভুক্ত করে।

একটি দৃ point় বিষয় হ'ল এফএফটি বিট বিপরীতমুখী ক্রম সহ স্পার্স ম্যাট্রিক্স ফ্যাক্টরীকরণগুলির একটি সেট set

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