init
This commit is contained in:
29
DataPRO/FftSharp/Windows/Blackman.cs
Normal file
29
DataPRO/FftSharp/Windows/Blackman.cs
Normal file
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
|
||||
namespace FftSharp.Windows
|
||||
{
|
||||
public class Blackman : Window, IWindow
|
||||
{
|
||||
private readonly double A = 0.42659071;
|
||||
private readonly double B = 0.49656062;
|
||||
private readonly double C = 0.07684867;
|
||||
|
||||
public override string Name => "Blackman";
|
||||
public override string Description =>
|
||||
"These exact values place zeros at the third and fourth sidelobes, " +
|
||||
"but result in a discontinuity at the edges and a 6 dB/oct fall-off. " +
|
||||
"The truncated coefficients do not null the sidelobes as well, but have an improved 18 dB/oct fall-off.";
|
||||
|
||||
public Blackman() { }
|
||||
|
||||
public Blackman(double a, double b, double c) : this()
|
||||
{
|
||||
(A, B, C) = (a, b, c);
|
||||
}
|
||||
|
||||
protected override double windowValue(int index, int size)
|
||||
{
|
||||
return A - B * Math.Cos(2 * Math.PI * index / size) + C * Math.Cos(4 * Math.PI * index / size);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user