第16回 ディジタル信号処理シンポジウム 講演論文集 Proceedmgso王 ● thel66hD五g五talS五gnalProcess五ngSymposⅢ、 平成13年n月7日・8日.g日 於石垣全日空ホテル&リゾート 主催電子情報通信学会ディジタル信号処理研究専門委員会 共催電子'情報通信学会システムと信号処理サブソサイエテイ 回路とシステム研究専門委員会 音声研究専門委員会 通信方式研究専門委員会 画像工学研究専門委員会 日本音響学会 計測自動制御学会 システム制御‘情報学会 信号処理学会 協賛電気学会電子回路技術委員会 IEEEJapanChapterSECAS,COM,SMC各ソサイエテイ 後援石垣市,石垣市観光協会,八重山日報社,石垣毎日新聞, 沖縄県コンベンションビューロ 第16回ディジタル信号処理シンポジウム 平成13年11月7日・8日・9日A6-5 進化論的ディジタルフィルタのハードウェア実現 Hardwarelmplemenも帥ionofEvolutionaryDigitalFilters 対馬尚之阿部正英川又政征 NacyukiTSUSHIMA,MasahideABEandMasayukiKAWAMAIYl 東北大学大学院工学研究科電子工学専攻 DepartmentofElectronicEngineering, GraduateSchoolofEngineering,nhokuUniversity E-mail:tusima◎mkecei、tohoku.ac、jp あらまし 本稿では,進化論的ディジタルフィルタ(evolutionary digitalfilter:EDF)のハードウェア実現を目的として, 主要モジュールである生殖・選択モジュールを提案し, ハードウェアEDFをFPGA上に実装する.ハード ウェアEDFはEDFにおける主要処理であるフィル タリング・適応度計算と生殖・選択の2モジュールで 構成する.生殖・選択モジュールは,無性生殖・選択 及び有性生殖・選択のどちらの処理も行うことができ る下位モジュールを持つ.本稿でターゲットデバイス とした112万ゲートのFPGA上にEDFを実装した 結果,ハードウェアEDFはクロック周波数14.1MHz で動作した.結果として,ハードウェアEDFは適応 フィルタとしてサンプリング周波数141.9Hzで動作可 能である. Abstract Thispaperproposesadesignofreproductionand s e l e c t i o n ( R S ) m o d u l e t h a t i s a m a j n m o d u l e o f t h e e v o l u t i o n a 腫 y d i g i t a l f i l t e r s ( E D F s ) , a n d i m p l e m e n t s theEDFontheFPGA・ThehardwareEDFconsists o f t h e f i l t e r i n g ( f i l t e r i n g a n d f i t n e s s c a 1 c u l a t i o n : F F C ) moduleandtheRSmodule・TheRSmodulehasa EDFは生物の進化を模倣しているため,生物1個体 に対応する内部フィルタを並列に動作させることが容 易である.このため,ハードウェア化によるフィルタ 単位の並列処理によって高速動作が可能となる.以上 のことから,著者らはEDFのハードウェア化を目的 として,ハードウェアEDFのフィルタリング・適応 度計算と生殖・選択モジュールからなる並列構成を提 案し,主要モジュールをFPGA上で実現している{31. 文献{31では,フィルタリング・適応度計算モジュール 全体と,生殖・選択モジュールの一部の下位モジュール のみを実現した.そこで本稿では,生殖・選択モジュー ル全体を完成させる.そして,各モジュールの最適な 並列度を得るために,下位モジュールの並列度を1と してハードウェアEDFを実現し,モジュール間の計 算量を比較する. 本稿では,まず,これまでに提案してきたEDFの構 造と適応アルゴリズムについて概説する.次に,ハー FウェアEDFの構造について述べ,主要モジュール である生殖・選択モジュールを提案する.最後に,ハー ドウェアEDFをFPGA上で実現し,その回路規模と 動作周波数,そして適応フィルタとして動作させた場 合のサンプリング周波数について考察する. 2.進化論的ディジタルフィルタ submodulethatcanperfbrmbothasexualreproduct i o n a n d s e l e c t i o n , a n d s e x u a l r e p r o d u c t i o n a n d s e ‐ lection・FPGAimplement誠ionresultsshowthatthe 2.1EDFの構造 mainEDFmodulecanbeclockedatl41MHzonthe である. l、12MgatesFPGA・Asaresult,itcanoperatewith t h e s a m p l i n g r 帥 e o f 1 4 1 . 9 H z a s a n a d a p t i v e f i l t e r . EDFは内部に同一の構造の可変フィルタ風を複数 個持ち,それぞれにEDFへの入力信号z(片)が分配さ れる.EDFでは,内部フィルタの構造を自由に選択 可能である.本稿では,内部フィルタの構成を直接形 11のIIRフィルタとし,内部フィルタ島の係数ベク トルW,及び遅延素子の出力値である内部状態ベク 1.まえがき 著者らは,これまでに,進化論的計算手法による適 応ディジタルフィルタである進化論的ディジタルフィ ル タ ( e v o l u t i o n a J f y d i g i t a M i l t e r : E D F ) を 提 案 し て い る11,21.EDFは多くの内部フィルタを持ち,これに 図1はEDFの内部構造をブロック図で表したもの トルSを より多点探索を行っているため,LMSアルゴリズム を用いた適応フィルタ(LMS-ADF)よりも,1入力あ たりの乗算回数が多いという問題点がある.しかし, −499− W ‘ ( k ) = { α M ( k ) , α 2 , ‘ ( 胸 ) , … , α 』 v , ‘ ( ん ) , 6 0 , ‘ ( 勝 ) , 6 , , ‘ ( k ) , … , 6 M ‘ ( k ) 1 ( 1 ) s , ( た ) = { s ‘ ( ん − 1 ) , … , s ‘ ( ル ー m a x ( M , Ⅳ ) ) ] ( 2 ) て定まる順位に応じて,無性生殖と有性生殖の2つの 生殖戦略を選択する. ここで,Pは個体群,Ⅳは個体の数を表す.添え字 αとsはそれぞれ無性生殖と有性生殖を,添え字pと cはそれぞれ親と子を表すこととする. 適応度の高いjVbp個体の親凡pは無性生殖を行う. 無性生殖は,親に近い係数ベクトルWac,j,j及び親と 等しい内部状態ベクトルSac,、,jを持つ』V6‘c個体の子 を生成する生殖操作であり,以下の式で実現する. w'αc,j,j=w′αp,j+7..畑,j sac〃=sap,、 図1:EDFの構造 とおく.ここで,Mと〃はフィルタの次数である. 本稿では,上記の係数ベクトルWと内部状態ベクト ルSを用いて,生物個体を I ‘ ( k ) = i w ’ ( k ) , & ( 脆 ) ] ( 3 ) と定義する. 内部フィルタ&の時刻kにおける出力を桃(k)と すると,出力誤差e‘(k)は e’(k)=。(k)一鮎(k) ( 4 ) である.この誤差によって,各内部フィルタの適応度 平均0,分散1の正規乱数である. 無性生殖において,親とその親から生成された子の 中で次世代に生き残る個体は,最も高い適応度を持つ '個体である.jvhp個体の無性生殖の親が存在するた め,全体としてJvbp個体が次世代に生き残る. 一方,適応度の低い肌p個体の親個体群R,pは有性 生殖を行う.有性生殖では,まず親個体群Rpから2 個体ずつ個体を組み合わせて親となる肌p/2組を作 る.そして,それぞれの組が,探索空間において組と なる親の中点を中心に正規分布する係数ベクトルと, 初期化された内部状態ベクトルを持つ子1個体を生成 する.有性生殖は以下の式で実現する. W…=告(W…)+W‘,畑)+…(8) の統計量を用いて求める. 度灸(ん)を 畑 = 俺 細 , }’ ⑥ とする.さらに,EDFでは,係数更新を期間Tb毎に 1回行う. 適応度.fj(k)は,まず,後に述べる個体の生殖方法 を決定するために使用される.さらに,内部個体の中 から最も高い適応度を持つ個体の出力y(k)をEDFの 出力として選択するために使用される. 2.2EDFの適応アルゴリズム EDFの適応アルゴリズムは文献111に示される通り sSc,m=0 とする.また,無性生殖と同様に,sは転写ミスを表 すパラメータであり,”mは平均0,分散1の正規乱 数である.さらに,内部状態ベクトルを0に初期化す るのは,有性生殖による子は親と大きく異なったフィ ルタ係数を有するためである. 有性生殖において次世代に生き残る個体は,親2個 体のうち適応度の高い親1個体と生成された子である. 肌p/2個体の親とjVbp/2個体の子が生き残るので,計 肌p個体が次世代に引き継がれる. 以上より,無性生殖を行うjvbp個体の親それぞれか らjVhc個体の子が生成され,有性生殖を行うjVbp個 体の親から腿p/2個体の子が生成される.これより, EDFにおけるフィルタリング・適応度計算を行う全 個体数Aは以下の式で表される. 止 恥 畷 ( ' + 肌 . ) + : j v b , ついて概説する. 分散1の正規乱数に初期化される.また,内部状態ベ クトルSは0に初期化される. 2.2.2生殖と選択 EDFでは内部フィルタを生物個体に対応させる.そ れぞれの個体が,個体群中において自らの適応度Iこよっ ( 9 ) ここで,k,IE{1,2,…,ⅣSp},m=1,2,…,腿p/2 である.本節では適応アルゴリズムの各段階の動作に 2.2.1初期世代生成 初期世代における個体の係数ベクトルWは平均0, ( 7 ) ここで,j=1,2,…,Mp,j=1,2,…,jVb‘cとする. また,γは転写ミスを表すパラメータであり,恥,jは 虎(&)を決定する.各内部フィルタの適応度九(k)は, 誤差e‘(k)の瞬時値,またはある期間Tbの誤差ej(k) 本稿では,誤差関数として一般的である2乗平均誤 差を使用し,時刻kにおける内部フィルタ風の適応 ( 6 ) ( 1 0 ) 3.ハードウェアEDF 3.1構成 図2はEDFのハードウェア実現における構成を示 している.専用ハードウェアでのEDFの実現では, EDFの機能単位でハードウェアを分割する.このた め,EDFモジュールはフィルタリング・適応度計算 −500− Ai:4=[脇,Si]受信フィルタリング,適応度計算,yj送信 cj:Si,虎受信 Bi:Si,虎送信 Di:生殖,4=[剛,si]送信 ITC RS 時間 図3:ハードウェアEDFのタイミングチャート 共有メモリ y(。 データバス 共有メモリ アドレスバス 制御用バス a d d r . EDFy 。‐の。。●●ロロロローロロ。‐‐。●‐‐。●ローロロロー。。ー。●●ロロ。■ロ SRS 刈一州 ジュール RS S , ’ FC I=[ⅧS] 図2:ハードウエアEDFの構成 プログラムメモリ データメモリ RS|個体メモリ 固定小数点(Q14) 刀 個体メモリ 図4:RSモジュールの構成 16bits ロ田 SFM 己 SRS "=[W;S] 表1:EDFの仕様 小数点表示方式 データビット幅 命令コードビット 命令数 躯 Dg , S 全般 函 制御 IFC 一百 毛一t y l6bits 45個 容易さとEDFで扱うフィルタの係数の範囲を考慮し た結果である. 16bits×256 16bits×128×2個 3.2ハードウェアEDFの適応アルゴリズム 16bits×1024 (FilteringandFitnessCalculation:FFC)モジュール と生殖・選択(ReproductionandSelection:RS)モ ジュールの2つの下位モジュールで構成する. このような構成としたのは,フィルタリング・適応 度計算と生殖・選択処理は独立した処理であるため, 並列処理を行うことで処理を効率化できるからである. また,設計やハードウェア記述の容易さの面からも機 能単位でモジュールが分かれていることが望ましいた 図3にハードウェアEDFのタイミングチャートを 示す.これより,FFCモジュールにおけるフィルタリ ング・適応度計算とRSモジュールにおける生殖・選択 処理が並列化されている事が分かる.しかし,RSモ ジュールでの個体のソートとy(k)の出力に関しては 本稿の構成では処理の並列化は行われていない. オリジナルEDFI11とハードウェアEDFI31とのア ルゴリズム上の相違点は以下の通りである. めである. ・適応度計算の簡単化 共有メモリは,各個体のフィルタ出力y(た)の中から, RSモジュールによって選ばれた最適個体の出力y(k) ・有性生殖手法における交叉を行う親の組み合わ せ方 をEDFの出力として選択するために用いられる.2.1 節で述べたように,適応度の計算は評価期間Zb毎に ・初期個体生成時と生殖時に使用する乱数生成方法 行われる.しかし,最終的に最適な個体を見つけるた めにはTbサンプルの信号をフィルタリングし,適応 度を計算する必要がある.このため,共有メモリには 評価値を計算されるA個体すべてのZbサンプル分の 出力W$)が保存される. 表1にハードウェアEDFの仕様を示す.固定小数 点Q14フォーマットとしたのは,ハードウェア記述の EDFの適応フィルタとしての'性能は,この変更に よって変化しない131. 3.3フィルタリング・適応度計算モジュール FFCモジュールは,RSモジュールから送られた個体 I‘と入力信号z(k),目標信号。(た)を用いてフィルタ −501− mode初期世代フラグ from個体メモリ 01、 |w§s lw RSlIRWl ステートマシン 坐 黒購I 景 鮮#山., 野 酉 m⑥qe S , ’ n ew W RWm e w Rf nn ee w 震S,newllステートマシン g 型 」 ’ 星 l l L 2 l u l R S , o l d R f o l dI 比較器 nmd 無 蜘 1 0 f n m d s e l 署 伽 ! O l l l 個 体 番 号 R ' q p _ 腿 。 + 011 RS R W 生殖 │選択 W;S,炎pqp-"。 W5S to個体メモリ toFFC 図6:SRSモジュールの構成 セッサであり,SFMにアセンブリ言語プログラムを 実行させることでフィルタリングと適応度計算を実現 している.また,SFMはFFCモジュール内部で複数 個並列動作可能な設計となっている. begin {無性生殖・選択} fbrj:=otolVbp−1do begin ifnot初期世代 begin 個体メモリからSRSモジュールへ 3.4生殖・選択モジュール 図4に本稿で提案するRSモジュールのアーキテク チャを示す.RSモジュールは個体の適応度に応じて 無性生殖・有性生殖を行い,FFCモジュールへ個体を 送信する.そして,フィルタリング・適応度計算され 無性生殖の親Iap,歯を移動; end SRSモジュールから個体メモリへ 選択で生き残った1個体を移動; end た個体を受け取り,適応度に応じて選択する.さらに, {有性生殖・選択} 個体の中から最も高い適応度を持つ個体の出力y(k)を fbrm:=OtojVもp/2−1do 共有メモリから出力させる. begin ifnot初期世代 begin 個体メモリからSRSモジュールへ 選択,及び有性生殖・選択を行うSRS(SingleReprG ductionandSelectio、)モジュール,SRSモジュール RSモジュールは下位モジュールとして,無性生殖. の制御と個体のソートを行う制御モジュールから構成 有性生殖親1IWC(、)を移動; されるざ 個体メモリからSRSモジュールへ 有性生殖親21sp,,(、)を移動; 3.4.1制御モジュール end 制御モジュールはFFCモジュールとSRSモジュー SRSモジュールから個体メモリへ 選択で生き残った親を移動; ル間,SRSモジュールと共有メモリ間の通信の制御, そして,個体メモリに保存されている個体のソートを 行う.図5に1世代分の制御モジュールの処理の流れ SRSモジュールから個体メモリへ 新たに生成された子を移動; end を示す. 個体メモリ内の個体のソート; 個体は適応度’の大きさによって,適応度の高い順 最も高い適応度を持った個体のwe)を にソートされる.本稿の実験で用いるパラメータの場 共有メモリから読み出す; end. 図5:制御モジュールの処理(1世代分) リングと適応度計算を行い,出力眺(ん)と適応度九(k) を計算する.FFCモジュールのアーキテクチャについ ては文献[31に示す通りである. 合,ソートの対象になる個体数は64個と比較的少な い.そこで,本稿で個体のソートに用いるアルゴリズ ムは,ハードウェアに特化したものは使用せず;一般 的なバプルソートを用いる.また,処理の高速化のた めに個体のデータ自体は移動させずに,インデックス のみを入れ替えている. 3.4.2SRSモジュールのアーキテクチャ FFCモジュールはデータ入出力バッファ等の他に, SFM(SingleFilterModule)と呼ばれる下位モジュー ルを持つ.FFCモジュールでの演算処理はすべてこの SFMで行われる.SFMはワイヤードロジックのプロ 図6にSRSモジュールのアーキテクチャを示す.SRS モジュールはその下位モジュールとして生殖モジュー ル,選択モジュールを持つ.このため,SRSモジュー ルは生殖と選択を並列に処理することができる.また, −502− begin if初期世代 begin fbrj:=OtoMcdo begin begin if初期世代 begin fbrj:=Oto2do begin 個体I。,jの生成; 個体Iα,jをFFCへ送信; wα,jのみを選択モジュールへ送信; 個体1s,jの生成; 個体1s,jをFFCへ送信; WS,jのみを選択モジュールへ送信; end end endelse endelse begin begin 親’@,0を個体メモリから受信; 親Iα’0をFFCへ送信; wα’0のみを選択モジュールへ送信; 親1s,0,1s,,を個体メモリから受信; 親1s,0をFFCへ送信; ws,oのみを選択モジュールへ送信; 親1s,,をFFCへ送信; ws,,のみを選択モジュールへ送信; 子1s,2の生成; fbrゴ:=1toMcdo begin 子I、,jの生成; 子Iα,jをFFCへ送信; w'。,jのみを選択モジュールへ送信; 子1s,2をFFCへ送信; ws’2のみを選択モジュールへ送信; end end end end. end. 図9:生殖モジュールの有性生殖モード時における生 図7:生殖モジュールの無性生殖モード時における1 殖を行う2個体の親に対する処理 個体の親に対する処理 begin fbrj:=Oto2do begin 生殖モジュールより, begin fbrj=otoMcdo begin 生殖モジュールより, WS,jをR砿newに受信; FFCモジュールより, Wα,jをR砿newに受信; Ss,j,fS,jをRS,newとRf,newに受信; {適応度の高い個体を選択} FFCモジュールより, Sα,j’た,jをRS,newとRf,newに受信; {適応度の高い個体を選択} if((Rf,new<Rノ,old)or(j==0)) begin Rwpld:=Rw1new; RS,old:=RS,new; R f , o l d : = R f , n e w ; if((Rノ,new<Rノ,old)or(j==0)) begin Rwpld:=Rw;new; R s , o l d : = R s , n e w ; R f , o l d : = R f , n e w ; end end end {誤差の小さい親を個体メモリへ保存} 個体メモリへRwpld,Rs,old,Rノ,old 及び個体番号R秘,。p_"・を送信; {子を個体メモリへ保存} end {最も誤差の小さい個体を個体メモリへ保存} 個体メモリへR砿。ld,RS,old,Rf,old 及び個体番号R,,。p_"・を送信; Rw5old:=Rwゥnew; Rs,old:=Rs,new; R f , o l d : = R / , n e w ; end. 図8:選択モジュールの無性生殖モード時における1 個体メモリへRwpld,Rs,old,Rf,old 及び個体番号Rの。p_"・を送信; 個体の親に対する処理 end. SRSモジュールは無性生殖・選択と有性生殖・選択の どちらも処理することができる.これは,無性生殖・ 選択と有‘性生殖・選択の処理において共通する部分が 多く,別々のモジュールを設計するよりも,設計コス トと回路規模が低減できるからである. 図10:選択モジュールの有性生殖モード時における生 殖を行う2個体の親に対する処理 が保存される. なお,最終的に共有メモリから最適個体の出力y(ん) 生殖モジュールと選択モジュールにおいて,親1個 を出力する際のアドレス計算のために,生殖モジュー 体が無性生殖を行い,Mc個体の子を生成し,選択さ ル内の個体番号レジスタRpop_"・には無性生殖・選択 れるまでの処理の流れを図7と図8に示す.また,親 2個体が有性生殖を行い,1個体の子を生成し,選択さ の場合は最も高い適応度を持つ個体の番号,及び有性 生殖・選択の場合は適応度が高い親の番号と子の番号 れるまでの処理の流れを図9と図10に示す.さらに, −503− 表5:実装結果 表2:生殖モジュールにおけるセレクタの制御 EDF FFC RS 14.9 20.1 のクロック数 E-Iツク毎 で示したように,生殖・選択を行うRSモジュールは Tb間隔で係数を更新すればよいのに対し,フィルタリ Fのパ ングと適応度計算を行うFFCモジュールは常にzbサ 32 ンプルのデータをまとめて処理する必要があることか 32 ら,RSモジュールに比べて計算量が多くなるために 生じる.また,本稿の構成においてハードウェアEDF 躯32皿 無性生殖を行う親の毒 無性生殖を行う1個の親 が生成する子の数 有性生殖を行う親の数 フィルタの次数 フィルタの次数 評価期間 竺 雲 坐 │ 雪 雲 三 三 表6:1サンプルの信号の処理に必要な1個体当たり 値 。。 D ︾0010000010雛 TL 全で凡司且14冊LTL11nU “四四四皿皿四四四 グ プ cp M肌ⅣM恥 l V bP −WSWSWSWSWSE 表 モジュール が取り得るサンプリングレートは141.9Hzである. 4.むすび 表4:ハードウェア開発環境 静ス灘総畷 本稿では,ハードウェアEDFの主要モジュールで あるFFCモジュールに加えて,RSモジュールを記述 し,EDFのFPGA上でのハードウェア実現を行った. その結果,本稿におけるターゲットデバイスに対して, ハードウェアEDFはクロック周波数14.1MHz,サ ンプリング周波数141.9Hzで動作可能であることが 分かった.また,回路規模は43.8万ゲートという結 果を得た. 表2に,無性生殖,有性生殖時における生殖モジュー ル内のセレクタ制御の様子を示す.なお,文献{31に 示した適応度計算の簡単化によって,計算される値が 小さい個体ほど,目標値に近い出力を持つ. 本稿ではFFC内部のSFMの並列度及びRS内部の SRSの並列度をそれぞれ1としているため,1世代の 計算は前述の処理を無性生殖の場合はjvbp回,有性生 殖の場合はjvbp/2回繰り返すことで実現される. 今後は,今回提案したハードウェアEDFを0.35メルm CMOSプロセスで実現し,その性能を評価する予定で ある. 参考文献 111M.AbeandM、Kawamata,“Evolutionarydigi‐ taMilteringfbrllRadaptivedigitalfiltersbased onthecloningandmatingreproduction,,,IB 3.5FPGA上での実装結果 ICEnansa妃tionsonFundamenta1sofElectron戸 以上のアーキテクチャに基づいて,EDFをFPGA 上で実現した.実現に用いたEDFのパラメータ設定 値を表3に示す.また,ハードウエア開発環境を表4 に示す. 表5にハードウェアEDFと下位モジュールの動作 周波数,及びゲート数換算の回路規模を示す.なお, これはFFC内にSFMを1並列,RSモジュール内 ics,CommunicationsandComputerSciences,vol・ E81−A,no、3,pp、398-406,Marchl998・ '21M.AbeandM.Kawamata,“DistributedevolutionarydigitaMiltersfbrIIRadaptivedigitaln ters,'’1EICEmransactionsonnmdamentalsof Electronics,CommunicationsandComputerSci戸 ences,vol・E84-A,no、8,pp、1848-1855,August にSRSモジュールを1並列とした場合の結果である. また,表6に1サンプルの信号の処理に必要な1個体 当たりのクロック数を示す.表5と表6の結果より, FFCモジュールとRSモジュールのクロック周波数 2001. I31対馬尚之,福崎真理,阿部正英,川又政征,“ハー には大きな差はないが,処理量の点で大きな差がある ことが分かる.このため,FFCモジュールとRSモ ジュールを同一クロックで駆動した場合,FFCはRS に比べ25倍程遅く,SFMを25並列とした場合に処 理量のバランスが取れる.この処理量の違いは,2.1節 −504− ドウェア実現のための進化論的ディジタルフィル タの並列構成の提案とそのFPGA上での実現,,, 電子情報通信学会技術研究報告,no・CAS2001‐ 43,VLD2001-60,DSP2001-62,pp、103-110,June 2001.
© Copyright 2024 Paperzz