21
11 IIR フィルタの直接設計 演習問題解答 1. (a) (11.13) から,N =1 q k = tan π/2 2 exp j 1 = tan π 4 exp(jkπ), k =0, 1 =1, 1 (11.1) (11.15) から p k = 1+ q k 1 q k , k =0, 1 = , 0 (11.2) ために,|p 1 | = |0| < 1 H(z)= K(1 + z 1 ) 1 0 · z 1 = K(1 + z 1 ) (11.3) (11.17) から K = 1 2 1 (1 0) = 1 2 (11.4) よって H(z)= 1 2 (1 + z 1 ) (11.5) 11.1 す. MATLAB11.1% N = 1; wc = pi/2; %N = 2; wc = pi/2; %N = 1; wc = pi/3; %N = 2; wc = pi/3; %q k = 0:2*N-1;

11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

11 IIR フィルタの直接設計 演習問題解答

1. (a) 教科書の式 (11.13) から,N = 1 (奇数)のとき

qk = tan(

π/22

)exp

(jkπ

1

)

= tan(π

4

)exp(jkπ), k = 0, 1

= 1,−1 (11.1)

教科書の式 (11.15) から

pk =1 + qk

1 − qk, k = 0, 1

= ∞, 0 (11.2)

安定性のために,|p1| = |0| < 1 を選ぶと

H(z) =K(1 + z−1)1 − 0 · z−1

= K(1 + z−1) (11.3)

教科書の式 (11.17) から

K =121

(1 − 0)

=12

(11.4)

よって

H(z) =12(1 + z−1) (11.5)

図 11.1に振幅特性を示す.

� �【MATLAB11.1】%次数と遮断周波数N = 1; wc = pi/2;%N = 2; wc = pi/2;%N = 1; wc = pi/3;%N = 2; wc = pi/3;

%q平面の極の計算k = 0:2*N-1;

Page 2: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

2 11 IIR フィルタの直接設計 演習問題解答

0 1 2 30

0.2

0.4

0.6

0.8

1

Frequency ω [rad]

¦H(ejω)¦

図 11.1 振幅特性

if mod(N,2) == 0 %Nは偶数かqk = tan(wc/2)*exp(j*(2*k+1)*pi/(2*N)) %N=偶数のとき

elseqk = tan(wc/2)*exp(j*k*pi/N) %N=奇数のとき

end

%z平面の極pk = ((1+qk)./(1-qk))’ %極pl = pk(abs(pk)<1) %安定な極 (絶対値 1以下)を選択

%伝達関数の計算zr = -ones(N,1); %零点K = abs(prod(1-pl)/2^N) %伝達関数のゲイン[num,den] = zp2tf(zr,pl,K) %零点と極,ゲインから伝達関数へ

%周波数応答の計算w = linspace(0,pi,512);H = freqz(num,den,w);

%計算結果の表示subplot(2,2,1);plot(w,abs(H)); grid;axis([0 pi 0 1.2]);xlabel(’Frequency \omega [rad]’); ylabel(’|H(e^{j\omega})|’);subplot(2,2,2);zplane(num,den);

———————————————— 以下 ディスプレイの表示 ————————————————qk =

1.0000 -1.0000 + 0.0000i

pk =1.0e+016 *1.80140.0000 - 0.0000i

Page 3: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

3

pl =5.5511e-017 -6.1232e-017i

K =0.5000

num =0.5000 0.5000

den =1.0000 -0.0000� �

(b) 教科書の式 (11.13) から,N = 2 (偶数)のとき

qk = tan(

π/22

)exp

(j2k + 1

)

= exp(

j2k + 1

), k = 0, 1, 2, 3

=1√2(1 + j),

1√2(−1 + j),

1√2(−1 − j),

1√2(1 − j) (11.6)

教科書の式 (11.15) から

pk =1 + qk

1 − qk, k = 0, 1, 2, 3

= (1 +√

2)j, (−1 +√

2)j, (1 −√

2)j, (−1 −√

2)j (11.7)

安定性のために,|pk| < 1 を選ぶと

p1 = (−1 +√

2)j, p2 = (1 −√

2)j (11.8)

よって

H(z) =K(1 + z−1)2(

1 − (√

2 − 1)jz−1) (

1 + (√

2 − 1)jz−1)

=K(1 + z−1)2

1 + (√

2 − 1)2z−2(11.9)

教科書の式 (11.17) から

K =122

(1 − (

√2 − 1)j

)(1 + (

√2 − 1)j

)=

12(2 −

√2) (11.10)

よって

H(z) =12 (√

2 − 1)(1 + z−1)2

