PICマイコンを用いた能動騒音制御系の製作
- README ... このページのテキスト版
- Makefile ... make 時に参照されるファイル.C ソースファイルのコンパイル方法や,ファイルの依存関係等が記載されている.
- adc.h,adc.c ... A/D 変換ボード,D/A 変換ボード用のデバイスドライバ.
- control.c ... PIC 用 C プログラムのメイン部分.補償器の実体コード ax_0.c, ax_1.c 等が include される.
- freqresp.h,freqresp_module.c,freqresp_app.c .. 周波数応答実験用
- nominal.m
- 目的: ノミナルプラントを求める.
- 入力:
- data/spk1.dat, data/spk2.dat
- n ... ノミナルプラントの次数 (nominal.m 中で定義する)
- 出力: data/nominal.mat
- 使用方法:
>> nominal
- weight.m
- hinf_discrete_zoh.m
- sym_trans.m
- 目的: 補償器の状態空間実現をブロック対角可制御正準形に変換する.
- 入力: data/controller_discrete_zoh.mat
- 出力: data/controller0_mode_r.dat
- 使用方法:
>> sym_trans
- hinf.h,hinf_module.c,hinf_app.c
- gen_binary_code.c
- 目的: ブロック対角可制御正準形で表された補償器の状態空間実現を近似して PIC 用 C コードを生成する
- 入力:
- data/controller0_mode_r.dat
- data/controller_order_discrete_dat
- M ... 補償器の係数を近似する有効桁 (実数の乗算をシフト演算で実現する際のシフトの段数の最大値,プ ログラム中に定義する)
- SPLIT_A ... x[k+1] = A x[k] + y のコード ax_0.c, ax_1.c のうち,ax_0.c が占める割合 (プログラム中に定義する)
- 出力: ax_0.c, ax_1.c, cx_0.c, cx_1.c, dy.c, def.h
- 使用方法:
% make codes
- simu_shift_binary.c
- 目的: PIC 用 C コードのシミュレーションを行う.
- 入力:
- data/result.dat, ax_0.c, ax_1.c, cx_0.c, cx_1.c, dy.c, def.h
- S ... スケーリング (data/S.dat で定義)
- INTERVAL ... 補償器のサンプリング周期 / 0.125msec をプログラム中で指定する.0.75msec の場合は,6 を指定する.
- 出力: simu_shift_binary.dat
- 使用方法:
% make simu
Last-modified: 2008-10-06 (月) 09:19:15