MATLABで学ぶデジタル信号処理の基礎 - 6

12
で学ぶディジタル信号処理の基礎 次元ディジタル信号処理 川又 政征 はじめに 回のこの講座は で学ぶディジタル 信号処理の基礎 の最終回である。今回は 次元ディ ジタル信号処理の基礎として 次元信号とその変換お よび 次元 ディジタルフィルタをとりあげる。 次元信号とは 変数の関数として表される信号で ある。その代表は画像である。本講座では,まず, 元ディジタル信号の変換として, 次元離散空間フー リエ変換と 次元離散フーリエ変換を導入する。次に, 次元 変換,たたみこみ,および ディジタル フィルタについてとりあげている。 次元の 変換 たたみこみ フィルタ の概念と役割は,第 ~第 回の講座で紹介した 次元の場合と同じもので あることは言うまでもない。 この講座はディジタル信号処理の基礎の解説を目的 としているため,今回の 次元ディジタル信号処理の 内容は,第 回から第 回までの 次元ディジタル信 号処理の内容のいわば 変数 版の範囲にとどめて いる。実際には, 次元ディジタル信号処理にはない 計算の煩雑さや理論的な難しさが 次元ディジタル信 号処理にはある。 次元ディジタル信号処理に固有の 理論や課題については,多次元信号処理に関する専門 を参照されたい。 なお,今回の講座のプログラムの実行のために, の他に 東北大学大学院工学研究科 仙台市青葉区荒巻字青葉 が必要であることに注意 してほしい。具体的には, の中の関数である。 2次元連続空間信号と離散空間信号 2次元連続空間信号のように 変数の 関数であり,実数または複素数の値をとる。ここで, は連続の実数であり,空間変数 とよばれる。 軸と 軸はそれぞれ水平軸と垂直軸ともよばれる。 次元連続空間信号 は,グラフとして描く ならば, 平面上の曲面となる。もし, 値を点 における輝度に対応させ,値が大きい ときは高い輝度値を表し,値が小さいときは低い輝度 値を表すものとすると, は平面上の濃淡の情 報を表すものとなる。 次元連続空間信号として代表 的なものは画像である。 2次元離散空間信号は図 のように平面の格子点 上でのみ値をもつ 次元数列 として表され る。 次元離散空間信号 次元連続空間 信号 を次のように標本化して得られること が多い。 ここで, はそれぞれ水平方向と垂直方向の標 本化周期である。本講座では,簡単のため として 次元離散空間信号を で表す。以後, 次元離散空間信号を単に 次元信号あるいは信号と よぶことにする。 次元信号を表すために行列あるは配列を用いると 便利なことが多い。たとえば,次のように行列で表示

Transcript of MATLABで学ぶデジタル信号処理の基礎 - 6

Page 1: MATLABで学ぶデジタル信号処理の基礎 - 6

で学ぶディジタル信号処理の基礎

第 回 次元ディジタル信号処理

川又 政征

はじめに

第 回のこの講座は で学ぶディジタル

信号処理の基礎 の最終回である。今回は 次元ディ

ジタル信号処理の基礎として 次元信号とその変換お

よび 次元 ディジタルフィルタをとりあげる。

次元信号とは 変数の関数として表される信号で

ある。その代表は画像である。本講座では,まず, 次

元ディジタル信号の変換として, 次元離散空間フー

リエ変換と 次元離散フーリエ変換を導入する。次に,

次元 変換,たたみこみ,および ディジタル

フィルタについてとりあげている。 次元の 変換 ,

たたみこみ , フィルタ の概念と役割は,第 回

~第 回の講座で紹介した 次元の場合と同じもので

あることは言うまでもない。

この講座はディジタル信号処理の基礎の解説を目的

としているため,今回の 次元ディジタル信号処理の

内容は,第 回から第 回までの 次元ディジタル信

号処理の内容のいわば 変数 版の範囲にとどめて

いる。実際には, 次元ディジタル信号処理にはない

計算の煩雑さや理論的な難しさが 次元ディジタル信

号処理にはある。 次元ディジタル信号処理に固有の

理論や課題については,多次元信号処理に関する専門

書 を参照されたい。

なお,今回の講座のプログラムの実行のために,

の の他に

東北大学大学院工学研究科〒 仙台市青葉区荒巻字青葉

が必要であることに注意

してほしい。具体的には,

が の中の関数である。

2次元連続空間信号と離散空間信号

2次元連続空間信号は のように 変数の