1 + (√

2 − 1)2z−2(11.11)

図 11.2に振幅特性を示す.

� �【MATLAB11.2】プログラムは (a)と同じ.

———————————————— 以下 ディスプレイの表示 ————————————————

Page 4: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

4 11 IIR フィルタの直接設計 演習問題解答

0 1 2 30

0.2

0.4

0.6

0.8

1

Frequency ω [rad]

¦H(ejω)¦

図 11.2 振幅特性

qk =0.7071+0.7071i -0.7071+0.7071i -0.7071-0.7071i 0.7071-0.7071i

pk =0.0000 - 2.4142i0.0000 - 0.4142i0.0000 + 0.4142i0.0000 + 2.4142i

pl =0.0000 - 0.4142i0.0000 + 0.4142i

K =0.2929

num =0.2929 0.5858 0.2929

den =1.0000 -0.0000 0.1716� �

(c) 教科書の式 (11.13) から,N = 1 (奇数)のとき

qk = tan(

π/32

)exp

(jkπ

1

)

= tan(π

6

)exp (jkπ) , k = 0, 1 (11.12)

=1√3, − 1√

3(11.13)

教科書の式 (11.15) から

pk =1 + qk

1 − qk, k = 0, 1

= 2 +√

3, 2 −√

3 (11.14)

Page 5: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

5

安定性のために,|p1| < 1 を選ぶと

H(z) =K(1 + z−1)

1 − (2 −√3) · z−1

(11.15)

教科書の式 (11.17) から

K =121

