• 検索結果がありません。

信号処理とフーリエ変換第 14 回 目次 本日の内容・連絡事項

N/A
N/A
Protected

Academic year: 2021

シェア "信号処理とフーリエ変換第 14 回 目次 本日の内容・連絡事項"

Copied!
30
0
0

読み込み中.... (全文を見る)

全文

(1)

信号処理とフーリエ変換 第 14 回

〜デジタル・フィルター

(2)

かつらだ

桂田 祐史

ま さ し

2021 年 1 月 20 日

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 1 / 14

(2)

目次

1

本日の内容・連絡事項

2

デジタル・フィルター

(

続き

)

デジタル・フィルターを作る ( 続き )

ローパス・フィルター

かつらだまさし

(3)

本日の内容・連絡事項

デジタル・フィルターの 2 回目 ( 講義ノート [1]§8 の後半 ) 。

今日の授業は短いです。 ( シラバスに載せていた「 CT の数理」の説明 はカットします。興味のある人は講義ノート

§10

を読んで下さい。 ) 期末レポート課題については

http://nalab.mind.meiji.ac.jp/

~mk/fourier/F13_0113_handout.pdf

4 ページで紹介した (1 27 日 12:30 課題文発表 , 1 月 30 日 13:30 までに提出 ) 。

期末試験の代わりになるもの、ということであるが、期末試験の問 題とは傾向は変わる。

それとは別にレポート課題 3 を出した (1/13) 。 締め切りは 1 31 日。

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 3 / 14

(4)

8.5

デジタル・フィルターを作る

(

続き

) 8.5.7

ローパス・フィルター

低い音は通すが、高い音はカットする、ローパス・フィルター(low-pass filter)を作ろう。

最初は素朴に考える。Fe>0として、次を目標にする。

Fe 以下の周波数の信号はそのまま通し、Fe より高い周波数の信号は一切通さない。 その周波数Fe に対応する正規化角周波数ωe は、ωe= FFe

s. そこで、デジタル・フィル ターF で、単位インパルス応答h=F[δ]が

(1) bh(ω) =

1 (|ω| ≤ωe)

0 (|ω|> ωe) (理想的な周波数特性) を満たすものを求める(思い出し: yn=bh(ω)einω)。

hnは?離散時間Fourier変換の反転公式hn= 1 2π

Z π

π

bh(ω)einωから

(2) hn= 1

2π Z ωe

ωe

einω=ωe

π sinc(nωe). ここで

sincx:=



 sinx

x (x R\ {0}) 1 (x = 0). 一般に

Z a

a

eibx dx= 2asinc(ab)が成り立つので、=が得られる。

かつらだまさし

(5)

8.5

デジタル・フィルターを作る

(

続き

) 8.5.7

ローパス・フィルター

低い音は通すが、高い音はカットする、ローパス・フィルター(low-pass filter)を作ろう。

最初は素朴に考える。Fe>0として、次を目標にする。

Fe 以下の周波数の信号はそのまま通し、Fe より高い周波数の信号は一切通さない。

その周波数Fe に対応する正規化角周波数ωe は、ωe= FFe

s. そこで、デジタル・フィル ターF で、単位インパルス応答h=F[δ]が

(1) bh(ω) =

1 (|ω| ≤ωe)

0 (|ω|> ωe) (理想的な周波数特性) を満たすものを求める(思い出し: yn=bh(ω)einω)。

hnは?離散時間Fourier変換の反転公式hn= 1 2π

Z π

π

bh(ω)einωから

(2) hn= 1

2π Z ωe

ωe

einω=ωe

π sinc(nωe). ここで

sincx:=



 sinx

x (x R\ {0}) 1 (x = 0). 一般に

Z a

a

eibx dx= 2asinc(ab)が成り立つので、=が得られる。

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 4 / 14

(6)

8.5

デジタル・フィルターを作る

(

続き

) 8.5.7

ローパス・フィルター

低い音は通すが、高い音はカットする、ローパス・フィルター(low-pass filter)を作ろう。

最初は素朴に考える。Fe>0として、次を目標にする。