関数であり,実数または複素数の値をとる。ここで,

と は連続の実数であり,空間変数 とよばれる。

軸と 軸はそれぞれ水平軸と垂直軸ともよばれる。

次元連続空間信号 は,グラフとして描く

ならば, 平面上の曲面となる。もし, の

値を点 における輝度に対応させ,値が大きい

ときは高い輝度値を表し,値が小さいときは低い輝度

値を表すものとすると, は平面上の濃淡の情

報を表すものとなる。 次元連続空間信号として代表

的なものは画像である。

2次元離散空間信号は図 のように平面の格子点

上でのみ値をもつ 次元数列 として表され

る。 次元離散空間信号 は 次元連続空間

信号 を次のように標本化して得られること

が多い。

ここで, と はそれぞれ水平方向と垂直方向の標

本化周期である。本講座では,簡単のため

として 次元離散空間信号を で表す。以後,

次元離散空間信号を単に 次元信号あるいは信号と

よぶことにする。

次元信号を表すために行列あるは配列を用いると

便利なことが多い。たとえば,次のように行列で表示

Page 2: MATLABで学ぶデジタル信号処理の基礎 - 6

図 次元離散空間信号

した 次元信号を考える。

下線の引いてある位置を座標軸の原点 と考え,

縦方向を の軸に,横方向を の軸と考える。行

列(配列)に表されていない範囲の信号の値は零と考

えるものとする。このような表記を用いると,有限の

領域の 次元信号が簡潔に記述される。

次元の連続空間信号と離散空間信号と同様に,

次元の連続空間信号 や離散空間信号

を考えることは容易である。

のとき,このような信号は多次元信号とよばれる 。

2次元離散空間フーリエ変換

次元複素指数関数

次元複素指数関数は次式のように表され,二つの

周波数 と によって特徴づけられる

複素数関数である。

と をそれぞれ水平方向と垂直方向の周波数と

よぶ。 次元複素指数関数は 次元信号のフーリエ表

現のための核となるものである。また, 次元の場合

と同様に,システムやフィルタの周波数応答を考察す

るための入力信号として用いられる。

次元, 次元,多次元をそれぞれ と略記することが多い。

【例題 】 次元複素指数関数は二つの周波数

を持っているために,その形がわかりにくい。そ

こで, を用いて 次元複素指数関数を

描いてみよう。

周波数が のとき, 次

元複素指数関数の実部 と虚部

を計算し,濃淡画像として表示

せよ。

【 】 (図 )次元複素指数関数

実部と虚部

実部の図示

虚部の図示

次元離散空間フーリエ変換の定義

次元信号 の 2次元離散空間フーリエ変

換 は次のように定義される。

次元の場合と同様に, は信号

の周波数スペクトルとよばれ,一般には複素数である。

は信号 の振幅スペクトルと

よばれ, は位相スペクトルとよばれる。

ここで注意しなければならないことは, 次元の場合,

によって周波数の高低が決まることである。

すなわち, が相対的に小さい の領域

は周波数の低い領域を表し, が相対的に大

きい の領域は周波数の高い領域を表す。 次元

離散空間フーリエ変換を求めるために,関数

が には用意されている。

Page 3: MATLABで学ぶデジタル信号処理の基礎 - 6

実部

虚部

図 次元複素指数関数

次元離散空間フーリエ変換 から信

号 を求める逆変換は以下の式によって与え

られる。

【例題 】 次の 次元信号 図

の 次元離散空間フーリエ変換 を

求め,その振幅スペクトルを図示せよ。

信号

振幅スペクトル

図 次元信号とその振幅スペクトル

【 】 (図 )次元離散空間フーリエ変換

信号

信号の表示

周波数スペクトルの計算

振幅スペクトルの表示

Page 4: MATLABで学ぶデジタル信号処理の基礎 - 6

2次元離散フーリエ変換

次元離散フーリエ変換の定義

いま, の有限区

間の 次元信号 を考える。これを

点信号とよぶ。 点信号 の 2次元

離散フーリエ変換( 次元 )は次式のように定義

される。

ここで, と は次の回転因子である。

次元信号 は から次の 2次

元離散フーリエ逆変換( 次元 )により求めら

れる。

には 次元 と 次元 として

関数 と が用意されている。これらは,後

に述べる高速フーリエ変換のアルゴリズムを用いてい

るものである。

【例題 】 次の 点の 次元信号

の 次元 を求め,信

号 と振幅スペクトル を図

示せよ。

その他