(1 − (2 −√

3)

=12(√

3 − 1) (11.16)

よって

H(z) =12 (√

3 − 1)(1 + z−1)

1 − (2 −√3) · z−1

(11.17)

図 11.3に振幅特性を示す.

0 1 2 30

0.2

0.4

0.6

0.8

1

Frequency ω [rad]

¦H(ejω)¦

図 11.3 振幅特性

� �【MATLAB11.3】プログラムは (a)と同じ.

———————————————— 以下 ディスプレイの表示 ————————————————qk =

0.5774 -0.5774 + 0.0000i

pk =3.73210.2679 - 0.0000i

pl =0.2679 - 0.0000i

K =0.3660

num =0.3660 0.3660

den =1.0000 -0.2679� �

Page 6: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

6 11 IIR フィルタの直接設計 演習問題解答

(d) 式 (11.13) から,N = 2 (偶数)のとき

qk = tan(

π/32

)exp

(j2k + 12 · 2 π

)

=1√3

exp(

j2k + 1

), k = 0, 1, 2, 3

=1√6(1 + j),

1√6(−1 + j),

1√6(−1 − j),

1√6(1 − j) (11.18)

式 (11.15) から

pk =1 + qk

1 − qk, k = 0, 1, 2, 3 (11.19)

=15(4 +

√6) +

15(3 + 2

√6)j,

15(4 −

√6) +

15(−3 + 2

√6)j,

15(4 −

√6) +

15(3 − 2

√6)j,

15(4 +

√6) +

15(−3 − 2

√6)j (11.20)

安定性のために,p1 と p2 を選ぶ.このとき

H(z) =K(1 + z−1)2

(1 − p1z−1)(1 − p2z−1)

=K(1 + z−1)2

1 − (p1 + p2)z−1 + p1p2z−2(11.21)

p1 + p2 =25(4 −

√6) (11.22)

p1p2 =15(11 − 4

√6) (11.23)

H(z) =K(1 + z−1)2

1 − 25 (4 −√

6)z−1 + 15 (11 − 4

√6)z−2

(11.24)

式 (11.17) から

K =122

(1 − p1)(1 − p2)

=12(1 − (p1 + p2) + p1p2)

=110

(4 −

√6)

(11.25)

よって

H(z) =110

(4 −√

6)(1 + z−1)2

1 − 25 (4 −√

6)z−1 + 15 (11 − 4

√6)z−2

(11.26)

図 11.4に振幅特性を示す.

� �【MATLAB11.4】プログラムは (a)と同じ.

———————————————— 以下 ディスプレイの表示 ————————————————qk =

0.4082+0.4082i -0.4082+0.4082i -0.4082-0.4082i 0.4082-0.4082i

pk =

Page 7: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

7

0 1 2 30

0.2

0.4

0.6

0.8

1

Frequency ω [rad]

¦H(ejω)¦

図 11.4 振幅特性

1.2899 - 1.5798i0.3101 - 0.3798i0.3101 + 0.3798i1.2899 + 1.5798i

pl =0.3101 - 0.3798i0.3101 + 0.3798i

K =0.1551

num =0.1551 0.3101 0.1551

den =1.0000 -0.6202 0.2404� �

2. 以下のプログラムによって低域フィルタが直接設計法で設計される.図 11.5に設計された低域フィ

ルタの振幅特性を示す.

� �【MATLAB11.5】%直接法によるディジタル低域フィルタの設計wc = 0.4*pi; %遮断周波数ws = 0.6*pi; %阻止域端周波数As = 20; %阻止域減衰量[b,a,N] = direct(wc,ws,As) %直接設計 (分子,分母,次数)w = linspace(0,pi,512);H = freqz(b,a,w); %周波数応答の計算plot(w,20*log10(abs(H)+eps)); %振幅特性の図示axis([0 pi -60 5]); grid;xlabel(’Frequency \omega [rad]’); ylabel(’|H(e^{j\omega})| [dB]’);

———————————————— 以下 ディスプレイの表示 ————————————————b =

0.0466 0.1863 0.2795 0.1863 0.0466

Page 8: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

8 11 IIR フィルタの直接設計 演習問題解答

a =1.0000 -0.7821 0.6800 -0.1827 0.0301

N =4� �

0 1 2 3-60

-50

-40

-30

-20

-10

0

Frequency ω [rad]

¦H(ejω)¦ [dB]

図 11.5 振幅特性

3. 以下のプログラムによって,高域フィルタ,帯域フィルタおよび帯域阻止フィルタが設計される.図

11.6に振幅特性を示す.

� �【MATLAB11.6】%直接法によるディジタルフィルタの設計%プロトタイプ低域フィルタwc = 0.4*pi %遮断周波数b = [0.0466 0.1863 0.2795 0.1863 0.0466] %分子係数a = [1 -0.7821 0.6800 -0.1827 0.0301] %分母係数

w = linspace(0,pi,512);Hl = freqz(b,a,w); %周波数応答の計算subplot(2,2,1);plot(w,20*log10(abs(Hl)+eps)); %振幅特性の図示axis([0 pi -60 5]); grid;xlabel(’Frequency \omega [rad]’); ylabel(’|H_l(e^{j\omega})| [dB]’);

%高域フィルタの設計wch = 0.8*pi; %遮断周波数[bh,ah] = freqztrans(b,a,’hp’,wc,wch) %周波数変換Hh = freqz(bh,ah,w); %周波数応答の計算subplot(2,2,2);plot(w,20*log10(abs(Hh)+eps)); %振幅特性の図示axis([0 pi -60 5]); grid;xlabel(’Frequency \omega [rad]’); ylabel(’|H_h(e^{j\omega})| [dB]’);

%帯域フィルタの設計wcbp = [0.2*pi 0.8*pi]; %遮断周波数

Page 9: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

9

[bbp,abp] = freqztrans(b,a,’bp’,wc,wcbp) %周波数変換Hbp = freqz(bbp,abp,w); %周波数応答の計算subplot(2,2,3);plot(w,20*log10(abs(Hbp)+eps)); %振幅特性の図示axis([0 pi -60 5]); grid;xlabel(’Frequency \omega [rad]’); ylabel(’|H_{bp}(e^{j\omega})| [dB]’);

%帯域阻止フィルタの設計wcbst = [0.2*pi 0.8*pi]; %遮断周波数[bbst,abst] = freqztrans(b,a,’bs’,wc,wcbst) %周波数変換Hbst = freqz(bbst,abst,w); %周波数応答の計算subplot(2,2,4)plot(w,20*log10(abs(Hbst)+eps)); %振幅特性の図示axis([0 pi -60 5]); grid;xlabel(’Frequency \omega [rad]’); ylabel(’|H_{bst}(e^{j\omega})| [dB]’);

———————————————— 以下 ディスプレイの表示 ————————————————wc =

1.2566

b =0.0466 0.1863 0.2795 0.1863 0.0466

a =1.0000 -0.7821 0.6800 -0.1827 0.0301

bh =0.0048 -0.0192 0.0290 -0.0192 0.0048

ah =1.0000 2.3695 2.3140 1.0547 0.1874

bbp =Columns 1 through 70.1672 -0.0000 -0.6687 0.0000 1.0030 0.0000 -0.6687

Columns 8 through 9-0.0000 0.1672

abp =Columns 1 through 71.0000 -0.0000 -0.7821 0.0000 0.6800 -0.0000 -0.1826

Columns 8 through 90.0000 0.0301

bbst =Columns 1 through 70.0466 -0.0000 0.1863 -0.0000 0.2795 -0.0000 0.1863

Columns 8 through 9-0.0000 0.0466

abst =Columns 1 through 7

Page 10: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

10 11 IIR フィルタの直接設計 演習問題解答

1.0000 -0.0000 -0.7821 0.0000 0.6800 -0.0000 -0.1827Columns 8 through 90.0000 0.0301� �

0 1 2 3-60

-50

-40

-30

-20

-10

0

Frequency ω [rad]

¦Hh(ejω)¦ [dB]

0 1 2 3-60

-50

-40

-30

-20

-10

0

Frequency ω [rad]

¦Hbp(ejω)¦ [dB]

(a) 高域フィルタ (b) 帯域フィルタ

0 1 2 3-60

-50

-40

-30

-20

-10

0

Frequency ω [rad]

¦Hbst(ejω)¦ [dB]

(c) 帯域阻止フィルタ

図 11.6 振幅特性

4. (a) 与えられた設計仕様 (ωp, Rp, ωs, As) を実現するバタワースフィルタの次数 N と遮断周波数

ωc を求める.

求める伝達関数 H(z) の周波数応答は以下のようなものである.

|H(ejω)| =1√

1 +[

tan(ω/2)tan(ωc/2)

]2N(11.27)

この周波数応答は,与えられた設計仕様を満たさなければならないから

i. ω = ωp において,通過域リップルが Rp であるために

−20 log10

1√

1 +[

tan(ωp/2)tan(ωc/2)

]2N

= Rp (11.28)

とならなければならない.

ii. ω = ωs において,阻止域減衰量が As であるために

Page 11: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

11

−20 log10

1√

1 +[

tan(ωp/2)tan(ωc/2)

])2N

