Discussion Overview
The discussion revolves around the implementation and testing of an Inverse Fast Fourier Transform (IFFT) and a Finite Impulse Response (FIR) filter applied to the output of a Fast Fourier Transform (FFT) of a sine wave. Participants are exploring issues related to the output of the IFFT after filtering, specifically concerning unexpected amplitude levels and frequency content.
Discussion Character
- Technical explanation
- Debate/contested
- Mathematical reasoning
Main Points Raised
- One participant reports that after applying the IFFT, the output points are unexpectedly high and contain multiple frequencies instead of the expected single frequency.
- Another participant questions whether performing an FFT followed by an IFFT should return the original data, noting that many implementations return the original data scaled by the number of points.
- A participant suggests that the FFT-IFFT combination should be verified without filtering before troubleshooting further.
- Input and output data points are shared, showing a comparison between the input to the FFT and the output after the IFFT, indicating additional points in the output.
- Code snippets for the IFFT implementation are provided, but one participant critiques the structure and suggests that the FFT and IFFT routines should be combined into a single function.
- Concerns are raised about the nature of the input data, which is described as a non-periodic, monotonically increasing function, leading to confusion about the expected FFT results.
- One participant expresses frustration with the complexity of the code and the debugging process, while another acknowledges a bug in their previous implementation and shares a new version of the code.
- There is a request for further discussion on digital signal processing (DSP) topics, but another participant advises that foundational knowledge in trigonometry, complex numbers, and calculus is necessary before proceeding.
Areas of Agreement / Disagreement
Participants express differing views on the implementation and expected outcomes of the FFT and IFFT processes. There is no consensus on the cause of the issues being experienced, and multiple perspectives on debugging and understanding the underlying concepts are present.
Contextual Notes
Some participants note that the FFT and IFFT routines may have been implemented independently, which could lead to discrepancies in the output. Additionally, there is mention of the need for a better understanding of the mathematical principles involved in DSP.