【 】 (図 )次元離散フーリエ変換の例

信号

信号

振幅スペクトル

図 次元信号と振幅スペクトル

信号の表示

離散フーリエ変換

振幅スペクトルの図示

行 列分解に基づく高速フーリエ変換

定義式 から 次元 を求める直接計算法の

計算量は, となる。信号のサイズが大きい

場合, 次元 のこの計算量は極めて大きな値と

なることに注意が必要である。

式 の 次元 を求めるために, 次元

を利用すると計算量を減少させることができる。図

Page 5: MATLABで学ぶデジタル信号処理の基礎 - 6

図 行 列分解

に示すように

とおくと, は水平方向( 方向)について

の 個の 次元 である。この 次元

を用いると,式 は次のように表せる。

ここで,上式は垂直方向( 方向)についての 個

の 次元 である。したがって, 次元 は

式 と式 の 次元 に分解できる。こ

のように 次元 を計算する方法を行 列分解の方

法という。

と が のべき乗の場合,それぞれの方向の

次元 の計算を 次元 でおきかえることが

できるので,計算量の少ない 次元 が求められ

る。このアルゴリズムを行 列分解 とよぶ。行

列分解 の計算量は である

ことが簡単な計算から導かれる。

図 次元たたみこみ(ディジタルフィルタ)

2次元たたみこみ

図 のように 次元信号 と か

ら 次元信号 を求める次の計算を考えよう。

この計算は,2次元たたみこみとよばれる。 次元の場

合と同様に, 次元の場合においても,上式の

と の役割を交換しても,同じ結果を得る。

すなわち

信号処理の分野では,式 あるいは式 で表さ

れる計算法は,2次元ディジタルフィルタとよばれる。

ここで, がフィルタ入力であり, が

フィルタ出力である。 は 次元ディジタルフィ

ルタの単位インパルス応答である。実際, を

単位インパルス とするとき ,出力

は に等しくなり, が単位インパル

ス応答であることがわかる。

【例題 】 次の 次元ディジタルフィルタ

に入力 が入ったときの出力

を求めよ。

次元たたみこみのために,関数 を用いよ。

次元の単位インパルスは のとき その他のとき となる。

Page 6: MATLABで学ぶデジタル信号処理の基礎 - 6

【 】次元たたみこみインパルス応答と入力

出力

以下 ディスプレイの表示

2次元 変換

次元信号 の2次元 変換 は

次式で定義される。

これに対して,逆 変換は

と表せる。ここで, および は 平面および

平面の原点を囲む適当な閉曲線である。

次元信号 の 変換 におい

て, および とおくと,複素関数

は信号 の周波数ス

ペクトルを表す。このことは式 と式 の比較

から理解される。

次元 変換の最も重要な性質は,次式の推移とた

たみこみに関するものである。

推移

たたみこみ

図 次元 フィルタの入出力関係

2次元 フィルタ

フィルタのアルゴリズム

次元単位インパルス応答 を有する 次

元ディジタルフィルタのたたみこみの表現を以下のよ

うに記述する。

ここで, はインデックス の範囲であり,こ

の範囲の外では はすべて であるものとす

る。 は のサポート領域とよばれる。

サポート領域 が の有限の領域であると

き,この単位インパルス応答は有限区間の単位インパ

ルス応答である。有限区間の単位インパルス応答をも

つ 次元ディジタルフィルタは 2次元 フィルタ

とよばれる。

たとえば, のサポート領域が次の領域で

あるとする。

このとき, 次元 フィルタは以下のたたみこみに

よって入力から出力をつくりだす。

したがって,この 次元 フィルタの入出力関係

は図 のように表される。

サポート領域 が の無限の領域に広がっ

ているとき,この単位インパルス応答は無限区間の単

位インパルス応答である。無限区間の単位インパルス

応答をもつ 次元ディジタルフィルタは 2次元

Page 7: MATLABで学ぶデジタル信号処理の基礎 - 6

フィルタとよばれる。 次元 フィルタは 次元の

差分方程式によって記述され,入力信号から出力信号

を再帰的につくりだす。

伝達関数と周波数応答

変換のたたみこみの性質を利用し,式 の両

辺の 次元 変換を求めると次式が得られる。

上式から,出力の 変換 と入力の 変換

の比 を求めると

となる。この 変換 は 次元ディジタル

フィルタの単位インパルス応答 の 変換で

あり,このディジタルフィルタの伝達関数とよばれる。

たとえば,式 で表される 次元 フィルタ