Fe 以下の周波数の信号はそのまま通し、Fe より高い周波数の信号は一切通さない。

その周波数Fe に対応する正規化角周波数ωe は、ωe= FFe

s. そこで、デジタル・フィル ターF で、単位インパルス応答h=F[δ]が

(1) bh(ω) =

1 (|ω| ≤ωe)

0 (|ω|> ωe) (理想的な周波数特性) を満たすものを求める(思い出し: yn=bh(ω)einω)。

hnは?離散時間Fourier変換の反転公式hn= 1 2π

Z π

π

bh(ω)einωから

(2) hn= 1

2π Z ωe

ωe

einω=ωe

π sinc(nωe). ここで

sincx:=



 sinx

x (x R\ {0}) 1 (x = 0). 一般に

Z a

a

eibx dx= 2asinc(ab)が成り立つので、=が得られる。

かつらだまさし

(7)

8.5

デジタル・フィルターを作る

(

続き

) 8.5.7

ローパス・フィルター

低い音は通すが、高い音はカットする、ローパス・フィルター(low-pass filter)を作ろう。

最初は素朴に考える。Fe>0として、次を目標にする。

Fe 以下の周波数の信号はそのまま通し、Fe より高い周波数の信号は一切通さない。

その周波数Fe に対応する正規化角周波数ωe は、ωe= FFe

s. そこで、デジタル・フィル ターF で、単位インパルス応答h=F[δ]が

(1) bh(ω) =

1 (|ω| ≤ωe)

0 (|ω|> ωe) (理想的な周波数特性) を満たすものを求める(思い出し: yn=bh(ω)einω)。

hnは?

離散時間Fourier変換の反転公式hn= 1 2π

Z π

π

bh(ω)einωから

(2) hn= 1

2π Z ωe

ωe

einω=ωe

π sinc(nωe). ここで

sincx:=



 sinx

x (x R\ {0}) 1 (x = 0). 一般に

Z a

a

eibx dx= 2asinc(ab)が成り立つので、=が得られる。

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 4 / 14

(8)

8.5

デジタル・フィルターを作る

(

続き

) 8.5.7

ローパス・フィルター

低い音は通すが、高い音はカットする、ローパス・フィルター(low-pass filter)を作ろう。

最初は素朴に考える。Fe>0として、次を目標にする。

Fe 以下の周波数の信号はそのまま通し、Fe より高い周波数の信号は一切通さない。

その周波数Fe に対応する正規化角周波数ωe は、ωe= FFe

s. そこで、デジタル・フィル ターF で、単位インパルス応答h=F[δ]が

(1) bh(ω) =

1 (|ω| ≤ωe)

0 (|ω|> ωe) (理想的な周波数特性) を満たすものを求める(思い出し: yn=bh(ω)einω)。

hnは?離散時間Fourier変換の反転公式hn= 1 2π

Z π

π

bh(ω)einωから

(2) hn= 1

2π Z ωe

−ωe

einω=ωe

π sinc(nωe).

ここで

sincx:=



 sinx

x (x R\ {0}) 1 (x = 0).

一般に Z a

a

eibx dx= 2asinc(ab)が成り立つので、=が得られる。

かつらだまさし

(9)

8.5.7 ローパス・フィルター

念のため(前回の記憶がかすかな人のため): つまり、{hn}n∈Z hn:= 1

2π Z ωe

ωe

einω=ωe

π sinc(nωe) で定めると

X n=−∞

hneinω=h(ω) =b

1 (|ω| ≤ωe の場合) 0 (|ω|> ωe の場合) が成り立ち

yn=x∗h(n) = X k=−∞

xnkhk (nZ) で{yn}を計算すると、離散正弦波{xn}n∈Z=

einω

n∈Z に対しては yn=bh(ω)xn=

xn (|ω| ≤ωe の場合) 0 (|ω|> ωe の場合).

つまり、Fe より低い周波数の信号はそのまま通し、Fe より高い周波数の信号は完璧に シャットアウトする。

しかし、フィルターをコンピューター上に実現するとき、無限級数の計算をすることは現 実的ではない。何らかの形で有限項で打ち切ることになるだろう。

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 5 / 14

