teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

2021/10/01 11:49

投稿

putaro
putaro

スコア9

title CHANGED
File without changes
body CHANGED
@@ -9,21 +9,17 @@
9
9
  ### リンクの周波数空間でのカットオフのコード
10
10
  ```python
11
11
 
12
- def LPF_MAM(x,times,tau = 0.01):
12
+ def LPF_CF(x,times,fmax):
13
- k = np.round(tau /(times[1] - times[0])).astype(int)
13
+ freq_X = np.fft.fftfreq(times.shape[0],times[1] - times[0])
14
+ X_F = np.fft.fft(x)
15
+ X_F[freq_X>fmax] = 0
16
+ X_F[freq_X<-fmax] = 0
17
+ # 虚数は削除
14
- x_mean = np.zeros(x.shape)
18
+ x_CF = np.fft.ifft(X_F).real
15
- N = x.shape[0]
16
- for i in range(N):
17
- if i-k//2 <0 :
18
- x_mean[i] = x[: i - k//2 +k].mean()
19
- elif i - k//2 +k>=N:
20
- x_mean[i] = x[i - k//2 :].mean()
21
- else :
22
- x_mean[i] = x[i - k//2 : i - k//2 +k].mean()
23
- return x_mean
19
+ return x_CF
24
20
 
25
- #tau = 0.035(sin wave), 0.051(step)
21
+ #fmax = 5(sin wave), 13(step)
26
- x_MAM = LPF_MAM(x,times,tau)
22
+ x_CF = LPF_CF(x,times,fmax)
27
23
 
28
24
  ```
29
25
  ###使用環境