= As (11.29)

とならなければならない.

式 (11.28) と (11.29) は,それぞれ次のように書き換えられる.

2N · [log10 (tan(ωp/2)) − log10 (tan(ωc/2))] = log10(10Rp/10 − 1) (11.30)

2N · [log10 (tan(ωs/2)) − log10 (tan(ωc/2))] = log10(10As/10 − 1) (11.31)

式 (11.30) − 式 (11.31) によって,ωc を消去すれば

2N · [log10 (tan(ωp/2)) − log10 (tan(ωs/2))] = log10

(10Rp/10 − 110As/10 − 1

)(11.32)

となる.上式から,必要な次数 N が次のように求められる.

N =log10

(10Rp/10−110As/10−1

)2 log10

[tan(ωp/2)tan(ωc/2)

] (11.33)

次に遮断周波数 ωc を求める.式 (11.30) を用いると[tan(ωp/2)tan(ωc/2)

]2N

= (10Rp/10 − 1) (11.34)

上式から

ωc = 2 tan−1

(tan(ωp/2)

(10Rp/10 − 1)

)(11.35)

よって,通過域端周波数 ωp を正確に実現したい場合には,上のように遮断周波数を選ばなけれ

ばならない.

一方,式 (11.31) を用いると[tan(ωs/2)tan(ωc/2)

]2N

= (10As/10 − 1) (11.36)

上式から

ωc = 2 tan−1

(tan(ωs/2)

(10As/10 − 1)

)(11.37)

よって,阻止域端周波数 ωs を正確に実現したい場合には,上のように遮断周波数を選ばなけれ

ばならない.

(b) 式 (11.33)を用いて

N =log10

(107/10−11016/10−1

)2 log10

[tan(0.2π/2)tan(0.3π/2)

] = 2.5221 (11.38)

となる.N は整数でなければならないので,N = 3 とする.ωp を正確に実現したい場合は,式

(11.35)より

Page 12: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

12 11 IIR フィルタの直接設計 演習問題解答

ωc = 2 tan−1

(tan(0.2π/2)(107/10 − 1)

)= 0.5045 (11.39)

となる.また,ωs を正確に実現したい場合は,式 (11.37)より

ωc = 2 tan−1

(tan(0.3π/2)(1016/10 − 1)

)= 0.5403 (11.40)

となる.

� �【MATLAB11.7】%設計仕様(通過域端周波数 wp[rad], 通過域リップル Rp[dB],% 阻止域端周波数 ws[rad], 阻止域減衰量 As[dB])% からの直接設計wp = 0.2*pi; Rp = 7; %通過域端周波数と通過域リップルws = 0.3*pi; As = 16; %阻止域端周波数と阻止域リップル

%次数と零点の計算N = 0.5*log10( (10^(Rp/10)-1) / (10^(As/10)-1) ) ...

/ log10( tan(wp/2) / tan(ws/2) )N = ceil(N)

