Sha256: 69ff1f1c03abab9cf94a1fb21da33e38cdcbccb86ab65b227d23d89380cc0a22

Contents?: true

Size: 1.02 KB

Versions: 5

Compression:

Stored size: 1.02 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
require 'gnuplot'
require 'pry'

describe 'cookbook filter' do
  it 'should produce a nice frequency response graph' do
    #sample_rate = 4000
    #crit_freq = 400.0
    #min_test_freq = 10.0
    #max_test_freq = (sample_rate / 2.0) - 1.0
    #bw = 0.3
    #
    #[SPCore::CookbookLowpassFilter, SPCore::CookbookHighpassFilter, SPCore::CookbookBandpassFilter].each do |filter_class|
    #  filter = filter_class.new sample_rate
    #  filter.set_critical_freq_and_bw crit_freq, bw
    #  
    #  freq_response = {}
    #  Scale.exponential(min_test_freq..max_test_freq, 200).each do |freq|
    #    mag = filter.get_freq_magnitude_response freq
    #    freq_response[freq] = SPCore::Gain.linear_to_db(mag)
    #  end
    #  
    #  plotter = Plotter.new(
    #    :title => "Frequency Magnitude Response for #{filter_class} with critical freq of #{crit_freq}",
    #    :logscale => "x"
    #  )
    #  plotter.plot_2d "magnitude (dB)" => freq_response
    #end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
spcore-0.2.1 spec/filters/iir/cookbook_filter_spec.rb
spcore-0.2.0 spec/filters/iir/cookbook_filter_spec.rb
spcore-0.1.9 spec/filters/iir/cookbook_filter_spec.rb
spcore-0.1.8 spec/filters/iir/cookbook_filter_spec.rb
spcore-0.1.7 spec/filters/iir/cookbook_filter_spec.rb