の伝達関数は以下のようになる。

さて, 次元 フィルタの単位インパルス応

答 の 次元離散空間フーリエ変換を

とおく。すなわち,

このとき, 次元ディジタルフィルタに周波数 と

の複素指数関数 を入力

したときの出力は式 から

と表される。上式から, は,この 次元

フィルタの周波数応答を表すことがわかる。また,

式 と式 の比較から,伝達関数 に

と を代入したものが周波数応答で

あることになる。

周波数応答 は, によって決

定されるため, を適切に選ぶことによって

低域フィルタ,高域フィルタ,帯域フィルタなどの周

波数選択性フィルタを実現することができる。

【例題 】 次の 次元 フィルタ

の周波数応答を求めて図示することで,このフィ

ルタが低域フィルタであることを示せ。

周波数応答を求めるために,関数 を用

いよ。

単位インパルス応答

振幅特性

図 次元 フィルタの振幅特性

【 】 (図 )次元 フィルタの周波数応答インパルス応答

インパルス応答の図示

Page 8: MATLABで学ぶデジタル信号処理の基礎 - 6

振幅特性の図示

2次元 フィルタの設計

次元ディジタルフィルタの零位相または線形位相

特性は多くの信号処理において望ましい特性である。

とくに画像や映像処理において必要とされる位相特性

である。 次元の場合においても, フィルタは零

位相または線形位相特性を容易に実現することができ

る。ここでは零位相特性を有する フィルタの設

計のための代表的な方法である窓関数法とマクレラン

変換法を紹介する。

零位相特性と線形位相特性

次元ディジタルフィルタ の周波数応答

が実数であるとき,この位

相特性を零位相特性という。実数の単位インパルス応

答 が次のような対称性

を有するとき,フィルタは零位相特性をもつ。

零位相の伝達関数 に適当な と

をかければ,その振幅特性を変えずに線形位相

の伝達関数

が得られる。実際,このフィルタの位相特性

であり,線形位相となっている。

線形位相フィルタ の単位インパルス応答

は,式 の空間領域表現から

と表され, を水平方向と垂直方向にそれぞ

れ と だけ遅延させて得られるものである。

窓関数法による設計

この方法は, 次元 フィルタの窓関数法による

設計(第 回 第 章)を 次元の場合に直接的に拡張

したものである。まず,所望のフィルタの周波数応答

とその単位インパルス応答

が次の様な 次元離散空間逆フーリエ表現によって結

びつけられていることに注意してほしい。

上式を用いれば,与えられた零位相の理想的周波数応答

から,この周波数応答を有するフィルタ

の単位インパルス応答 を求められる。ただ

し,単位インパルス応答 が実数かつ零位相

となるためには,

でなければならない。このようにして得られる単位イ

ンパルス応答は, となり,

零位相となる。

この単位インパルス応答 のサポート領

域 は,多くの場合, の範囲

に広がるので, に次のように2次元窓関数

をかけて,サポートが有限になるようにす

れば,零位相の フィルタ が得られる。

次元窓関数 は, 対称性

を持つことが必要であり, と

が大きくなるにしたがって滑らかに減少する有限のサ

ポート領域の信号である。通常よく用いられる 次元

窓関数を とすれば,以下のような分離形と対

称形の 次元窓関数が得られる。

分離形

対称形

では窓関数を用いた 次元 フィルタ

の設計法の関数として,分離形窓を用いる と

対称形窓を用いる が用意されている。

Page 9: MATLABで学ぶデジタル信号処理の基礎 - 6

【例題 】 図 に示されるような遮断周

波数 の円対称の通過域をもつ 次元低域

フィルタを設計しよう。望ましい周波数応答を式

で表せば

その他

となる。

関数 を用いて,遮断周波数が

の 次元 フィルタを設計し,その単位インパ

ルス応答と振幅特性を求めて図示せよ。ただし,円

対称のハミング窓関数(窓のサイズ

)を用いるものとする。

【 】 (図 )窓関数法による 次元 フィルタの設計

理想的振幅特性

円対称ハミング窓

窓関数による フィルタ

設計された フィルタの振幅特性

設計仕様

設計された フィルタの

単位インパルス応答

設計された フィルタの

振幅特性

図 窓関数法による フィルタの設計

マクレラン変換による設計

マクレラン変換法は,設計が容易な 次元 フィ

ルタの周波数変数 に 変数の周波数 と の関

数 を代入することで, 次元 フィルタ