%通過域端周波数をあわせる場合wc = 2*atan( tan(wp/2) / ( (10^(Rp/10)-1)^(1/(2*N)) ) )%阻止域端周波数をあわせる場合wc = 2*atan( tan(ws/2) / ( (10^(As/10)-1)^(1/(2*N)) ) )

———————————————— 以下 ディスプレイの表示 ————————————————N =

2.5221

N =3

wc =0.5045

wc =0.5403� �

5. (a) F (z) = Z−1−α1−αZ−1 の振幅特性を以下のように求める.

|F (ejω)|2 = F (ejω)F ∗(ejω)

=e−jω − α

1 − αe−jω· ejω − α

1 − αejω

=1 − 2α cos ω + α2

1 − 2α cos ω + α2

= 1 (11.41)

よって,|F (ejω)| = 1.

(b) z−1 = Z−1−α1−αZ−1 を α について解くと

Page 13: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

13

α =Z−1 − z−1

1 − z−1Z−1(11.42)

z = ejθ と Z = ejω を上式に代入すれば

α =Z−1 − z−1

1 − z−1Z−1

=e−jω − e−jθ

1 − e−jωe−jθ

=ej(θ−ω)/2 − e−j(θ−ω)/2

ej(θ+ω)/2 − e−j(θ+ω)/2

=sin (θ−ω)

2

sin (θ+ω)2

(11.43)

(c) z−1 = Z−1−α1−αZ−1 を Z について解くと

Z =z + α

1 + αz(11.44)

z 平面上の極を p = rejθ とおくと,Z 平面上の極の絶対値は以下のように求められる.

|P |2 =p + α

1 + αp· p∗ + α

1 + αp∗

=r2 + 2αr cos θ + α2

1 + 2αr cos θ + α2r2(11.45)

ここで,−1 < α < 1, 0 < r < 1 であるから

r2 + 2αr cos θ + α2 − (1 + 2αr cos θ + α2r2) = (1 − α2)(r2 − 1) < 0 (11.46)

となり,(r2 + 2αr cos θ + α2)/(1 + 2αr cos θ + α2r2) < 1 である.よって,|P |2 < 1 すなわち,

|P | < 1 である.すなわち,低域-低域変換によって,z 平面上の安定な極は,Z 平面上の安定

な極に写像されるため,ディジタルフィルタの安定性は保証される.

6. (a) まず,議論を容易にするために,低域フィルタ Hl(z) は以下のような特性をもっているものと

する.

ω −π −θc 0 θc π

|Hl(ejω)| 0 1/√

2 1 1/√

2 0

問題で与えられた Hl(z) は遮断周波数 θc [rad] の低域フィルタであるので,Hl(ej0) � 1,

Hl(ej±π) � 0 であれば十分であるが,上の表のように特性を単純な数値で表しておく.これ

により,以下の議論は一般性を失うことはない.

i. Hh(Z) の遮断周波数は以下の式を満たす ω である.

|Hh(ejω)| = |Hl(−ejω)|= |Hl(ej(ω±π))|=

1√2

= |Hl(ej±θc)| (11.47)

よって,ω − π = −θc より,ω = π − θc が遮断周波数となる.また,Hh(Z) の振幅特性は

以下の表のようになり,高域特性をもつ.

Page 14: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

14 11 IIR フィルタの直接設計 演習問題解答

ω 0 π − θc π

ω − π −π −θc 0

|Hh(ejω)| = |Hl(ej(ω−π))| 0 1/√

2 1ii. Hbp(Z) の遮断周波数は以下の式を満たす ω である.

|Hbp(ejω)| = |Hl(−ej2ω)|= |Hl(ej(2ω±π))|=

1√2

= |Hl(ej±θc)| (11.48)

よって,2ω − π = ±θc より,ω = π±θc

2 が遮断周波数となる.また,Hbp(Z) の振幅特性は

以下の表のようになり,帯域特性をもつ.ω 0 (π − θc)/2 π/2 (π + θc)/2 π

2ω − π −π −θc 0 θc π

|Hbp(ejω)| = |Hl(ej(2ω−π))| 0 1/√

2 1 1/√

2 0iii. Hbs(Z) の遮断周波数は以下の式を満たす ω である.

|Hbs(ejω)| = |Hl(ej2ω)|= |Hl(ej(2ω))|=

1√2

= |Hl(ejθc)|, |Hl(ej(2π−θc))| (11.49)

よって,2ω = θc, 2π − θc より,ω = θc

2 , 2π−θc

2 が遮断周波数となる.また,Hbs(Z) の振幅

特性は以下の表のようになり,帯域阻止特性をもつ.ω 0 θc/2 π/2 (2π − θc)/2 π

2ω 0 θc π 2π − θc 2π

