spectralfilter 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/gemspec +5 -3
- data/lib/spectralfilter.rb +7 -5
- data/rakefile +0 -0
- data/test/test_spectralfilter.rb +0 -0
- metadata +34 -10
data/gemspec
CHANGED
@@ -2,11 +2,13 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
spec = Gem::Specification.new do |s|
|
4
4
|
s.name = "spectralfilter"
|
5
|
-
s.version = "0.0.
|
6
|
-
s.
|
5
|
+
s.version = "0.0.2"
|
6
|
+
s.date = Time.new.to_s
|
7
|
+
s.author = "Ralf Mueller"
|
7
8
|
s.email = "stark.dreamdetective@gmail.com"
|
8
|
-
s.homepage = "http://rubyforge.org/projects/
|
9
|
+
s.homepage = "http://rubyforge.org/projects/spectralfilter"
|
9
10
|
s.platform = Gem::Platform::RUBY
|
11
|
+
s.add_dependency('gsl')
|
10
12
|
s.summary = "Filtering Datasets via Highpass, Lowpass, Bandpass or Bandblock"
|
11
13
|
candidates = Dir.glob("lib/*.rb") + [ "rakefile", "gemspec","LICENSE"]
|
12
14
|
s.files = candidates.delete_if do |item|
|
data/lib/spectralfilter.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
-
require '
|
1
|
+
require 'gsl'
|
2
2
|
require 'mathn'
|
3
3
|
|
4
|
+
# = Spectral analysis and filtering
|
5
|
+
# project page: http://rubyforge.org/projects/extcsv
|
4
6
|
class SpectralFilter
|
5
7
|
attr_accessor :x,:y,:fft,:sampling
|
6
8
|
|
@@ -14,19 +16,19 @@ class SpectralFilter
|
|
14
16
|
|
15
17
|
# Frequences larger than freq are omitted
|
16
18
|
def lowpass(freq)
|
17
|
-
n
|
19
|
+
n = @y.size
|
18
20
|
(0...n).each {|i| @fft[i] = 0 if i*(0.5/(n*(@x[1]-@x[0]))) > freq}
|
19
21
|
end
|
20
22
|
|
21
23
|
# Frequences smaller than freq are omitted
|
22
24
|
def highpass(freq)
|
23
|
-
n
|
25
|
+
n = @y.size
|
24
26
|
(0...n).each {|i| @fft[i] = 0 if i*(0.5/(n*(@x[1]-@x[0]))) < freq}
|
25
27
|
end
|
26
28
|
|
27
29
|
# Frequences outside the range between freqMin and freqMax are subpressed
|
28
30
|
def bandpass(freqMin,freqMax)
|
29
|
-
n
|
31
|
+
n = @y.size
|
30
32
|
(0...n).each {|i|
|
31
33
|
freq_ = i*(0.5/(n*(@x[1]-@x[0])))
|
32
34
|
@fft[i] = 0 if (freq_ < freqMin or freq_ > freqMax)
|
@@ -35,7 +37,7 @@ class SpectralFilter
|
|
35
37
|
|
36
38
|
# Frequences in the range between freqMin and freqMax are omitted
|
37
39
|
def bandblock(freqMin,freqMax)
|
38
|
-
n
|
40
|
+
n = @y.size
|
39
41
|
(0...n).each {|i|
|
40
42
|
freq_ = i*(0.5/(n*(@x[1]-@x[0])))
|
41
43
|
@fft[i] = 0 if !(freq_ < freqMin or freq_ > freqMax)
|
data/rakefile
CHANGED
File without changes
|
data/test/test_spectralfilter.rb
CHANGED
File without changes
|
metadata
CHANGED
@@ -1,18 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spectralfilter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
version: 0.0.2
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
|
-
-
|
12
|
+
- Ralf Mueller
|
8
13
|
autorequire:
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date:
|
17
|
+
date: 2010-11-16 00:38:09 +01:00
|
13
18
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
21
|
+
name: gsl
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
25
|
+
requirements:
|
26
|
+
- - ">="
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 0
|
30
|
+
version: "0"
|
31
|
+
type: :runtime
|
32
|
+
version_requirements: *id001
|
16
33
|
description:
|
17
34
|
email: stark.dreamdetective@gmail.com
|
18
35
|
executables: []
|
@@ -26,31 +43,38 @@ files:
|
|
26
43
|
- rakefile
|
27
44
|
- gemspec
|
28
45
|
- LICENSE
|
46
|
+
- test/test_spectralfilter.rb
|
29
47
|
has_rdoc: true
|
30
|
-
homepage: http://rubyforge.org/projects/
|
48
|
+
homepage: http://rubyforge.org/projects/spectralfilter
|
49
|
+
licenses: []
|
50
|
+
|
31
51
|
post_install_message:
|
32
52
|
rdoc_options: []
|
33
53
|
|
34
54
|
require_paths:
|
35
55
|
- lib
|
36
56
|
required_ruby_version: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
37
58
|
requirements:
|
38
59
|
- - ">="
|
39
60
|
- !ruby/object:Gem::Version
|
61
|
+
segments:
|
62
|
+
- 0
|
40
63
|
version: "0"
|
41
|
-
version:
|
42
64
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
43
66
|
requirements:
|
44
67
|
- - ">="
|
45
68
|
- !ruby/object:Gem::Version
|
69
|
+
segments:
|
70
|
+
- 0
|
46
71
|
version: "0"
|
47
|
-
version:
|
48
72
|
requirements: []
|
49
73
|
|
50
74
|
rubyforge_project:
|
51
|
-
rubygems_version: 1.
|
75
|
+
rubygems_version: 1.3.7
|
52
76
|
signing_key:
|
53
|
-
specification_version:
|
77
|
+
specification_version: 3
|
54
78
|
summary: Filtering Datasets via Highpass, Lowpass, Bandpass or Bandblock
|
55
79
|
test_files:
|
56
80
|
- test/test_spectralfilter.rb
|