Presentation is loading. Please wait.

Presentation is loading. Please wait.

第10回 FIR回路とIIR回路.

Similar presentations


Presentation on theme: "第10回 FIR回路とIIR回路."— Presentation transcript:

1 第10回 FIR回路とIIR回路

2 復習 ・インパルス応答 システムにインパルスを加えたときの出力(応答) ・畳み込み
  システムにインパルスを加えたときの出力(応答) ・畳み込み   システムの出力は、インパルス応答h(n)と入力信号x(n) の畳み込みとなる。    y(n)=Σh(k)x(n-k)=h(n)*x(n) インパルスδ(n) インパルス応答h(n) 1 システム n n M k=0

3 畳み込み + 畳み込み y(n)=Σh(k)x(n-k) D D D メモリB 入力データx(k) メモリA インパルス応答h(k)
3 畳み込み y(n)=Σh(k)x(n-k) D D D k=0 メモリB 入力データx(k) h(0) h(1) h(2) h(3) メモリA インパルス応答h(k) n=0 n=1 n=2 h(0) h(1) h(2) h(3) x(0) x(1) x(0) x(2) x(1) x(0) データの流れ × n=0 y(0)=h(0)x(0) n=1 y(1)=h(1)x(0)+h(0)x(1) n=2 y(2)=h(2)x(0)+h(1)x(1)+h(0)x(2) レジスタ

4 FIR回路 ① 有限長インパルス応答(Finite Impulse Response)回路 [FIR回路] インパルス応答が有限である回路
  一般形    y(n)=Σh(k)x(n-k) n=0~Mの間だけ応答がある   n<0 および n>M において、h(n)=0    x(n) D D ・・・ D h(0) h(1) h(2) ・・・ h(M) k=0 y(n)

5 FIR回路の例 + x(n) D D 左図のインパルス応答は y(n)=h(n) y(n) n 差分方程式:
0.5 0.3 0.1 y(n)=h(n) 有限で終わる y(n) n 差分方程式:    y(n)=0.5x(n)+0.3x(n-1)+0.1x(n-2)

6 IIR回路 ② 無限長インパルス応答(Infinite Impulse Response)回路 [IIR回路]
インパルス応答が無限である回路   一般形    y(n)=Σaix(n-i)+Σbjy(n-j) n=∞まで、応答がある x(n) y(n) a0 D a1 b1 i=0 j=1 D a2 b2 : aN bM

7 IIR回路の例 + x(n) y(n) 左図のインパルス応答は D y(n)=h(n) 0.5 D ・・・ n 0.5 差分方程式:
無限に続く ・・・ n 0.5 ・・・ 差分方程式:    y(n)=x(n)+0.5y(n-1)+0.5y(n-2)

8 差分方程式の導出(IIR回路) + + 下図のIIR回路の差分方程式を求める。(2次IIR回路という :遅延器の数が2個で2次)
w(n)=x(n)+b1w(n-1)+b2w(n-2) -① y(n)=a0w(n)+a1w(n-1)+a2w(n-2) -② ①を②のw(n),w(n-1),w(n-2)に代入する。 y(n)= a0{x(n)+b1w(n-1)+b2w(n-2)} +a1{x(n-1)+b1w(n-2)+b2w(n-3)} +a2{x(n-2)+b1w(n-3)+b3w(n-4)} = a0x(n)+a1x(n-1)+a2x(n-2) + b1{a0w(n-1)+a1w(n-2)+a2w(n-3)} + b2{a0w(n-2)+a1w(n-3)+a2w(n-4)} +b1y(n-1)+b2y(n-2) w(n) x(n) y(n) a0 D w(n-1) a1 b1 D =y(n-1) a2 b2 =y(n-2) w(n-2)

