Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6721203
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T09:18:06+00:00 2026-05-26T09:18:06+00:00

Today while struggling to make my C++ code (using Ooura FFT library) to give

  • 0

Today while struggling to make my C++ code (using Ooura FFT library) to give the same results as Matlab does, I finally found a problem and a solution.

In Matlab calculating reverse coefficients for a grid of amplitude-frequency response is done in a following way (code fragment from Matlab’s internal fir2() function):

%H contains 8192 points of AFR data
Hconj = [H conj(H(npt-1:-1:2))];   % Fourier transform of real series
ht = real(ifft(Hconj));            % Symmetric real series

as a result we get back 16384 bins, and the second half of them can be thrown away, but the first half can later be used as FIR coefficients.

But if I do the same in Ooura using Real DFT rdft() function, I get coefficients which create a mirror effect in the resulting AFR, all the frequencies on the AFR plot are divided by 2.

So an idea came to me: in my C++ code I made my H twice as big (16384 points) and filled them all with frequency data without mirroring. And voila! it worked, now I got 16384 points, throw away everything after 8192 point and now the resulting AFR matches the Matlab’s.

I was convinced that all standard FFT implementations need this mirroring. Is it just a quirk of Ooura that it DOES NOT need mirroring data in input, or maybe there is something else going on?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T09:18:06+00:00Added an answer on May 26, 2026 at 9:18 am

    A “real” FFT often does the mirroring internally by automatically using the complex conjugates of the input for the mirrored values. A standard FFT/IFFT doesn’t do this because it has twice the degrees of freedom (e.g. to produce a complex output or, say, a complex domain filter from an IFFT) of an FFT/IFFT implementation constrained to real-only output.

    The frequency bin step size of an FFT is controlled by its length. Half the length produces half the frequency step size, as in your original trial.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I got an error today while trying to do some formatting to existing code.
While cleaning some code today written by someone else, I changed the access modifier
While searching a bug in my code today I found a strange thing. When
I found this today while looking at a library for an API . def
I unfortunately was doing a little code archeology today (while refactoring out some old
Background: today, an issue arose while using SQL Server Reporting Services. It seems that
I came across this piece of code today while tutoring some students in a
While stepping through code today, I noticed something unexpected. This statement: if Object.respond_to? :hello
Today while I was writing some code for two methods that shows and hides
I stumbled upon this oddity today while playing with some code to go down

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.