|Hbs(ejω)| = |Hl(ej2ω)| 1 1/√

2 0 1/√

2 1

(b) i. 式 (11.47)より,遮断周波数 ωc は以下のようになる.

ωc = π − θc (11.50)

ii. 式 (11.48)より,遮断周波数 ωc は以下のようになる.

ωc =π ± θc

2(11.51)

iii. 式 (11.49)より,遮断周波数 ωc は以下のようになる.

ωc =θc

2,2π − θc

2(11.52)

(c) i. 遮断周波数は式 (11.50)より

ωc = π − θc = 0.75π [rad] (11.53)

図 11.7(a)に振幅特性を示す.

ii. 遮断周波数は式 (11.51)より

ωc =π ± θc

2= 0.375π, 0.625π [rad] (11.54)

図 11.7(b)に振幅特性を示す.

iii. 遮断周波数は式 (11.52)より

ωc =θc

2,2π − θc

2= 0.125π, 0.875π [rad] (11.55)

Page 15: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

15

図 11.7(c)に振幅特性を示す.

� �【MATLAB11.8】%単純な周波数変換によるディジタルフィルタの設計%プロトタイプ低域フィルタsyms z Z; %シンボルの宣言b = [0.2929 0.2929]; %分子係数a = [1 -0.4142]; %分母係数Hlz = poly2sym(b,z)/poly2sym(a,z); %伝達関数

w = linspace(0,pi,512);Hl = freqz(b,a,w); %周波数応答の計算subplot(2,2,1);plot(w,abs(Hl)); %振幅特性の図示axis([0 pi 0 1.2]); grid;xlabel(’Frequency \omega [rad]’); ylabel(’|H_l(e^{j\omega})|’);

%高域フィルタHhZ = compose(Hlz,-Z) %Hlの zに-Zを代入HhZ = simplify(HhZ); %HhZを簡単化し,Zの有理多項式とする[BZ,AZ] = numden(HhZ); %HhZを分子・分母多項式にわけるbh = sym2poly(BZ); %分子多項式から分子係数ah = sym2poly(AZ); %分母多項式から分母係数bh = bh/ah(1) %分子係数の正規化ah = ah/ah(1) %分子係数の正規化Hh = freqz(bh,ah,w); %周波数応答の計算subplot(2,2,2);plot(w,abs(Hh)); %振幅特性の図示axis([0 pi 0 1.2]); grid;xlabel(’Frequency \omega [rad]’); ylabel(’|H_h(e^{j\omega})|’);

%帯域フィルタの設計HbpZ = compose(Hlz,-Z^2) %Hlの zに-Z^2を代入HbpZ = simplify(HbpZ);[BZ,AZ] = numden(HbpZ);bbp = sym2poly(BZ);abp = sym2poly(AZ);bbp = bbp/abp(1)abp = abp/abp(1)Hbp = freqz(bbp,abp,w); %周波数応答の計算subplot(2,2,3);plot(w,abs(Hbp)); %振幅特性の図示axis([0 pi 0 1.2]); grid;xlabel(’Frequency \omega [rad]’); ylabel(’|H_{bp}(e^{j\omega})|’);

%帯域阻止フィルタの設計HbstZ = compose(Hlz,Z^2) %Hlの zに Z^2を代入HbstZ = simplify(HbstZ);

Page 16: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

16 11 IIR フィルタの直接設計 演習問題解答

[BZ,AZ] = numden(HbstZ);bbst = sym2poly(BZ);abst = sym2poly(AZ);bbst = bbst/abst(1)abst = abst/abst(1)Hbst = freqz(bbst,abst,w); %周波数応答の計算subplot(2,2,4)plot(w,abs(Hbst)); %振幅特性の図示axis([0 pi 0 1.2]); grid;xlabel(’Frequency \omega [rad]’); ylabel(’|H_{bst}(e^{j\omega})|’);

———————————————— 以下 ディスプレイの表示 ————————————————HhZ =(-2929/10000*Z+2929/10000)/(-Z-2071/5000)

bh =0.2929 -0.2929

ah =1.0000 0.4142

HbpZ =(-2929/10000*Z^2+2929/10000)/(-Z^2-2071/5000)

bbp =0.2929 0 -0.2929

abp =1.0000 0 0.4142

HbstZ =(2929/10000*Z^2+2929/10000)/(Z^2-2071/5000)

bbst =0.2929 0 0.2929

abst =1.0000 0 -0.4142� �

7. z−1 = − Z−1+α1+α+Z−1 において,z = ejθ, Z = ejω とおくと

e−jθ = − e−jω + α