9 インパルス応答と周波数特性 FIR回路、IIR回路のインパルス応答が h(0),h(1),h(2),・・・・,h(M)
であるとき、この回路の伝達関数H(jωT)は と与えられ、オイラーの公式を用いて、伝達関数は  H(jωT)=A(ωT)+jB(ωT) の形に整理できるので、この回路の周波数特性は第7回に示したように、   振幅特性    位相特性 となる。 オイラーの公式 |H(jωT)|= A2(ωT)+B2(ωT) ディジタルの場合、 ωT(規格化周波数という) を0~πの範囲で振幅特性、 位相特性のグラフを描く B(ωT) θ=tan-1 A(ωT)

10 演習 + + 1.次の回路の名称を答え、差分方程式、回路のインパルス応答を求めなさい。 (a) (b)
2.上記回路(a)の出力yaを回路(b)の入力xbに加えるとき、回路(b)の出力は  どのような信号となるか調べなさい? xa(n) ya(n) xb(n) yb(n) D D 0.5 -0.5

11 +15点レポート 別配布のIIRフィルタプログラムについて、問を行い提出すること 提出期限 12月13日(金)
提出期限 12月13日(金) 提出形式 A4用紙レポート形式 orメール添付形式 A4用紙の場合  提出場所 研究棟A11階 情報通信工学科事務室       ディジタル信号処理Ⅰ レポート提出箱

12 課題 + + ①添付のサンプルプログラムは2次IIR回路のものである。IIR回路の次数
 が変化してもIIRフィルタ関数を修正しなくてすむようにするには、(a)  の部分をどのように訂正すべきか答えなさい。 ②①で訂正したプログラムを元に係数設定を下図のIIR回路の係数に変更し、  入力信号をx(n)=2*sin(0.2nπ)+2*cos(nπ)とし(n=0~50)、このプログラ ムによる出力信号と入力信号のグラフを示し、比較結果を述べなさい。 ③下図のIIR回路のインパルス応答を求め、このIIR回路の周波数特性を、  規格化周波数ωTを横軸にグラフで示し、この回路の特性を述べなさい。  x(n) y(n) D 1.0 D -1.0

13 IIR回路サンプルプログラム 次項に続く #include <stdio.h> /* 入力信号の取り込み回数ITの設定 */
#include <math.h> #include <stdlib.h> #define N 3 /* フィルタ次数+1 */ void iniv(double a[],int n); void iir(int n,double a[],double b[], double x,double *y,double w[]); main() { int i,j,IT; double a[N],b[N],w[N]; double x,y; /* 配列の初期化 */ iniv(w,N); iniv(a,N); iniv(b,N); /* IIRフィルタの係数設定 */ a[0]=1.0; a[1]=1.0; a[2]=1.0; b[1]=2.0; b[2]=3.0; /* 入力信号の取り込み回数ITの設定 */ IT=10; /* ループ */ for(i=0;i<IT;i++){ /* 入力信号の設定 (このサンプルはインパルス) */ if(i==0) x=1.0; else x=0.0; /* IIR関数へ */ iir(N,a,b,x,&y,w); /* 出力表示 */ printf("out[%4d]=%lf\n",i,y); /* データのシフト */ for(j=N;j>=1;j--){ w[j]=w[j-1]; } 次項に続く

14 続き (a) /* 配列の初期化関数 */ void iniv(double a[],int n) { int i;
for(i=0;i<=n;i++){ a[i]=0.0; } /* IIRフィルタ関数 */ void iir(int n,double a[],double b[],double x, double *y,double w[])  *y=0.0; w[0]=x+b[1]*w[1]+b[2]*w[2]; *y=a[0]*w[0]+a[1]*w[1]+a[2]*w[2]; サンプルプログラムの出力結果 out[0]=1.0 out[1]=3.0 out[2]=10.0 out[3]=29.0 out[4]=88.0 out[5]=263.0 out[6]=790.0 out[7]=2369.0 out[8]=7108.0 out[9]= (a)


Download ppt "第10回 FIR回路とIIR回路."

Similar presentations


Ads by Google