File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed
Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change 1+ import numpy as np
2+ import scipy as sp
3+
4+ from eitprocessing .filters .mdn import MDNFilter
5+
6+ SAMPLE_FREQUENCY = 20
7+ MINUTE = 60
8+
9+
10+ def test_mdn_working ():
11+ n_samples = 10000
12+ heart_rate = 70 / MINUTE
13+ respiratory_rate = 12 / MINUTE
14+
15+ signal = np .random .normal (2.0 , 1.0 , n_samples )
16+
17+ mdn_filter = MDNFilter (sample_frequency = SAMPLE_FREQUENCY , heart_rate = heart_rate , respiratory_rate = respiratory_rate )
18+ filtered_signal = mdn_filter .apply_filter (signal )
19+
20+ f , Pxx = sp .signal .welch (signal , fs = SAMPLE_FREQUENCY )
21+ filtered_f , filtered_Pxx = sp .signal .welch (filtered_signal , fs = SAMPLE_FREQUENCY )
22+
23+ current_frequency_center = heart_rate
24+ while current_frequency_center < mdn_filter .noise_frequency_limit :
25+ notch_distance = mdn_filter .notch_distance
26+ frequency_band = (f > current_frequency_center - notch_distance ) & (
27+ f < current_frequency_center + notch_distance
28+ )
29+ mean_power = np .mean (Pxx [frequency_band ])
30+
31+ filtered_mean_power = np .mean (filtered_Pxx [frequency_band ])
32+
33+ assert filtered_mean_power < mean_power
34+
35+ current_frequency_center += heart_rate
You can’t perform that action at this time.
0 commit comments