(10)

8.5.7 ローパス・フィルター

念のため(前回の記憶がかすかな人のため): つまり、{hn}n∈Z hn:= 1

2π Z ωe

ωe

einω=ωe

π sinc(nωe) で定めると

X n=−∞

hneinω=h(ω) =b

1 (|ω| ≤ωe の場合) 0 (|ω|> ωe の場合) が成り立ち、

yn=x∗h(n) = X k=−∞

xnkhk (nZ) で{yn}を計算すると、離散正弦波{xn}n∈Z=

einω

n∈Z に対しては yn=bh(ω)xn=

xn (|ω| ≤ωe の場合) 0 (|ω|> ωe の場合).

つまり、Fe より低い周波数の信号はそのまま通し、Fe より高い周波数の信号は完璧に シャットアウトする。

しかし、フィルターをコンピューター上に実現するとき、無限級数の計算をすることは現 実的ではない。何らかの形で有限項で打ち切ることになるだろう。

かつらだまさし

(11)

8.5.7 ローパス・フィルター

念のため(前回の記憶がかすかな人のため): つまり、{hn}n∈Z hn:= 1

2π Z ωe

ωe

einω=ωe

π sinc(nωe) で定めると

X n=−∞

hneinω=h(ω) =b

1 (|ω| ≤ωe の場合) 0 (|ω|> ωe の場合) が成り立ち、

yn=x∗h(n) = X k=−∞

xnkhk (nZ) で{yn}を計算すると、離散正弦波{xn}n∈Z=

einω

n∈Z に対しては yn=bh(ω)xn=

xn (|ω| ≤ωe の場合) 0 (|ω|> ωe の場合).

つまり、Fe より低い周波数の信号はそのまま通し、Fe より高い周波数の信号は完璧に シャットアウトする。

しかし、フィルターをコンピューター上に実現するとき、無限級数の計算をすることは現 実的ではない。何らかの形で有限項で打ち切ることになるだろう。

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 5 / 14

(12)

8.5.7 ローパス・フィルター F

J

( 単純な打ち切り )

まず素朴に単純な打ち切りを試す。J∈Nに対して X k=−∞

を XJ/2 k=−J/2

で置き換える。

これはF の代わりに、次式で定まるFJ を考えていることになる:

FJ[x](n) :=

J/2

X

k=−J/2

xnkhk (nZ). {hn}n∈Zの代わりに、次式の

hnJ n∈Zを用いる、ということである。 hJn:=

hn (|n| ≤J/2) 0 (|n|>J/2). このFJ の周波数特性は

bhJ(ω) = X n=−∞

hnJe−inω= XJ/2 n=J/2

hne−inω.

このbhJ(ω)のグラフを描いてみよう。

かつらだまさし

(13)

8.5.7 ローパス・フィルター F

J

( 単純な打ち切り )

まず素朴に単純な打ち切りを試す。J∈Nに対して X k=−∞

を XJ/2 k=−J/2

で置き換える。

これはF の代わりに、次式で定まるFJ を考えていることになる:

FJ[x](n) :=

J/2

X

k=−J/2

xnkhk (nZ).

{hn}n∈Zの代わりに、次式の

hnJ n∈Zを用いる、ということである。 hJn:=

hn (|n| ≤J/2) 0 (|n|>J/2). このFJ の周波数特性は

bhJ(ω) = X n=−∞

hnJe−inω= XJ/2 n=J/2

hne−inω.

このbhJ(ω)のグラフを描いてみよう。

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 6 / 14

(14)

8.5.7 ローパス・フィルター F

J

( 単純な打ち切り )

まず素朴に単純な打ち切りを試す。J∈Nに対して X k=−∞

を XJ/2 k=−J/2

で置き換える。

これはF の代わりに、次式で定まるFJ を考えていることになる:

FJ[x](n) :=

J/2

X

k=−J/2

xnkhk (nZ).

{hn}n∈Zの代わりに、次式の

hnJ n∈Zを用いる、ということである。

hJn:=

hn (|n| ≤J/2) 0 (|n|>J/2).

