7/9

20150709
信号処理システム特論
本日の内容
○ フィルタ設計のお話し
良いフィルタとは?
ディジタルフィルタを得る手順
開始
(1) 周波数特性に基づいた仕様設定であれ
ば,帯域や利得、減衰量などを設定すること
(1) フィルタ仕様の設定
(2) 設計(近似)
(3) 合成(実現)
(4) 実装
終了
(2) 仕様を満たすフィルタの入出力関係(伝
達関数、インパルス応答、差分方程式など)
を求めること
(3) 設計で得られた入出力関係を有する
フィルタの構造(遅延器、加算器、乗算器)の
接続法法を決めること
(4) 合成によって得られた構造を、ソフト
ウェア、ハードウェアで実装すること
(1)仕様の設定
| H d ( e jω ) |
| H d ( e jω ) |
理想
1
δp
現実
1
δs
00
ωc
π
00
ω p ωs
π
− jτ d ω

, ω ≤ ωc 
e


jω
| H d (e ) |= 

>
0
,
ω
ω

c


τ d : 群遅延を決めるパラメータ
3
フィルタ設計における要求仕様例
振幅応答 (dB)
位相応答
-30
-40
-50
-5
群遅延 (サンプル)
位相 (ラジアン)
-20
振幅 (dB)
-10
-15
15
-60
-70
0
14.5
0
0.8
0.6
0.4
0.2
正規化周波数 (×π ラジアン/サンプル)
0
0.8
0.6
0.4
0.2
正規化周波数 (×π ラジアン/サンプル)
0.8
0.6
0.4
0.2
正規化周波数 (×π ラジアン/サンプル)
極零プロット
ステップ応答
インパルス応答
0.3
1.5
1
1
0.25
0.8
0.15
0.1
0.05
0
-0.05
0
5
10
15
20
Samples
25
30
0.5
0.6
虚部
0.2
振幅
振幅特性
位相特性
群遅延特性
インパルス応答
ステップ応答
極-零点配置
・
・
・
-10
振幅
•
•
•
•
•
•
群遅延
15.5
0
0
0.4
0
0.2
-0.5
0
-1
5
0
10
20
15
Samples
30
25
30
-1.5
-1
0
1
実部
例)複素係数最小位相FIRフィルタの場合
20
(通過域は単位円内、阻止域は単位円上)
0
0.5
Imaginary Part
Magnitude (dB)
・ 振幅に関する制約
+
・ 零点配置に関する制約
1
-20
-40
0
-0.5
-60
-80
-1
-1
-0.5
0
Normalized Frequency (×π)
0.5
1
-1
-0.5
0
Real Part
0.5
1
4
フィルタ仕様の例(音響処理用フィルタ)
●オーバーサンプリングフィルタ
加工
AD変換
DSP
DAコンバータIC
ディジタルフィルタ
(×4 fs)
ΔΣ変換
DA変換
要求仕様
通過域 [kHz]
阻止域周波数 [kHz]
0~21.6
27.9~
通過域リプル [dB]
±0.01以下
阻止域減衰量[dB]
95 以上
群遅延中央値 (~20kHz)
50 以下
群遅延歪み (~20kHz)
設計に課せられる条件
(1) 振幅に関する制約
(2) 群遅延に関する制約
±0.04以下
サンプリング周波数 fs = 48 [kHz]
遅延時間(群遅延50) ≒ 260 [μsec]
5
(2)近似(設計)
FIRフィルタ: H ( z ) =
N
∑h z
n
n =0
フィルタの設計とは?
Low-passフィルタを例に
M
IIRフィルタ: H ( z ) =
∑b
m =0
N
m
−n
z −m
1 + ∑ an z − n
n =1
δp
1
1
δs
00
ωc
π
00
ω p ωs
π
6
最良近似の代表的な基準
• Minimax基準 ⇒ Minimax近似(Chebyshev近似)
• Lpノルム基準 ⇒ L1, L2, …L∞, 近似
例)
L
E (a, b) = ∑ yi − axi − b
i =1
L
E (a, b) = ∑ ( yi − axi − b )
2
・・・
i =1
L
E (a, b) = ∑ ( yi − axi − b )
i =1
∞
参考書などにも出てくる
代表的な設計法
FIRフィルタ
・窓関数法
ωc sin[(n − N / 2)ωc ]
an =
, 0≤n≤ N
π (n − N / 2)ωc
L2ノルム基準では最適
・Parks-McClellan(Remezの交換アルゴリズムに基づく手法)
Minimize
Subject to
H d (ω ) − H (ω ) ≤ δ
L∞ノルム基準では準最適(ほぼ最適)
IIRフィルタ
・s-z変換に基づく手法(アナログ→ディジタル変換)
伝達関数が有理関数であること,安定性への考慮が必要
であることなどから、IIRフィルタの設計は結構難しい
8
窓関数法とRemez法の設計例比較
仕様
次数比較
振幅特性比較
設計(近似)における良いフィルタとは?
1. 得られたフィルタの「非ゼロ値」を持つ係数の個数が少ない
⇒ 乗算器の数を減らせるので,回路規模の小型化や計算コ
ストの削減が図れる
2. 得られたフィルタによって処理・出力される信号の遅延が小さい
⇒ 特にリアルタム処理では、フィルタリングに掛けられる処
理時間の制約は厳しい
3. 得られたフィルタの特性が、要求仕様を満たし、入出力関係が
理想的な特性に可能な限り近い
⇒ 特性の良いフィルタを最小次数で実現。回路規模の小型
化や計算コストの削減、遅延時間の短縮につながる
10
(3)合成(実現)
b0 + b1 z −1
一次のIIRフィルタ H ( z ) =
の実現例
−1
1 + a1 z
11
合成における良いフィルタとは?
1. 得られた構造で構成要素(遅延器、加算器、乗算器)が少ない。
⇒ 特に乗算は加算に比べて実装コストが大きいので乗算器の
下図を減らすことが望まれる
2. 有限語長化の際の特性劣化が小さい。すなわち、係数量子化誤
差、乗算の丸め誤差・リミットサイクルによる劣化が小さい。
SPT(Signed-Power-of-Two)表現、CSD(Canonic Signed Digit)
表現で係数を記述して設計し、乗算を「ビットシフト」と「加減算」の
みで実現する方法やマルチレート信号処理を利用した高速化など
最近の研究では、乗算を「AND演算」で実装する例もある
12
(4)実装
【ソフトウェアによる実装】 フィルタリングのアルゴリズム(加
算、乗算、遅延の命令組み合わせ)をプログラムで記述
DSP
【ハードウェアによる実装】 論理ゲートで構成される「加算
器、乗算器、遅延器」を接続する
実装における良いフィルタとは?
FPGA
劣化が少なく、演算コスト、回路規模、消費電力が小さい。
例) SPT(Signed-Power-of-Two)表現、CSD(Canonic Signed
Digit)表現で係数を記述して設計し、乗算を「ビットシフト」と「加減
算」のみで実現する方法やマルチレート信号処理を利用した高速化
など。最近の研究では、乗算を「AND演算」で実装する例もある
13
教科書にはない設計法の例
例)フィルタの振幅特性近似
凸射影法:
閉凸集合Ci (i=0,1,…,m)が与
えられたとき,各Ci への射影
の繰り返しにより  mi=0 Ci 内の
1点を算出するアルゴリズム
1
δ (ω )
C1
a
a0
1
a
a2
3
Ci
フィルタ設計へ適用
C3
0
1
周波数
FIRフィルタの周波数特性:
N
H (ω ) = ∑ an e − jnω
n =0
部分集合:
Ci = {a : D(ωi ) − H (ωi ) ≤ δ (ωi )
14
更新の様子
1.2
Magunitude response of Filter
0.45
0.09
0.16
0.14
1.2
0.4
0.08
0.14
0.12
0.351
0.07
0.12
0.1
0.3
0.06
0.8
0.1
0.08
0.25
0.05
0.08
0.6
0.2
0.04
0.06
0.06
0.15
0.03
0.4
0.04
0.04
0.1
0.02
1
Amplitude
Amplitude
Amplitude
0.8
0.6
0.4
0.2
0
-0.2
0
0.16
0.18
1.4
0.5
0.1
Error response
0.2
0.02
0.02
0.05
0.01
0.5
Angular Frequency
1
0
0
0.5
Angular Frequency
1
15
フィルタ設計や実装に関する最近の研究動向
(先日のある研究会で発表のあったもの)

近似誤差が小さく、任意の線形フィルタに適用可能な状態空間型可変IIR
フィルタの設計

インパルス応答値に制約条件をもつMthバンド線形位相FIRフィルタの設計

IIRフィルタ設計問題で生ずる局所停留回避のための高速手法

CSD係数をもつ線形位相FIRフィルタのミニマックス設計の高速化

任意の制約問題を適用可能とするスパースFIRフィルタ設計

準スパース性(係数値として0だけでなく±1も考慮した)を有するFIRフィル
タの重み付き最小自乗設計

スパース性を有する線形位相FIRフィルタのミニマックス設計の高性能化