1 + αe−jω(11.56)

よって

θ = −�(− e−jω + α

1 + αe−jω

)(11.57)

である.上式を図示すると図 11.8 のようになる.

� �【MATLAB11.9】%ディジタルフィルタの周波数変換のデモンストレーション%ftype = ’lp’; wc = 0.25*pi; %フィルタのタイプと遮断周波数をえらぶftype = ’hp’; wc = 0.75*pi;

Page 17: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

17

0 1 2 30

0.2

0.4

0.6

0.8

1

Frequency ω [rad]

¦Hh(ejω)¦

0 1 2 30

0.2

0.4

0.6

0.8

1

Frequency ω [rad]

¦Hbp(ejω)¦

(a) 高域フィルタ (b) 帯域フィルタ

0 1 2 30

0.2

0.4

0.6

0.8

1

Frequency ω [rad]

¦Hbst(ejω)¦

(c) 帯域阻止フィルタ

図 11.7 振幅特性

%ftype = ’bp’; wc = [0.5*pi 0.75*pi];%ftype = ’bs’; wc = [0.25*pi 0.5*pi];

%原型低域ディジタルフィルタN = 4; %フィルタ次数thetac = 0.5*pi; %原型フィルタの遮断周波数[num den] = butter(N,thetac/pi); %バタワースフィルタをつかうtheta = linspace(-pi,pi,1024);dtheta = theta(2)-theta(1);Hz = freqz(num,den,theta); %原型フィルタの周波数特性subplot(2,2,1);plot(abs(Hz),theta); hold on;

%フィルタタイプにわけて遮断周波数を図示するswitch ftype

case{’lp’} %低域フィルタthetac_point = round((pi+thetac)/dtheta)+1;plot(abs(Hz(thetac_point)),thetac,’.’); %遮断周波数

case{’hp’} %高域フィルタ

Page 18: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

18 11 IIR フィルタの直接設計 演習問題解答

thetac_point = round((pi+thetac)/dtheta)+1;plot(abs(Hz(thetac_point)),-thetac,’.’); %遮断周波数

case{’bp’} %帯域フィルタthetac_pointp = round((pi+thetac)/dtheta)+1; %正の遮断周波数thetac_pointm = round((pi-thetac)/dtheta); %負の遮断周波数plot(abs(Hz(thetac_pointp)), -thetac,’.’); %遮断周波数 1plot(abs(Hz(thetac_pointm)),thetac,’o’); %遮断周波数 2

case{’bs’} %帯域阻止フィルタthetac_pointp = round((pi+thetac)/dtheta)+1; %正の遮断周波数thetac_pointm = round((pi-thetac)/dtheta); %負の遮断周波数plot(abs(Hz(thetac_pointp)), thetac,’.’); %遮断周波数 1plot(abs(Hz(thetac_pointm)),-thetac,’o’); %遮断周波数 2

otherwiseerror(’ftype error 1’);

endaxis([0 1.2 -pi pi]);xlabel(’|H_l(e^{j\theta})|’); ylabel(’Frequency \theta [rad]’);hold off;

%周波数変換のダイアグラム(写像)subplot(2,2,2);w = linspace(-pi,pi,1024);switch ftypecase{’lp’} %低域-低域変換alpha=sin ((thetac-wc)/2) / sin((thetac+wc)/2)theta=-angle((exp(-j*w)-alpha )./ (1-alpha*exp(-j*w)));plot(w,theta); hold on;plot(wc,thetac,’.’); %遮断周波数

case{’hp’} %低域-高域変換alpha = -cos((wc+thetac)/2) / cos((wc-thetac)/2)theta=-angle(-(exp(-j*w)+alpha )./(1+alpha*exp(-j*w)));plot(w,theta); hold on;plot(wc,-thetac,’.’); %遮断周波数

case{’bp’} %低域-帯域変換alpha = cos((wc(2)+wc(1))/2) / cos((wc(2)-wc(1))/2);k = cot((wc(2)-wc(1))/2)*tan(thetac/2);theta = -angle( ...-( exp(-j*2*w) -2*alpha*k/(k+1)*exp(-j*w)+(k-1)/(k+1) ) ./ ...( (k-1)/(k+1)*exp(-j*2*w) - 2*alpha*k/(k+1)*exp(-j*w)+1 ) ...

);plot(w,theta); hold on;plot(wc(1),-thetac,’.’); %遮断周波数plot(wc(2),thetac,’o’); %遮断周波数

Page 19: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

19

