Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature] Implement Fast Convolution and Cross-Correlation #82

Merged
merged 1 commit into from
Aug 24, 2024

Conversation

skylarkgit
Copy link
Contributor

Summary:
This pull request introduces the implementation of fast convolution and cross-correlation methods using FFT (Fast Fourier Transform). It includes:

  • Implementation of fastConvolve and fastCrossCorrelate methods.
  • Support for different convolution modes: full, same, and valid.
  • Error handling for invalid modes.

When to Use Fast Convolution and Cross-Correlation:

  • Use these methods when dealing with large datasets or signals where performance is critical.
  • They are particularly beneficial in applications requiring real-time signal processing or where the convolution/cross-correlation operation is a bottleneck.
  • Suitable for high-performance computing environments and scenarios involving repeated calculations on similar-sized data.

Details:

  1. Fast Convolution:

    • Implements the fastConvolve method which performs convolution using FFT.
    • Supports full, same, and valid modes.
    • Includes proper error handling for invalid modes.
  2. Fast Cross-Correlation:

    • Implements the fastCrossCorrelate method which performs cross-correlation using fastConvolve.
    • Supports full, same, and valid modes.

Changes Made:

  • Added fastConvolve and fastCrossCorrelate methods in the respective classes.
  • Added detailed comments and documentation to explain the methods and parameters.
  • Included error handling for invalid modes.

Testing:

  • Tested the methods with different modes (full, same, valid) to ensure correctness.

@psambit9791 psambit9791 changed the base branch from master to dev June 29, 2024 22:18
@psambit9791 psambit9791 merged commit 11fd718 into psambit9791:dev Aug 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants