class Dsp::Systems::MatchedFilter

Public Class Methods

new(signal_eqn: nil, sample_rate: nil, size: nil, signal_data: nil) click to toggle source
Calls superclass method Dsp::Systems::System::new
# File lib/systems/matched_filter.rb, line 11
def initialize(signal_eqn: nil, sample_rate: nil, size: nil, signal_data: nil)
    raise ArgumentError.new("Must have signal_eqn, sample_rate, and size XOR signal_data") if (signal_eqn.nil? or sample_rate.nil? or size.nil?) and (signal_data.nil?)
    if signal_data.nil?
        data = Dsp::AnalogSignal.new(eqn: signal_eqn, sample_rate: sample_rate, size: size).digitize.map(:&conjugate).reverse
        super(data)
    else
        data = signal_data.map(&:conjugate).reverse
        super(data)
    end
end

Public Instance Methods

new_from_analog_signal(signal) click to toggle source
# File lib/systems/matched_filter.rb, line 3
def new_from_analog_signal(signal)
    self.new(signal_data: signal.digitize)
end
new_from_digital_signal(signal) click to toggle source
# File lib/systems/matched_filter.rb, line 7
def new_from_digital_signal(signal)
    self.new(signal_data: signal.data)
end