質問編集履歴

2

図の挿入

2021/07/07 11:28

投稿

cream_puff
cream_puff

スコア6

test CHANGED
File without changes
test CHANGED
@@ -2,13 +2,29 @@
2
2
 
3
3
 
4
4
 
5
- y軸の正方向のノイズを含む直線データからノイズを取り除き、直線を取り出すプログラムをつくっています。直線に対して高速フーリエ変換(FFT)は不適なので、移動平均とスプライン補間による平滑化を試みました。しかし、以下のコードでは取り出したい直線をうまく抽出できず困っています。ノイズを含むy=10-x+noise(グラフのlinear, 青)からノイズを含まないy=10-x(グラフのoriginal, 黒)を取り出すのが目標です。改善点、アドバイス、別のアプローチなどがあれば教えていただけると幸いです。
5
+ y軸の正方向のノイズを含む直線データからノイズを取り除き、直線を取り出すプログラムをつくっています。ノイズの大きさは1%程度です。直線に対して高速フーリエ変換(FFT)は不適なので、移動平均とスプライン補間による平滑化を試みました。しかし、以下のコードでは取り出したい直線をうまく抽出できず困っています。ノイズを含むy=10-x+noise(グラフのlinear, 青)からノイズを含まないy=10-x(グラフのoriginal, 黒)を取り出すのが目標です。改善点、アドバイス、別のアプローチなどがあれば教えていただけると幸いです。
6
+
7
+
6
8
 
7
9
 
8
10
 
9
11
  以下のサイトを参考にしました。
10
12
 
11
13
  https://snova301.hatenablog.com/entry/2018/10/07/135233
14
+
15
+
16
+
17
+ 実行結果
18
+
19
+ ![実行結果](b7361b94f4d7416114ca7324096020c8.png)
20
+
21
+
22
+
23
+ 拡大図
24
+
25
+ ![拡大図](8733e6070bf32698a505028dd782e503.png)
26
+
27
+
12
28
 
13
29
 
14
30
 
@@ -60,7 +76,7 @@
60
76
 
61
77
  def moving_avg(in_x, in_y):
62
78
 
63
- np_y_conv = np.convolve(in_y, np.ones(5)/float(5), mode='valid')
79
+ np_y_conv = np.convolve(in_y, np.ones(3)/float(3), mode='valid')
64
80
 
65
81
  out_x_dat = np.linspace(np.min(in_x), np.max(in_x), np.size(np_y_conv))
66
82
 

1

説明の追加「ノイズを含むy=10-x+noise(グラフのlinear, 青)からノイズを含まないy=10-x(グラフのoriginal, 黒)」

2021/07/07 11:28

投稿

cream_puff
cream_puff

スコア6

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- y軸の正方向のノイズを含む直線データからノイズを取り除き、直線を取り出すプログラムをつくっています。直線に対して高速フーリエ変換(FFT)は不適なので、移動平均とスプライン補間による平滑化を試みました。しかし、以下のコードでは取り出したい直線をうまく抽出できず困っています。linear青)からoriginal黒)を取り出すのが目標です。改善点、アドバイス、別のアプローチなどがあれば教えていただけると幸いです。
5
+ y軸の正方向のノイズを含む直線データからノイズを取り除き、直線を取り出すプログラムをつくっています。直線に対して高速フーリエ変換(FFT)は不適なので、移動平均とスプライン補間による平滑化を試みました。しかし、以下のコードでは取り出したい直線をうまく抽出できず困っています。ノイズを含むy=10-x+noise(グラフのlinear, 青)からノイズを含まないy=10-x(グラフのoriginal, 黒)を取り出すのが目標です。改善点、アドバイス、別のアプローチなどがあれば教えていただけると幸いです。
6
6
 
7
7
 
8
8