From f0a7458ad9cf9fcdfca7f84a804f1fc2c75f4131 Mon Sep 17 00:00:00 2001 From: Simon Bjurek <simbj106@student.liu.se> Date: Fri, 7 Feb 2025 09:40:54 +0100 Subject: [PATCH] Removed test that took too long for pipeline and added docstring for the fft function. --- b_asic/sfg_generators.py | 12 ++++++++++++ test/test_sfg_generators.py | 22 ---------------------- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/b_asic/sfg_generators.py b/b_asic/sfg_generators.py index e431ef97..b71a35ed 100644 --- a/b_asic/sfg_generators.py +++ b/b_asic/sfg_generators.py @@ -378,6 +378,18 @@ def direct_form_2_iir( def radix_2_dif_fft(points: int) -> SFG: + """Generates a radix-2 decimation-in-frequency FFT structure. + + Parameters + ---------- + points : int + Number of points for the FFT, needs to be a positive power of 2. + + Returns + ------- + SFG + Signal Flow Graph + """ if points < 0: raise ValueError("Points must be positive number.") if points & (points - 1) != 0: diff --git a/test/test_sfg_generators.py b/test/test_sfg_generators.py index 6f2eaf2e..c199fb63 100644 --- a/test/test_sfg_generators.py +++ b/test/test_sfg_generators.py @@ -358,28 +358,6 @@ def test_radix_2_dif_fft_256_points_sinus_input(): assert np.isclose(a, b) -def test_radix_2_dif_fft_512_points_sinus_input_half_frequency(): - POINTS = 512 - sfg = radix_2_dif_fft(points=POINTS) - - assert len(sfg.inputs) == POINTS - assert len(sfg.outputs) == POINTS - - n = np.linspace(0, 2 * np.pi, POINTS) - waveform = np.sin(0.5 * n) - input_samples = [Constant(waveform[i]) for i in range(POINTS)] - - sim = Simulation(sfg, input_samples) - sim.run_for(1) - - exp_res = np.fft.fft(waveform) - res = sim.results - for i in range(POINTS): - a = res[str(i)] - b = exp_res[i] - assert np.isclose(a, b) - - def test_radix_2_dif_fft_negative_number_of_points(): POINTS = -8 with pytest.raises(ValueError, match="Points must be positive number."): -- GitLab