ISmBandpassFilter.FrequencyHigh

Синтаксис

FrequencyHigh: Double;

Описание

Свойство FrequencyHigh определяет верхнюю частоту отсечения.

Пример

Sub Main;

Var

bpf: SmBandpassFilter;

can: Array[22] Of Double;

res: Integer;

Sub Print(Data: Array Of Double);

Var

i: Integer;

CI: ICultureInfo;

Begin

CI := CultureInfo.Current;

Debug.WriteLine("---Begin---");

For i := 0 To Data.Length - 1 Do

If Double.IsNan(Data[i])

Then Debug.WriteLine("---empty---");

Else Debug.WriteLine(i.ToString + ", " + CI.FormatDoublePrec(Data[i], 4));

End If;

End For;

Debug.WriteLine("---End---");

End Sub Print;

Begin

can[00] := 6209;

can[01] := 6385;

can[02] := 6752;

can[03] := 6837;

can[04] := 6495;

can[05] := 6907;

can[06] := 7349;

can[07] := 7213;

can[08] := 7061;

can[09] := 7180;

can[10] := 7132;

can[11] := 7137;

can[12] := 7473;

can[13] := 7722;

can[14] := 8088;

can[15] := 8516;

can[16] := 8941;

can[17] := 9064;

can[18] := 9380;

can[19] := 9746;

can[20] := 9907;

can[21] := 10333;

bpf := New SmBandpassFilter.Create;

bpf.ModelPeriod.FirstPoint := 0;

bpf.ModelPeriod.LastPoint := 21;

bpf.Serie.Value := can;

bpf.Width := 2;

bpf.FrequencyHigh := 7;

bpf.FrequencyLow := 2;

res := bpf.Execute;

If res <> 0 Then

Debug.WriteLine(bpf.Errors);

Else

Debug.WriteLine("=== Модельный ряд ===");

Print(bpf.Fitted);

End If;

End Sub Main;

После выполнения примера в окно консоли будет выведен сглаженный ряд:

Module execution started

=== Модельный ряд ===

---Begin---

---empty---

---empty---

2, 6 521.8215

3, 6 587.4245

4, 6 987.7807

5, 6 949.4916

6, 6 936.6029

7, 7 164.9069

8, 7 233.3035

9, 7 099.0240

10, 7 189.5365

11, 7 370.0649

12, 7 464.1300

13, 7 802.8335

14, 8 146.0180

15, 8 485.2142

16, 8 747.3239

17, 9 172.1929

18, 9 414.3872

---empty---

---empty---

---End---

Module execution finished

См. также:

ISmBandpassFilter