このFJ の周波数特性は bhJ(ω) =

X n=−∞

hnJe−inω= XJ/2 n=J/2

hne−inω.

このbhJ(ω)のグラフを描いてみよう。

かつらだまさし

(15)

8.5.7 ローパス・フィルター F

J

( 単純な打ち切り )

まず素朴に単純な打ち切りを試す。J∈Nに対して X k=−∞

を XJ/2 k=−J/2

で置き換える。

これはF の代わりに、次式で定まるFJ を考えていることになる:

FJ[x](n) :=

J/2

X

k=−J/2

xnkhk (nZ).

{hn}n∈Zの代わりに、次式の

hnJ n∈Zを用いる、ということである。

hJn:=

hn (|n| ≤J/2) 0 (|n|>J/2).

このFJ の周波数特性は bhJ(ω) =

X n=−∞

hnJe−inω= XJ/2 n=J/2

hne−inω.

このbhJ(ω)のグラフを描いてみよう。

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 6 / 14

(16)

8.5.7 ローパス・フィルター F

J

( 単純打ち切り ) 周波数特性

naivelowpass.nb—bhJ(ω)のグラフを描く

omega=0.5

h[n_]:=omega/Pi Sinc[n omega]

draw[J_]:=Plot[Sum[h[n]Exp[-I n t],{n,-J/2,J/2}],{t,-Pi,Pi}, PlotRange->All]

draw[100]

目標は

Plot[If[Abs[x]<omega,1,0],{x,-Pi,Pi}]

-3 -2 -1 1 2 3

0.2 0.4 0.6 0.8 1.0 1.2

-3 -2 -1 1 2 3

0.2 0.4 0.6 0.8 1.0 1.2

1:hbJ(ω) (J = 100)

と目標

bh(ω). hJ

の周波数特性

bhJ(ω)

“波打っている”

かつらだまさし

(17)

8.5.7 ローパス・フィルター F

J

( 単純打ち切り ) 周波数特性

naivelowpass.nb—bhJ(ω)のグラフを描く

omega=0.5

h[n_]:=omega/Pi Sinc[n omega]

draw[J_]:=Plot[Sum[h[n]Exp[-I n t],{n,-J/2,J/2}],{t,-Pi,Pi}, PlotRange->All]

draw[100]

目標は

Plot[If[Abs[x]<omega,1,0],{x,-Pi,Pi}]

-3 -2 -1 1 2 3

0.2 0.4 0.6 0.8 1.0 1.2

-3 -2 -1 1 2 3

0.2 0.4 0.6 0.8 1.0 1.2

1:bhJ(ω) (J = 100)

と目標

bh(ω). hJ

の周波数特性

bhJ(ω)

“波打っている”

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 7 / 14

(18)

8.5.7 ローパス・フィルター F

J

( 単純打ち切り ) 反省

何か見覚えがあるような…

Gibbs

の現象である!

不連続関数の Fourier 級数の部分和は、 Fourier 級数の和と大きな隔たり がある、ということ。

条件

( 再掲 1)

bh(ω) =

1 (

|ω| ≤ωe

)

0 (|ω|

> ωe

) ( 理想的な周波数特性 )

は 1 つの理想であるが、不連続関数であるから、無限級数の計算が出来 ない限り、かえって良くないことが起こる、ということである。

かつらだまさし

(19)

8.5.7 ローパス・フィルター F

J

( 単純打ち切り ) 反省

何か見覚えがあるような…

Gibbs

の現象である!

不連続関数の Fourier 級数の部分和は、 Fourier 級数の和と大きな隔たり がある、ということ。

条件

( 再掲 1)

bh(ω) =

1 (

|ω| ≤ωe

)

0 (|ω|

> ωe

) ( 理想的な周波数特性 )

は 1 つの理想であるが、不連続関数であるから、無限級数の計算が出来 ない限り、かえって良くないことが起こる、ということである。

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 8 / 14

(20)

8.5.7 ローパス・フィルター F

J

( 単純打ち切り ) 反省

何か見覚えがあるような…

Gibbs

の現象である!

