ディジタル信号処理dsl4.eee.u-ryukyu.ac.jp/docs/dsp/p07.pdfディジタル信号処理...
TRANSCRIPT
ディジタル信号処理
第 7回
システムの周波数特性
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 1
システムの周波数応答とは?
離散時間では・・・
• 1入力 1出力の線形時不変でBIBO安定な離散時間システムに対し, そのインパルス応答の離散時間フーリエ変換, あるいはその伝達関数の変数 zに ejωを代入したものを,システムの周波数応答あるいは周波数特性と呼ぶ.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 2
連続時間では・・・
• 1入力 1出力の線形時不変でBIBO安定な連続時間システムに対し, そのインパルス応答のフーリエ変換, あるいはその伝達関数の変数 sに jωを代入したものを,システムの周波数応答あるいは周波数特性と呼ぶ.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 3
• 教科書の記述と話の順序が逆になっているので, 対応を見ておく.
• 以下では, システムのインパルス応答を hとし, h ∈ l1 (すなわち
∑
n∈Z |h(n)| < ∞)と仮定する.
• システムに印加される入力 xを次のように取る.
x[n] = ejωn.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 4
• システムの出力を yとすると・・・
y[n] =∑
m∈Z
h[m]ejω(n−m)
=
(
∑
m∈Z
h[m]e−jωm
)
ejωn
=
(
∑
m∈Z
h[m]e−jωm
)
x[n]
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 5
• 以上で見たように, 入力に次の複素数が乗じられている.
∑
m∈Z
h[m]e−jωm
• これは, システムのインパルス応答を離散時間フーリエ変換したものの角周波数ωにおける値になっている. これで教科書の記述との対応が取れた.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 6
• システムの周波数応答は, システムが BIBO
安定であれば定義できるが, BIBO安定でない場合には定義できるとは限らない.
• 独立変数が周波数の場合も, 角周波数の場合も,「周波数応答」という言葉が用いられる.
• 周波数応答と周波数特性という言葉も意味は同一で,周波数応答の方が一般的. 以下では周波数応答を用いる.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 7
• H(ω)の絶対値をA(ω)と書き, システムの振幅周波数特性あるいは振幅特性という.
• H(ω)の偏角を θ(ω)と書き, システムの位相周波数特性あるいは位相特性という. 偏角の取り方には色々な流儀があるので注意.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 8
• この講義では離散時間フーリエ変換における変換後の関数の独立変数を ω と書いてきたが, z変換との対応関係を取る際には独立変数を ejω とした方が都合が良い (伝達関数の変数 zに ejωを代入するとシステムの周波数応答 (すなわちシステムのインパルス応答を離散時間フーリエ変換したもの)が得られるため). 教科書ではそのようになっているのだが・・・
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 9
• 上述の振幅特性や位相特性の議論でわかるように, 最終的にはωを独立変数として扱う形に落ち付く. これを踏まえて,今後も講義資料ではH(ω)という記法を続けるが,多くの教科書でH(ejω)と書かれているということを覚えておくこと. 関数 [0, 2π) ∋ ω 7→ ejω ∈ Zは全単射なので,上記は単なる変数変換である.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 10
• 周波数応答はシステムが因果的であるか否かにかかわらず定義できるが, 因果的でない場合には, 「入力を印加するより前の時刻ですでに応答波形が出ている」ことになるので注意を要する. 非リアルタイム信号処理では,
このようなことも可能.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 11
周波数応答の別の定義 (連続/離散時間で共通)
• 野波, 水野 (編集代表), 制御の事典, 朝倉書店, 2015によると, 周波数応答の定義は・・・
安定なシステムに一定の周波数の正弦波を入力し続けると, 十分時間が経過した状態 (定常状態)では, 出力も同じ周波数の正弦波となる. このような正弦波入力に対する定常状態での応答を周波数応答という. 通常は周波数を変化させた場合の応答をまとめてこのようによんでいる.
これに類する形で定義が述べられることもしばしばあるので,
敢えて述べたのだが・・・
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 12
• 実は問題にするのは
⊲ 出力の最大振幅が入力の最大振幅の何倍になっているか
⊲ 入力と出力の位相のずれがどの程度か
であり, 応答波形そのものを問題にするわけではない.
• 先の定義は, 伝統的な周波数応答の測り方 (入力を正弦波とし,
正弦波の周波数を変えながら, システムが定常状態になるのを待ってから入力に対する最大振幅および位相の変化を記録する)
に引きずられた定義であると思われる.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 13
インパルス応答が実数の場合
• H(ω)の絶対値を振幅周波数特性と呼んでA(ω)
と書き, 偏角を位相周波数特性と呼んで θ(ω)
と書いたのだが・・・
• インパルス応答が実数の場合 (物理的なシステムでは大抵こうなる)では, 振幅周波数特性と位相周波数特性は特別な性質を持つ.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 14
• H(ω) =∑∞
n=−∞h[n]e−jωnより,
H(−ω) =∞∑
n=−∞
h[n]ejωn だが, インパルス応
答が実数であると仮定したから, h[n] = h[n],
よってh[n]ejωn = h[n]e−jωn
• しがたって, H(−ω) = H(ω).
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 15
• 振幅周波数特性A(ω)はH(ω)の絶対値,位相周波数特性 θ(ω)はH(ω)の偏角で, H(−ω) =
H(ω)だから・・・
• A(−ω) = A(ω), θ(−ω) = −θ(ω). これはインパルス応答が実数の場合に成り立つ特別な性質であることを改めて注意しておく.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 16
システムの周波数応答の求め方
• システムの入力 xと出力 yが既知でともに l1に属するものと仮定する. また, システムのインパルス応答 (未知)も l1に属するものと仮定する. x, y, hを離散時間フーリエ変換したものをX , Y , Hと書くまた,このシステムの伝達関数をHZ とする.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 17
1. システムのインパルス応答が既知であれば,∑
m∈Zh[m]e−jωmにより周波数応答を求める
ことができる.
2. システムの伝達関数が既知であれば, HZ(z)
の zに ejω を代入することにより周波数応答を求めることができる.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 18
3. y = x ∗ hを離散時間フーリエ変換することで Y = HX となる. H が求めるべき周波数応答だから,
H =Y
X.
伝統的な周波数応答の測定法は, 入力を正弦波とし, 正弦波の周波数を変えながら, システムが定常状態になるのを待ってから入力に対する最大振幅および位相の変化を記録する, というものであるが, この手順が入力と出力のスペクトルを記録することに相当するため, 上記の方法に近い.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 19
正弦波の線形結合に対する応答
• 周波数応答が既知のシステムへの入力 xを
x[n] =
L∑
l=1
Alej(ωln+φl) とする.
• この入力に対するシステムの応答を見る.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 20
• 我々は線形時不変でBIBO安定な離散時間システムを対象にしていたから, 過渡特性を無視すれば, この入力に対するシステムの応答は, Ale
j(ωln+φl) (1 ≤ l ≤ L) に対する応答を足し合わせたものになる.
• Alej(ωln+φl) = Ale
jωlnejφl = Alejφlejωlnだか
ら, Alej(ωln+φl)は, ejωlnが定数倍 (Ale
jφl 倍)
されたものである.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 21
• したがって, この入力に対するシステムの出力を yとすると,
y[n] =L∑
l=1
AlejφlH(ωl)e
jωln
となる.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 22
インパルス応答が実数のとき
• システムのインパルス応答が実数のときには,
入力 xが x[n] =∑L
l=1Al cos(ωln + φl) のときの応答を簡潔に書き表すことができる.
• cos(ωln + φl) =ej(ωln+φl) + e−j(ωln+φl)
2だか
ら,H(ω) = A(ω)ejθ(ω),H(−ω) = A(ω)e−jθ(ω)
を使うと・・・
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 23
y[n] =
L∑
l=1
Al
2
(
ejφlH(ωl)ejωln + e−jφlH(−ωl)e
−jωln)
=L∑
l=1
Al
2
(
A(ωl)ej(ωln+φl+θ(ω)) + e−jφlA(ωl)e
−j(ωln+φl+θ(ω)))
=
L∑
l=1
AlA(ωl) cos(ωln + φl + θ(ω)).
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 24
• よって, システムのインパルス応答が実数のときの, 入力 x[n] =
∑Ll=1Al cos(ωln+ φl)に
対するシステムの応答は
y[n] =
L∑
l=1
AlA(ωl) cos(ωln + φl + θ(ω)).
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 25
伝達関数の分母と分子の影響
• システムの伝達関数の分母と分子がそれぞれ多項式の積に分解されている状況を考える:
H(z) = b0
∏Ml=1Bl(z)
∏Nk=1Ak(z)
.
ただし, b0は定数 (複素数)である.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 26
• システムの周波数応答は伝達関数の変数zにz = ejωを代入することで得られたから・・・
H |z=ejω= b0
∏Ml=1Bl(e
jω)∏N
k=1Ak(ejω).
• このシステムの振幅周波数特性をA(ω),位相周波数特性を θ(ω)とすると, 絶対値および偏角の定義から・・・
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 27
A(ω) = |b0|
∏Ml=1 |Bl(e
jω)|∏N
k=1 |Ak(ejω)|
θ(ω) = arg b0 +
M∑
l=1
argBl(ejω)−
N∑
k=1
argAk(ejω)
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 28
絶対値について, 20 log10を取ると・・・
20 log10A(ω) = 20 log10 |b0|
+
M∑
l=1
20 log10 |Bl(ejω)|
−N∑
k=1
20 log10 |Ak(ejω)|
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 29
離散時間フーリエ変換の性質
• 積み残しになっていた離散時間フーリエ変換の性質について示しておく.
• 離散時間フーリエ変換は, l1に属する信号 x
に対して定義されるもので,
X(ω) =∑∈
n=−∞x[n]e−jωn,
x[n] = 12π
∫ π
−πX(ω)ejωndω
という対になったものであった.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 30
• 離散時間フーリエ変換は, l1に属する信号と周期 2πの連続関数とのあいだの全単射を与えるものであり, 本質的に周期 2πの関数のフーリエ級数展開と同じ (説明済み).
• x, x1, x2 ∈ l1と仮定する. また, 時間軸あるいは周波数軸に関して mシフトする作用素を τmと書く.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 31
• 離散時間フーリエ変換の性質の多くは, フーリエ級数の性質から直ちに導かれるのだが・・・
• 離散時間フーリエ変換は z変換において z =
ejωとした特別な場合.
• 離散時間フーリエ変換の収束領域は複素平面における単位円周上の点で, そこでは z変換に関して成立する事実はすべて成立するので,
これを利用して説明を簡略化する.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 32
• 以下では, 信号を離散時間フーリエ変換する作用素を FDTFT[·], z 変換する作用素をZ[·]
と書く.
• 教科書 33ページの表 3.2を 62ページの表 6.1
と比較しながら説明する.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 33
1. Z[a1x1 + a2x2] = a1Z[x1] + a2Z[x2]だからFDTFT[a1x1 + a2x2]
= a1FDTFT[x1] + a2FDTFT[x2].
2. Z[τmx] = z−mZ[x]だから, z = ejωとして,
FDTFT[τmx] = e−jωmFDTFT[x].
3. 周波数シフトについては後述.
4. Z[x1 ∗ x2] = Z[x1]Z[x2]だからFDTFT[x1 ∗ x2] = FDTFT[x1]FDTFT[x2].
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 34
5. 周波数領域における畳み込みについては後述.
6. 信号 xを離散時間フーリエ変換したものが周期 2πの周期関数となることはフーリエ級数の性質のひとつ.
7. スペクトルの対称性については後述.
8. パーセバルの等式 (公式)はフーリエ級数の性質のひとつ.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 35
周波数シフトyを y[n] = ejω0nx[n]によって定義される信号とすると,
(FDTFT) [y](ω) =∑
n∈Z
x[n]ejω0ne−jωn ==
=∑
n∈Z
x[n]e−j(ω−ω0)n
= (FDTFT) [x](ω − ω0)
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 36
周波数領域の畳み込み
(FDTFT)−1 [X1 ∗X2](n)
= 12π
∫ π
−π
(
∫ π
−πX1(ω − ν)X2(ν)dν
)
ejnωdω
= 12π
∫ π
−π
∫ π
−πX1(ω − ν)ej(ω−ν)X2(ν)dνe
jnνdωdν
= 12π
∫ π
−πX2(ν)e
jnν(
∫ π
−πX1(ω − ν)ej(ω−ν)dω
)
dν
(ω − ν = θと変数変換してX1の周期性を使う)
= 12π
∫ π
−πX2(ν)e
jnν(
∫ π−ν
−π−νX1(θ)e
jθdθ)
dν
= 12π
∫ π
−πX2(ν)e
jnν(
∫ π
−πX1(θ)e
jθdθ)
dν
= x1[n]x2[n].
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 37
スペクトルの対称性xが実数値のとき,
X(−ω) =∑
n∈Z
x[n]ejωn =∑
n∈Z
x[n]e−jωn = X(ω).
ただし, xが実数値だから x[n] = x[n]であることを用いた.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 38
高速フーリエ変換
• 高速フーリエ変換は, 離散フーリエ変換をコンピュータで効率良く計算するためのアルゴリズム.
• 離散フーリエ変換はディジタル信号処理における基本的な道具なので, これを効率良く計算できることには実用上の価値が高く, よって高速フーリエ変換は広く利用されている.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 39
• Cooley と Tukey によって 1965年に提案されたが, そこに含まれるもっとも重要なアイデアは 1805年にGaussによって議論されていたという指摘もある.
http://mathworld.wolfram.com/FastFourierTransform.html
• 最も基本的なのは信号の長さが2のべきである場合の計算法であるが, 今日は様々な方向で拡張がなされている.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 40
• 高速フーリエ変換をおこなうプログラムはライブラリなどの形で提供されていることが多い. この種のプログラムでは, 効率と精度の良い計算のために様々な工夫がなされていることが普通であり, 初心者が教科書等を見て打ち込んだコードとは品質がまったく異なることが一般的.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 41
• 高速フーリエ変換が必要になった場合には,
可能な限り利用可能なライブラリ関数等を探すべきであり, 基本的なアルゴリズムに対応するコードを自分で打ち込んで動かすことは,
特殊な事情がある場合以外は避けるべき. 工学の鉄則は,車輪を再発明するなということ.
• これを踏まえた上で, 以下では, 高速フーリエ変換の考え方を説明する.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 42
• コンピュータで数値計算をする際には, 乗算の所要時間は, 加算の所要時間よりもずっと長いことが普通.
• 以下の議論では, 簡単のため, 加算の回数は無視して, 信号を離散フーリエ変換に必要となる乗算の回数を減らすことを考える.
• 乗算の回数を減らすための工夫が, 高速フーリエ変換の本質.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 43
• 長さN = 2ν (ν ∈ N)の信号 xを考える.
• WN = e−jΩ = e−j2π/N とおく.
• 信号 xの離散フーリエ変換は,
X [m] =∑
0≤k<2ν
x[k]WmkN (0 ≤ m < N)
によって求められるのであった (N = 2νに注意).
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 44
• 離散フーリエ変換は, N 行N 列の行列を N
次のベクトルに乗ずる演算になっており, 必要な乗算の回数はN2回である.
• 離散フーリエ変換の式を, kが偶数の場合 (k =
2p, 1 ≤ p < 2ν−1) と k が奇数の場合 (k =
2p+ 1, 1 ≤ p < 2ν−1)に分ける.
• W 2N = WN
2であることに注意すると・・・
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 45
X [m] =∑
0≤p<2ν−1
x[2p]Wm(2p)N
+∑
0≤p<2ν−1
x[2p+ 1]Wm(2p+1)N
=∑
0≤p<2ν−1
x[2p]WmpN2
+WmN
∑
0≤p<2ν−1
x[2p+ 1]WmpN2
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 46
• 先の式を見ると,長さNの信号の離散フーリエ変換が, 2個の長さ N/2の信号 (偶数および奇数時刻に対応)の散時間フーリエ変換から, N 回の乗算によって得られることになる(加算を無視していることに注意).
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 47
• 同様に, 長さN/2の信号の離散フーリエ変換は, 2個の長さN/4の信号の離散フーリエ変換からN/2回の乗算によって得られる. よって, 2個の長さN/2の信号の離散フーリエ変換は, 4個の長さN/4の信号の離散フーリエ変換から, 2×N/2 = N 回の乗算によって得られる.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 48
1個の長さNの信号の離散時間フーリエ変換
2個の長さN/2の信号の離散時間フーリエ変換
4個の長さN/4の信号の離散時間フーリエ変換
8個の長さN/8の信号の離散時間フーリエ変換
乗算N回
乗算N回
乗算N回
乗算N回
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 49
• 上記の工程を 1段階下に進むごとに信号長が半分になるから, 長さ 2νの信号では, 上記の工程を ν回繰り返せば信号長は 1となり, それ以上の計算は不要となる. このような手順で離散フーリエ変換を求めるのが高速フーリエ変換である.
• N = 2νだから ν = log2N , よって乗算回数がN2からN log2N にまで減ったことになる.
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 50
• たとえば, 音楽 CDのサンプリング周波数は44.1kHzであるから, 1秒分のデータ (N =
44100を離散フーリエ変換するのに必要な乗算の回数は約1.9×109回. これに対し,N log2N ≃
6.8 × 105なので, 大雑把に言うと, 高速フーリエ変換によって乗算回数が離散フーリエ変換の約 1/3000になる (長さが 2のべきでない信号の高速フーリエ変換は上記より若干効率が落ちるが).
電 341 ディジタル信号処理 (2018) 琉球大学工学部電気電子工学科 担当:半塲 51