سؤال

أنا جديد على تحويلات فورييه ، لذا هل يمكن لشخص ما أن يشرح ما يجب علي فعله لتكرار هذا السلوك في FFTW:

double* timeDomain = static_cast< double* >( fftw_malloc( sizeof( double ) * SEGMENTATION_LENGTH ) );
fftw_complex* frequencyDomain = static_cast< fftw_complex* >( fftw_malloc( sizeof( fftw_complex ) * ( ( SEGMENTATION_LENGTH / 2 ) + 1 ) ) );    
fftw_plan forward = fftw_plan_dft_r2c_1d( SEGMENTATION_LENGTH, timeDomain, frequencyDomain, FFTW_MEASURE );

استخدام فئة FFT من LibgDx

أفترض أنني سأرغب في تهيئة كائن FFT الخاص بي هكذا:

//2048 is smallest power of 2 larger than SEGMENTATION_LENGTH
FFT fourier = new FFT(2048,44100); 

لكن لا يمكنني العثور على أي طرق تتعلق بمجال التردد. أستطيع أن أفعل fourier.forward(samples), ، لكن الأمر لا يتطلب أي معلمات أخرى. هل يمكن لأحد أن يعطيني تلميحًا لما أحتاج إلى فعله هنا؟

هل كانت مفيدة؟

المحلول

أعتقد أن لدي الحل ، هناك أ backward طريقة FFT يأخذ هذا مجال التردد القيم الحقيقية والخيالية التي يمكنك الحصول عليها بعد الاتصال forward.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top