不連続関数の Fourier 級数の部分和は、 Fourier 級数の和と大きな隔たり がある、ということ。

条件

( 再掲 1)

bh(ω) =

1 (

|ω| ≤ωe

)

0 (|ω|

> ωe

) ( 理想的な周波数特性 )

は 1 つの理想であるが、不連続関数であるから、無限級数の計算が出来 ない限り、かえって良くないことが起こる、ということである。

かつらだまさし

(21)

8.5.7 ローパス・フィルター F

J

( 単純打ち切り ) 反省

何か見覚えがあるような…

Gibbs

の現象である!

不連続関数の Fourier 級数の部分和は、 Fourier 級数の和と大きな隔たり がある、ということ。

条件

( 再掲 1)

bh(ω) =

1 (

|ω| ≤ωe

)

0 (|ω|

> ωe

) ( 理想的な周波数特性 )

は 1 つの理想であるが、不連続関数であるから、無限級数の計算が出来 ない限り、かえって良くないことが起こる、ということである。

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 8 / 14

(22)

8.5.7 ローパス・フィルター 窓関数を利用したフィルター 信号処理では、

windowing(

窓をかける

)

というテクニックを用いて対処する。

hn

に窓

(

関数

)

と呼ばれる

(

遠方で段階的に

0

に近づく

)

関数をかけて、

0

でな い項を有限個のみにする。窓関数には色々なものがあるが、ここでは次式で定 義されるシンプルな

hann

窓を用いてみる。

(3) w(x) := 1cos 2πx

2 (0≤x≤1).

hann

窓ってどんな関数?

w[x_]:=(1-Cos[2Pi x])/2; g=Plot[w[x],{x,0,1}]

0.2 0.4 0.6 0.8 1.0

0.2 0.4 0.6 0.8 1.0

2:

ハン窓

w

のグラフ

かつらだまさし

(23)

8.5.7 ローパス・フィルター 窓関数を利用したフィルター

信号処理では、

windowing(

窓をかける

)

というテクニックを用いて対処する。

hn

に窓

(

関数

)

と呼ばれる

(

遠方で段階的に

0

に近づく

)

関数をかけて、

0

でな い項を有限個のみにする。

窓関数には色々なものがあるが、ここでは次式で定 義されるシンプルな

hann

窓を用いてみる。

(3) w(x) := 1cos 2πx

2 (0≤x≤1).

hann

窓ってどんな関数?

w[x_]:=(1-Cos[2Pi x])/2; g=Plot[w[x],{x,0,1}]

0.2 0.4 0.6 0.8 1.0

0.2 0.4 0.6 0.8 1.0

2:

ハン窓

w

のグラフ

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 9 / 14

(24)

8.5.7 ローパス・フィルター 窓関数を利用したフィルター

信号処理では、

windowing(

窓をかける

)

というテクニックを用いて対処する。

hn

に窓

(

関数

)

と呼ばれる

(

遠方で段階的に

0

に近づく

)

関数をかけて、

0

でな い項を有限個のみにする。窓関数には色々なものがあるが、ここでは次式で定 義されるシンプルな

hann

窓を用いてみる。

(3) w(x) := 1cos 2πx

2 (0≤x≤1).

hann

窓ってどんな関数?

w[x_]:=(1-Cos[2Pi x])/2;

g=Plot[w[x],{x,0,1}]

0.2 0.4 0.6 0.8 1.0

0.2 0.4 0.6 0.8 1.0

2:

ハン窓

w

のグラフ

かつらだまさし

(25)

8.5.7 ローパス・フィルター 窓関数を利用したフィルター

この

w

を用いて、

hnJ,w

:=

w

(n/J

1/2)h

n

(

|n| ≤J/2)

0 (

|n|>J/2)

n

hJ,wn

o

n∈Z

を定め、

{hn}n∈Z

の代わりに

n hJ,wn

o

n∈Z

を用いることに する。

これは

F

に近いが、

F

とは異なるデジタル・フィルター

FJ,w

を用いる ことになる。その周波数特性は

bhJ,w

(ω) =

X n=−∞