の周波数応答を得るものである。

Page 10: MATLABで学ぶデジタル信号処理の基礎 - 6

次元零位相 フィルタの伝達関数 は高

次の場合でも,計算機を用いれば容易に求められる。

適当な方法で設計された 次元零位相 フィルタ

の単位インパルス応答を とす

れば,その周波数応答は

のように, の多項式の形に変形できることが知

られている。

一方, 次元零位相 フィルタの単位インパルス

応答 の周波数応答は

と書ける。ただし

ただし を除く

ここで, 次元周波数応答 から 次元周波数

応答 を得るために, 次元周波数 と

次元周波数 の間の変換

を導入し, を得る。すなわち

ただし

ここで, は 次元周波数の特性を制御

するためのパラメータである。上式のような変換をマ

クレラン変換という。例えば

とおけば,円対称に近い 次元の低域フィルタを 次

元の低域フィルタから導くことができる。

式 を満足する の単位インパル

ス応答 を求めるために,式 の右辺を

変形すれば, は次のように書き換えられる。

したがって,上式と式 を等しいとおけば,

から が求められることになる。

では,マクレラン変換による 次元

フィルタの設計法として, がある。

【例題 】 図 , に示される1次元

フィルタは,カイザー窓により設計された

フィルタ(長さ ,第 回の第 章の例題

を参照)である。この 次元 フィルタに

マクレラン変換 式 と式 を適用して

次元 フィルタを設計し,その単位インパル

ス応答と振幅特性を図示せよ。

【 】 ( , )マクレラン変換による 次元 フィルタの設計

カイザー窓による 次元 フィルタ

インパルス応答 と振幅特性 の表示

マクレラン変換

次元インパルス応答 と振幅特性 の表示

Page 11: MATLABで学ぶデジタル信号処理の基礎 - 6

次元 フィルタの単位インパルス応答

次元 フィルタの振幅特性

図 次元 フィルタ

おわりに

本基礎シリーズの第 回~第 回については主に拙

著 を参考にして構成し,第 回については主に拙著

を参考にして構成したものである。ただし,書籍

とは異なり,本シリーズの紙幅の制約の都合上,ディ

ジタル信号処理の基礎的な概念と方程式を与えること

にとどめざるを得ないため,実際に多数の

のプログラムを実行することで内容が理解できるよう

に執筆するようにつとめた。

単位インパルス応答

設計された 次元 フィルタの

振幅特性

図 マクレラン変換による 次元 フィルタ

の設計

は極めて強力で便利な道具である。この

ため,ともするとディジタル信号処理において重要な

たたみこみ,フィルタリング,変換などのアルゴリズ

ムが見えにくくなってくる。そこで,重要なアルゴリ

ズムが のプログラム中に現われるように配

慮したつもりである。読者の方々のご意見・ご批判を

いただければ幸いである。

なお,本基礎シリーズで示した のプログ

ラムは以下のページからダウンロードできる。この

プログラム中には,本文中のプログラムでは記載でき

なかった注釈も十分にはいっており,記述がよりわか

りやすくなっているので,ご利用いただければ幸いで

ある。

Page 12: MATLABで学ぶデジタル信号処理の基礎 - 6

謝辞

信号処理学会会長 谷萩隆嗣先生には,一年間にわ

たる基礎シリーズの連載をすすめていただき,シリー

ズの執筆に関して有益なご助言をいただきました。こ

こに心から感謝いたします。また,萩原瑞木君と橋本

敬太郎君(東北大学大学院工学研究科電子工学専攻)

には,原稿を読んだいただき,式や表現の誤りを訂正

したいただきました。ここに深く感謝いたします。

参考文献

川又政征,樋口龍雄 多次元ディジタル信号処理 朝倉書店

雛元孝夫,浜田 望,川又政征,田口 亮,村岡輝雄 次元信

号と画像処理 計測自動制御学会

樋口龍雄,川又政征 対応 ディジタル信号処理,

昭晃堂, .

川又 政征 年 東北大学大学院工学研究科電子工学専攻博士課程修了, 年同通信工学科教授,年 東北大学大学院工学研究科電子工学専攻教授。この間,1次元および多次元ディジタルフィルタの設計,知的信号処理,画像・映像処理などに関する研究に従事。 年度 計測自動制御学会論文賞, 年度 計測自動制御学会著述賞, 年 第 回 日本 科学賞を受賞。電子情報通信学会,計測自動制御学会,情報処理学会,映像メディア学会, などの

会員。 。