reconstruct_time_domain

Function reconstruct_time_domain 

Source
pub fn reconstruct_time_domain(
    sparse_result: &SparseFFTResult,
    n: usize,
) -> FFTResult<Vec<Complex64>>
Expand description

Reconstructs time-domain signal from sparse frequency components

§Arguments

  • sparse_result - The sparse FFT result
  • n - Length of the signal

§Returns

  • Reconstructed time-domain signal

§Examples

use scirs2_fft::sparse_fft::{sparse_fft, reconstruct_time_domain};

// Generate a sparse signal
let n = 64;
let mut original_signal = vec![0.0; n];
for i in 0..n {
    let t = 2.0 * std::f64::consts::PI * (i as f64) / (n as f64);
    original_signal[i] = 1.0 * (3.0 * t).sin() + 0.5 * (7.0 * t).sin();
}

// Compute sparse FFT
let sparse_result = sparse_fft(&original_signal, 4, None, None).unwrap();

// Reconstruct time-domain signal
let reconstructed = reconstruct_time_domain(&sparse_result, n).unwrap();

// The reconstructed signal should have the same length
assert_eq!(reconstructed.len(), n);