Skip to content

Commit 303ab4d

Browse files
committed
Рефакторинг
1 parent 5b7d941 commit 303ab4d

6 files changed

Lines changed: 239 additions & 69 deletions

File tree

MathCore.DSP.sln.DotSettings

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@
55
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=UnusedType_002EGlobal/@EntryIndexedValue">DO_NOT_SHOW</s:String>
66
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DSP/@EntryIndexedValue">DSP</s:String>
77
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FFT/@EntryIndexedValue">FFT</s:String>
8+
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FIR/@EntryIndexedValue">FIR</s:String>
89
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=FT/@EntryIndexedValue">FT</s:String>
910
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=II/@EntryIndexedValue">II</s:String>
11+
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IIR/@EntryIndexedValue">IIR</s:String>
1012
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PNG/@EntryIndexedValue">PNG</s:String>
1113
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RC/@EntryIndexedValue">RC</s:String>
14+
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RLC/@EntryIndexedValue">RLC</s:String>
1215
<s:Boolean x:Key="/Default/UserDictionary/Words/=ALGLIB/@EntryIndexedValue">True</s:Boolean>
1316
<s:Boolean x:Key="/Default/UserDictionary/Words/=arcch/@EntryIndexedValue">True</s:Boolean>
1417
<s:Boolean x:Key="/Default/UserDictionary/Words/=arcsh/@EntryIndexedValue">True</s:Boolean>

MathCore.DSP/Filters/RCHighPass.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ public class RCHighPass : IIR
99
/// <param name="f0">Частота среза</param>
1010
/// <param name="dt">Период дискретизации</param>
1111
public RCHighPass(double f0, double dt) : this(Tan(PI * f0 * dt)) { }
12+
1213
//private RCHighPass(double q) : base(A: new[] { 1, (1 - q) / (1 + q) }, B: new[] { 1 / (1 + q), -1 / (1 + q) }) { }
14+
1315
private RCHighPass(double w) : base(A: [w + 1, w - 1], B: [1d, -1d]) { }
1416
}

MathCore.DSP/Filters/RCLowPass.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ public class RCLowPass : IIR
1010
/// <param name="f0">Частота среза</param>
1111
public RCLowPass(double dt, double f0) : this(1 / Tan(PI * f0 * dt)) { }
1212

13+
1314
//private RCLowPass(double w) : base(A: [1, (1 - w) / (1 + w)], B: [w / (1 + w), w / (1 + w)]) { }
15+
1416
private RCLowPass(double w) : base(A: [1 + w, 1 - w], B: [1d, 1d]) { }
1517
}

MathCore.DSP/Fourier/DoubleArrayFT.cs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ public static class DoubleArrayFT
77
{
88
private static (double Sin, double Cos)[] GetCoefficients(int N, bool IsInverse = false)
99
{
10-
var w = new (double Sin, double Cos)[N];
11-
var w0 = IsInverse ? -Consts.pi2 / N : Consts.pi2 / N;
10+
var w = new (double Sin, double Cos)[N];
11+
var w0 = IsInverse ? -Consts.pi2 / N : Consts.pi2 / N;
1212
var arg = 0.0;
1313
for (var i = 0; i < N; i++)
1414
{
15-
w[i] = (Math.Sin(arg), Math.Cos(arg));
16-
arg += w0;
15+
w[i] = (Math.Sin(arg), Math.Cos(arg));
16+
arg += w0;
1717
}
1818
return w;
1919
}
@@ -29,17 +29,17 @@ public static Spectrum GetFourierTransformation(this double[] s, bool IsInverse
2929

3030
return m =>
3131
{
32-
var P = 0.0;
33-
var Q = 0.0;
34-
for(var n = 0; n < N; n++)
32+
var p = 0.0;
33+
var q = 0.0;
34+
for (var n = 0; n < N; n++)
3535
{
3636
var val = s[n];
3737
var (sin, cos) = w[n * m % N];
38-
P += val * cos;
39-
Q += val * sin;
38+
p += val * cos;
39+
q += val * sin;
4040
}
4141

42-
return new(P / N, Q / N);
42+
return new(p / N, q / N);
4343
};
4444
}
4545

@@ -54,17 +54,17 @@ public static Spectrum GetFourierTransformation(this Complex[] s, bool IsInverse
5454

5555
return m =>
5656
{
57-
var P = 0.0;
58-
var Q = 0.0;
59-
for(var n = 0; n < N; n++)
57+
var p = 0.0;
58+
var q = 0.0;
59+
for (var n = 0; n < N; n++)
6060
{
6161
var (re, im) = s[n];
6262
var (sin, cos) = w[n * m % N];
63-
P += re * cos - im * sin;
64-
Q += im * cos + re * sin;
63+
p += re * cos - im * sin;
64+
q += im * cos + re * sin;
6565
}
6666

67-
return new(P / N, Q / N);
67+
return new(p / N, q / N);
6868
};
6969
}
7070
}

0 commit comments

Comments
 (0)