Sha256: a38c01a8e393c51c2975d0113fa3b4b62ee6098be81fdfeb1efdb38190708b69

Contents?: true

Size: 906 Bytes

Versions: 7

Compression:

Stored size: 906 Bytes

Contents

##
# Factory class for Windows. Can output Digiproc::HanningWindow, Digiproc::HammingWindow, and Digiproc::BlackmanWindow

class Digiproc::Factories::WindowFactory

    ##
    # Decision made based off ofstopband_attenuation
    # @example
    # Digiproc::Factories::WindowFactory.window_for(normalized_transition_width: 0.05, stopband_attenuation: 60) # => outputs Digiproc::BlackmanWindow instance
    def self.window_for(normalized_transition_width: , stopband_attenuation: )
        
        if stopband_attenuation < 40
            return Digiproc::HanningWindow.new(norm_trans_freq: normalized_transition_width)
        elsif stopband_attenuation < 50
            return Digiproc::HammingWindow.new(norm_trans_freq: normalized_transition_width)
        else
            return Digiproc::BlackmanWindow.new(norm_trans_freq: normalized_transition_width)
        end
    end


end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
digiproc-0.2.5 lib/factories/window_factory.rb
digiproc-0.2.4 lib/factories/window_factory.rb
digiproc-0.2.3 lib/factories/window_factory.rb
digiproc-0.2.2 lib/factories/window_factory.rb
digiproc-0.2.1 lib/factories/window_factory.rb
digiproc-0.2.0 lib/factories/window_factory.rb
digiproc-0.1.0 lib/factories/window_factory.rb