case{’bs’} %低域-帯域阻止変換alpha = cos((wc(2)+wc(1))/2) / cos((wc(2)-wc(1))/2);k = tan((wc(2)-wc(1))/2)*tan(thetac/2);theta = - angle( ...

(exp(-j*2*w) -2*alpha/(1+k)*exp(-j*w)+(1-k)/(1+k) ) ./ ...( (1-k)/(1+k)*exp(-j*2*w) - 2*alpha/(1+k)*exp(-j*w) +1 ) ...

);plot(w,theta); hold on;plot(wc(1),thetac,’.’); %遮断周波数plot(wc(2),-thetac,’o’); %遮断周波数

otherwiseerror(’ftype error 2’);

endaxis([-pi pi -pi pi]);xlabel(’\omega’); ylabel(’\theta’);hold off;%周波数変換による所望のフィルタの設計[dnum dden] = freqztrans(num,den,ftype,thetac,wc);dw = w(2)-w(1);Hzd = freqz(dnum,dden,w); %所望のフィルタの周波数特性subplot(2,2,4);plot(w,abs(Hzd)); hold on;

%フィルタタイプごとに遮断周波数をひくswitch ftypecase{’lp’} %低域wc_point = round((pi+wc)/dw)+1;plot(wc,abs(Hzd(wc_point)),’.’); %遮断周波数

case{’hp’} %高域wc_point = round((pi+wc)/dw)+1;plot(wc,abs(Hzd(wc_point)),’.’); %遮断周波数

case{’bp’} %帯域wc_point1 = round((pi+wc(1))/dw)+1;wc_point2 = round((pi+wc(2))/dw)+1;plot(wc(1),abs(Hzd(wc_point1)),’.’); %遮断周波数 1plot(wc(2),abs(Hzd(wc_point2)),’o’); %遮断周波数 2

case{’bs’} %帯域阻止wc_point1 = round((pi+wc(1))/dw)+1;wc_point2 = round((pi+wc(2))/dw)+1;plot(wc(1),abs(Hzd(wc_point1)),’.’); %遮断周波数 1plot(wc(2),abs(Hzd(wc_point2)),’o’); %遮断周波数 2

otherwise disp(’ftype error 3’);

Page 20: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

20 11 IIR フィルタの直接設計 演習問題解答

endaxis([-pi pi 0 1.2]);xlabel(’Frequency \omega [rad]’); ylabel(’|H(e^{j\omega})|’);hold off;� �

0 0.5 1

-2

0

2

¦Hl(e jθ)¦

Frequency

θ [rad]

-2 0 2

-2

0

2

ω

θ

-2 0 20

0.5

1

Frequency ω [rad]¦H(ejω)¦

図 11.8 低域-高域変換

8. (a) 低域-帯域変換

z−1 = − Z−2− 2αkk+1 Z−1+ k−1

k+1k−1k+1 Z−2− 2αk

k+1 Z−1+1において,z = ejθ, Z = ejω とおくと

e−jθ = − e−2jω − 2αkk+1e−jω + k−1

k+1k−1k+1e−2jω − 2αk

k+1e−jω + 1(11.58)

よって

θ = −�

(− e−2jω − 2αk

k+1e−jω + k−1k+1

k−1k+1e−2jω − 2αk

k+1e−jω + 1

)(11.59)

である.上式を図示すると図 11.9 のようになる.

(b) 低域-帯域阻止変換

z−1 =Z−2− 2α

1+k Z−1+ 1−k1+k

1−k1+k Z−2− 2α

1+k Z−1+1において,z = ejθ, Z = ejω とおくと

e−jθ =e−2jω − 2α

1+ke−jω + 1−k1+k

1−k1+k e−2jω − 2α

1+ke−jω + 1(11.60)

よって

θ = −�e−2jω − 2α

1+ke−jω + 1−k1+k

1−k1+k e−2jω − 2α

1+ke−jω + 1(11.61)

である.上式を図示すると図 11.10 のようになる.

Page 21: 11 IIR フィルタの直接設計演習問題解答11 IIR フィルタの直接設計演習問題解答 1. (a) 教科書の式(11.13) から,N =1(奇数)のときqk = tan π/2

21

0 0.5 1

-2

0

2

¦Hl(e jθ)¦

Frequency

θ [rad]

-2 0 2

-2

0

2

ω

θ

-2 0 20

0.5

1

Frequency ω [rad]

¦H(ejω)¦

図 11.9 低域-帯域変換

0 0.5 1

-2

0

2

¦Hl(e jθ)¦

Frequency

θ [rad]

-2 0 2

-2

0

2

ω

θ

-2 0 20

0.5

1

Frequency ω [rad]

¦H(ejω)¦

図 11.10 低域-帯域阻止変換