質問編集履歴

1

2021/10/01 11:49

投稿

putaro
putaro

スコア9

test CHANGED
File without changes
test CHANGED
@@ -20,35 +20,27 @@
20
20
 
21
21
 
22
22
 
23
- def LPF_MAM(x,times,tau = 0.01):
23
+ def LPF_CF(x,times,fmax):
24
24
 
25
- k = np.round(tau /(times[1] - times[0])).astype(int)
25
+ freq_X = np.fft.fftfreq(times.shape[0],times[1] - times[0])
26
26
 
27
- x_mean = np.zeros(x.shape)
27
+ X_F = np.fft.fft(x)
28
28
 
29
- N = x.shape[0]
29
+ X_F[freq_X>fmax] = 0
30
30
 
31
- for i in range(N):
31
+ X_F[freq_X<-fmax] = 0
32
32
 
33
- if i-k//2 <0 :
33
+ # 虚数は削除
34
34
 
35
- x_mean[i] = x[: i - k//2 +k].mean()
35
+ x_CF = np.fft.ifft(X_F).real
36
36
 
37
- elif i - k//2 +k>=N:
38
-
39
- x_mean[i] = x[i - k//2 :].mean()
40
-
41
- else :
42
-
43
- x_mean[i] = x[i - k//2 : i - k//2 +k].mean()
44
-
45
- return x_mean
37
+ return x_CF
46
38
 
47
39
 
48
40
 
49
- #tau = 0.035(sin wave), 0.051(step)
41
+ #fmax = 5(sin wave), 13(step)
50
42
 
51
- x_MAM = LPF_MAM(x,times,tau)
43
+ x_CF = LPF_CF(x,times,fmax)
52
44
 
53
45
 
54
46