File tree Expand file tree Collapse file tree 1 file changed +6
-6
lines changed
Expand file tree Collapse file tree 1 file changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -348,22 +348,22 @@ fn generate_window<T: Float + FromPrimitive>(window_type: WindowType, size: usiz
348348 let half = T :: from ( 0.5 ) . unwrap ( ) ;
349349 let one = T :: one ( ) ;
350350 let i_t = T :: from ( i) . unwrap ( ) ;
351- let size_m1 = T :: from ( size - 1 ) . unwrap ( ) ;
352- half * ( one - ( two * pi * i_t / size_m1 ) . cos ( ) )
351+ let size_t = T :: from ( size) . unwrap ( ) ; // Use N, not N-1 for periodic window
352+ half * ( one - ( two * pi * i_t / size_t ) . cos ( ) )
353353 } )
354354 . collect ( ) ,
355355 WindowType :: Hamming => ( 0 ..size)
356356 . map ( |i| {
357357 let i_t = T :: from ( i) . unwrap ( ) ;
358- let size_m1 = T :: from ( size - 1 ) . unwrap ( ) ;
359- T :: from ( 0.54 ) . unwrap ( ) - T :: from ( 0.46 ) . unwrap ( ) * ( two * pi * i_t / size_m1 ) . cos ( )
358+ let size_t = T :: from ( size) . unwrap ( ) ; // Use N, not N-1 for periodic window
359+ T :: from ( 0.54 ) . unwrap ( ) - T :: from ( 0.46 ) . unwrap ( ) * ( two * pi * i_t / size_t ) . cos ( )
360360 } )
361361 . collect ( ) ,
362362 WindowType :: Blackman => ( 0 ..size)
363363 . map ( |i| {
364364 let i_t = T :: from ( i) . unwrap ( ) ;
365- let size_m1 = T :: from ( size - 1 ) . unwrap ( ) ;
366- let angle = two * pi * i_t / size_m1 ;
365+ let size_t = T :: from ( size) . unwrap ( ) ; // Use N, not N-1 for periodic window
366+ let angle = two * pi * i_t / size_t ;
367367 T :: from ( 0.42 ) . unwrap ( ) - T :: from ( 0.5 ) . unwrap ( ) * angle. cos ( )
368368 + T :: from ( 0.08 ) . unwrap ( ) * ( two * angle) . cos ( )
369369 } )
You can’t perform that action at this time.
0 commit comments