1- using System ;
2-
3- namespace NSD
1+ namespace NSD
42{
53 public static class Windows
64 {
@@ -13,11 +11,13 @@ public static Memory<double> HFT95(int width, out double optimumOverlap, out dou
1311 optimumOverlap = 0.756 ;
1412 NENBW = 3.8112 ;
1513 Memory < double > window = new double [ width ] ;
14+ var windowSpan = window . Span ;
15+ double angleIncrement = 2.0 * Math . PI / width ;
1616 for ( int i = 0 ; i < width ; i ++ )
1717 {
18- double z = ( 2.0 * Math . PI * i ) / width ;
18+ double z = angleIncrement * i ;
1919 double wj = 1 - ( 1.9383379 * Math . Cos ( z ) ) + ( 1.3045202 * Math . Cos ( 2 * z ) ) - ( 0.4028270 * Math . Cos ( 3 * z ) ) + ( 0.0350665 * Math . Cos ( 4 * z ) ) ;
20- window . Span [ i ] = wj ;
20+ windowSpan [ i ] = wj ;
2121 }
2222 return window ;
2323 }
@@ -31,11 +31,13 @@ public static Memory<double> HFT90D(int width, out double optimumOverlap, out do
3131 optimumOverlap = 0.76 ;
3232 NENBW = 3.8832 ;
3333 Memory < double > window = new double [ width ] ;
34+ var windowSpan = window . Span ;
35+ double angleIncrement = 2.0 * Math . PI / width ;
3436 for ( int i = 0 ; i < width ; i ++ )
3537 {
36- double z = ( 2.0 * Math . PI * i ) / width ;
38+ double z = angleIncrement * i ;
3739 double wj = 1 - ( 1.942604 * Math . Cos ( z ) ) + ( 1.340318 * Math . Cos ( 2 * z ) ) - ( 0.440811 * Math . Cos ( 3 * z ) ) + ( 0.043097 * Math . Cos ( 4 * z ) ) ;
38- window . Span [ i ] = wj ;
40+ windowSpan [ i ] = wj ;
3941 }
4042
4143 return window ;
@@ -50,11 +52,13 @@ public static Memory<double> FTNI(int width, out double optimumOverlap, out doub
5052 optimumOverlap = 0.656 ;
5153 NENBW = 2.9656 ;
5254 Memory < double > window = new double [ width ] ;
55+ var windowSpan = window . Span ;
56+ double angleIncrement = 2.0 * Math . PI / width ;
5357 for ( int i = 0 ; i < width ; i ++ )
5458 {
55- double z = ( 2.0 * Math . PI * i ) / width ;
59+ double z = angleIncrement * i ;
5660 double wj = 0.2810639 - ( 0.5208972 * Math . Cos ( z ) ) + ( 0.1980399 * Math . Cos ( 2 * z ) ) ;
57- window . Span [ i ] = wj ;
61+ windowSpan [ i ] = wj ;
5862 }
5963 return window ;
6064 }
0 commit comments