Sha256: 452ace8493ebdee2b3d7b7bb769f4d08b2a48779a85d5b2a3c5fdc3b92beb327

Contents?: true

Size: 541 Bytes

Versions: 9

Compression:

Stored size: 541 Bytes

Contents

module SPCore
# Produces a Blackman-Nuttall window of a given size (number of samples).
# For more info, see https://en.wikipedia.org/wiki/Window_function#Blackman.E2.80.93Nuttall_window.
class BlackmanNuttallWindow
  attr_reader :data
  def initialize size
    @data = Array.new(size)
    a0, a1, a2, a3 = 0.3635819, 0.4891775, 0.1365995, 0.0106411
    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
end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
spcore-0.2.1 lib/spcore/windows/blackman_nuttall_window.rb
spcore-0.2.0 lib/spcore/windows/blackman_nuttall_window.rb
spcore-0.1.9 lib/spcore/windows/blackman_nuttall_window.rb
spcore-0.1.8 lib/spcore/windows/blackman_nuttall_window.rb
spcore-0.1.7 lib/spcore/windows/blackman_nuttall_window.rb
spcore-0.1.6 lib/spcore/windows/blackman_nuttall_window.rb
spcore-0.1.5 lib/spcore/windows/blackman_nuttall_window.rb
spcore-0.1.4 lib/spcore/windows/blackman_nuttall_window.rb
spcore-0.1.3 lib/spcore/windows/blackman_nuttall_window.rb