class SPCore::BlackmanHarrisWindow

Produces a Blackman-Harris window of a given size (number of samples). For more info, see en.wikipedia.org/wiki/Window_function#Blackman.E2.80.93Harris_window.

Attributes

data[R]

Public Class Methods

new(size) click to toggle source
# File lib/spcore/windows/blackman_harris_window.rb, line 6
def initialize size
  @data = Array.new(size)
  a0, a1, a2, a3 = 0.35875, 0.48829, 0.14128, 0.01168
  size.times do |n|
    @data[n] = a0 - a1 * Math::cos((TWO_PI * n)/(size - 1)) + a2 * Math::cos((FOUR_PI * n)/(size - 1)) - a3 * Math::cos((SIX_PI * n)/(size - 1))
  end
end