プログラミング演習

目 次

演習の課題は毎週出題されます.各演習は2週間で実施します.それぞれレポートは2週間後に提出です.つまり,毎週課題提出があります.その間に同じ研究室の上回生や同回生と相談してください.グラフなどの作図はgnuplotで行います.

準備

ノートPCを持ってきたらwifi登録しましょう.ここにあるフリーソフトで,プログラミング演習に関係するモノをインストールしてください.レポートはTexで書いて下さい.フォーマットはreport.texにあります.

センサ計測(1)

1週目:ファイルデータの入力と出力

入力データファイル(input.dat)をダウンロードして演習を実施して下さい.基本的な統計処理(平均,標準偏差,中央値)を身につけます.

input.dat

2週目:マイクロフォンセンサーの電圧時系列データを音圧レベルに変換する

入力データファイル(files.zip)をダウンロードして演習を実施して下さい.ここを参考にして,gnuplotでSPL分布を描画してください.

files.zip

ページの先頭へ

PIV計測(1)

1週目:2次元Taylor-Green渦の数値生成

以下の参考文献から2次元場の定常解を導出して下さい.余裕のある人は,ここを参考にして2次元ベクトル場と渦度場を重畳した図を描画してください.
Green, A. E., and G. I. Taylor. "Mechanism of the production of small eddies from larger ones." Proc. Royal Soc. A. Vol. 158. 1937.

2週目:中心差分を用いた渦度場の算出

図書館にある教科書(基礎計算力学 / 谷川義信)を参考にして,境界上(辺,角)の値も2次精度で計算して下さい.余裕のある人は,ここを参考にして2次元ベクトル場と渦度場を重畳した図を描画してください.

ページの先頭へ

PIV計測(2)

1週目:画像の空間フィルタリング処理

まずはセルフポートレイトを撮影して,8ビットグレースケールで保存して下さい.640 pixel×480 pixel程度が結果は分かりやすいです.レポートではこの写真を二値化や尖鋭化して加工して下さい.実際の撮影は実験で身につけますが,これを機会にカメラを初めてもよいかもしれませんね.

2週目:Taylor-Green渦のPIV用粒子画像

以下の参考文献を参考にして粒径分布を持つ粒子画像を作成して下さい.
Box, George EP, and Mervin E. Muller. "A note on the generation of random normal deviates." The annals of mathematical statistics 29 (1958): 610-611.

GNUPLOTをプログラムから呼び出してヒストグラムを描画する方法は,ここに記載しました.

ページの先頭へ

PIV計測(3)

1週目:2次元Taylor-Green渦のPIV計測

中盤の山場です.プログラムを書く前に,図などを書いて計算格子,参照窓,探査窓の位置関係,相関平面がどのように計算されるか理解して下さい.いきなり書くと迷子になります.

2週目:実験で得られた粒子画像のPIV計測

以下の参考文献を参考にして2次元PIVを作成して下さい.
Willert, Christian E., and Morteza Gharib. "Digital particle image velocimetry." Experiments in fluids 10.4 (1991): 181-193.

GNUPLOTで2次元速度場ベクトルを描画する方法は,ここに記載しました.

ページの先頭へ

センサ計測(2)

1週目:マイクロフォン測定データのスペクトル計算

複素Fourier級数展開の記述でたいていのプログラミングの教科書で記載されています.まずは下記の教科書を読んで理解して下さい.処理するデータは,time-sin.datです.左の列から時間,電圧の並びです.

2週目: バンドパスフィルタ

バンドパスフィルタは,noise-signal.datを処理してください.

以下の参考文献を参考にしてFourier変換を理解して下さい.
竹内 淳, 高校数学でわかるフーリエ変換―フーリエ級数からラプラス変換まで (ブルーバックス), 講談社, 2009.
船越 満明, キーポイントフーリエ解析 (理工系数学のキーポイント (9)), 岩波書店, 1997.

GNUPLOTでスペクトルを描画する方法は,ここに記載しました.プログラムから呼び出して出力してみてください.

ページの先頭へ

センサ計測(3)とホログラフィ計測(1)

1週目:1次元高速Fourier変換の実装

以下の参考文献を参考にしてFFTを実装して下さい.本当に計算時間がN^2がNlogNに低減されるのか,データ長を延ばしていきながら確認しましょう.
Cooley, James W., and John W. Tukey. "An algorithm for the machine calculation of complex Fourier series." Mathematics of computation 19.90 (1965): 297-301.

2週目:窓関数によるスペクトル信号の改善

以下の論文を参考に窓関数ごとの周波数分解能とダイナミックレンジのトレードオフについて理解します.
Harris, Fredric J. "On the use of windows for harmonic analysis with the discrete Fourier transform." Proceedings of the IEEE 66.1 (1978): 51-83.

GNUPLOTでスペクトルを描画する方法は,ここに記載しました.

ページの先頭へ

ホログラフィ計測(2)

1週目:2次元高速Fourier変換による2次元スペクトル分布の作成

以下の参考文献を参考にして2DFFTを実装して下さい.スペクトル分布は基準化してlogスケール表記で表示してください.
Lim, Jae S. "Two-dimensional signal and image processing." Englewood Cliffs, NJ, Prentice Hall, (1990): 163-166.

2週目:顔画像の2次元フィルタリング処理

PIV計測(2)で作成したセルフポートレイトをゼロパディングで2の累乗になるようにしてください.あとはハイパス,ローパスフィルターを先週作成したプログラムのスペクトル分布に適用しましょう.フィルターがかかったスペクトル分布と逆変換で得られた画像をそれぞれで作成してください.

ページの先頭へ

ホログラフィ計測(3)

1週目:ホログラフィックパターンの作成

2週目:ホログラフィックパターンの再生

Gabor先生の論文は教養として読んでおきましょう.Kreis先生の教科書は研究テーマがホログラフィになったときは購入しても良い本です.
Gabor, Dennis. "A new microscopic principle." Nature 161.4098 (1948): 777-778.
Kreis, Thomas. Handbook of holographic interferometry: optical and digital methods. John Wiley & Sons, 2006.
ページの先頭へ



© Measurement System Laboratory, Kyoto Institute of Technology.