From fe286c0dea152f5788e3d4dcf2e6002928254665 Mon Sep 17 00:00:00 2001 From: Alexey Velikiy Date: Sun, 14 Nov 2021 10:45:55 +0300 Subject: [PATCH] laplase coefficient --- .../analytic_unit/pattern_analytic_unit.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/server/src/services/analytic_service/analytic_unit/pattern_analytic_unit.rs b/server/src/services/analytic_service/analytic_unit/pattern_analytic_unit.rs index b5dc9f2..c11a02c 100644 --- a/server/src/services/analytic_service/analytic_unit/pattern_analytic_unit.rs +++ b/server/src/services/analytic_service/analytic_unit/pattern_analytic_unit.rs @@ -25,6 +25,8 @@ const FFT_LEN: usize = 64; pub const FEATURES_SIZE: usize = 4 + 16 * 2; pub type Features = Vec; +use std::f64::consts; + #[derive(Clone)] pub struct LearningResults { // TODO: replace with RWLock @@ -117,12 +119,13 @@ fn get_features(xs: &Vec) -> Features { let mut planner = FftPlanner::::new(); - // TODO: move 128 to config + let fft = planner.plan_fft_forward(FFT_LEN); let mut c_buffer = vec![Complex{ re: 0.0f64, im: 0.0f64 }; FFT_LEN]; + let p = 1.0 / FFT_LEN as f64; for i in 0..FFT_LEN.min(xs.len()) { - c_buffer[i].re = xs[i]; + c_buffer[i].re = xs[i] * consts::E.powf((i as f64) * p); } fft.process(&mut c_buffer);