hJ,wn einω

=

XJ/2

n=J/2

hnJ,weinω.

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 10 / 14

(26)

8.5.7 ローパス・フィルター 窓関数を利用したフィルター

この

w

を用いて、

hnJ,w

:=

w

(n/J

1/2)h

n

(

|n| ≤J/2)

0 (

|n|>J/2)

n

hJ,wn

o

n∈Z

を定め、

{hn}n∈Z

の代わりに

n hJ,wn

o

n∈Z

を用いることに する。

これは

F

に近いが、

F

とは異なるデジタル・フィルター

FJ,w

を用いる ことになる。その周波数特性は

bhJ,w

(ω) =

X n=−∞

hnJ,weinω

=

XJ/2

n=J/2

hnJ,weinω.

かつらだまさし

(27)

8.5.7 ローパス・フィルター 窓関数を利用したフィルター

このω7→hbJ,w(ω)のグラフを図示してみよう。

w[x_]:=(1-Cos[2 Pi x])/2

draw2[J_]:=Plot[Sum[w[n/J-1/2]h[n]Exp[-I n t],{n,-J/2,J/2}],{t,-Pi,Pi}, PlotRange->All]

-3 -2 -1 1 2 3

0.2 0.4 0.6 0.8 1.0

3:

窓関数あり

bhJ,w(ω)

これは(理想である)bh(ω)とは違うけれど、bhJ(ω)よりはずっと良いだろう。

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 11 / 14

(28)

8.5.7 ローパス・フィルター 窓関数を利用したフィルター

yn

=

X k=−∞

xnkhkJ,w

=

XJ/2

k=J/2

xnkhJ,wk .

yn

の計算に

xnJ/2,xnJ/2+1, . . . ,xn+J/2

が必要になることに注意しよ う。フィルター

FJ

,

FJ,w

は、以前説明した定義に従えば厳密には FIR フィルターではないが、時間遅れを許すことにして

˜

yn

:=

ynJ/2

=

XJ/2

k=J/2

x(nJ/2)khJ,wk

=

XJ/2

k=J/2

xn(J/2+k)hkJ,w

=

XJ k=0

xnkhJ,wkJ/2

とすると、 FIR フィルターとなる。

かつらだまさし

(29)

最後まで視聴してくれた人、お疲れさまです。

かつらだ 桂 田

まさし

祐 史 信号処理とフーリエ変換 第14 2021120 13 / 14

(30)

参考文献

[1]

桂田祐史: 「信号処理とフーリエ変換」講義ノート

,http://nalab.

mind.meiji.ac.jp/~mk/fourier/fourier-lecture-notes.pdf,

以前は「画像処理とフーリエ変換」というタイトルだったのを直し た。

(2014

).

かつらだまさし

参照

関連したドキュメント

この科目の内容・連絡事項 広い意味のFourier変換Fourier級数も含むによる解析Fourier解析を説明する。 Fourier解析は、大学のほとんどの理工系の学科で講義されているが、具体的な内容につ いては、かなりの違いがある。この科目で何をするかは、シラバス、講義ノート、過去 問を見ると良い「複素関数」と比べると、割と真面目にシラバスを書いています。。

W.: An Algorithm for the Machine Calculation of Complex Fourier Series, Mathematics of

メールアドレス katurada あっと meiji どっと ac どっと jp 質問はメール、または Zoom オフィスアワー ( 日時はアンケートの 結果で決める

meiji.ac.jp/~mk/fourier/fourier-lecture-notes.pdf , 以前は「画像 処理とフーリエ変換」というタイトルだったのを直した。 (2014〜).

WAVE (WAV) は、 Microsoft と IBM により策定された音声データ用のフォーマットであ る。ファイルの拡張子は .wav である。通常は圧縮なしの、 LPCM

本日のテーマは「畳み込みの Fourier 変換は、 Fourier 変換の積」と いうもの ( 講義ノート [1] の §7) 。その重要さを理解すること自体が

(高い周波数に対応する離散 Fourier 係数を 0 にする)、FIR フィルターを作れば、. それをしなくても出来る (ほぼリアルタイムで