信号処理 第17回講義内容


授業内容
  • 第2回小テスト
  • 4 相関関数(教科書p.51-) 
    • 4.1 関数の類似性を測る
    • 4.2 相互相関関数
  • 実習14に取り組む
実習内容
実習17【10点】
実習16に対して,Cプログラムによってτの範囲を高次元化(τ=−36〜36)にしたときの相互相関関数値が得られるようにする.
そして,その得られた関数値を縦軸,横軸をτとした折れ線グラフをExcelで作成せよ.また,Cソースプログラムも示しなさい.

注)入力波形の与え方は,以下の相関関数プログラム例のようにmain()内でとりあえず与えて,プログラムが動作するかを確認できれば最低限OKです.ただ,今後の課題でプログラムを再利用しますので,時間があれば,外部からExcelデータで入力波形を与えられるようにしておく方が賢明です.
提出期限
10/21(金)17:00
  • プログラムソースは,e-Learningシステムに提出
  • 得られた相互相関関数のグラフとプログラムリストをA4用紙に印刷し松尾のメールボックスに提出

Excelで求めた相互相関関数のように,間引きの大きい計算では,大まかな相関の変化はつかめるが,詳細な相互相関関数値が読み取れなかった.
しかしながら,正確な相互相関関数値を求めるには,Excelでは,かなりの労力を要する.

そこで,相関関数をCプログラムによって簡単に計算させるCソースプログラム例をe-Learningシステム上に示しておきます.
このプログラムを改良することで,相互相関関数値を瞬時に求めることができます.
なお,求められた相互相関関数値の出力をExcelによって,グラフ表示させる方法については,以下の手順を参考にしてください.
次に,上の処理を体験した後,今度はC言語によって2つの関数f(t)とg(t)の相関係数rを求めるプログラムを作成する.
まず,順番に以下の関数を作成していくことをお勧めする.
  • ノルムを求める関数   double nol(double *data1,int samp)
  • 内積を求める関数    double nai(double *data1,double *data2,int samp)
  • 相関係数を求める関数 double soukan(double *data1,double *data2,int samp)
これらの関数でdouble *dataは,samp次元のサンプリングデータ値です.
関数名は,各自で自由につけてもらってかまわない.
プログラム例を以下に示しておくので参考にしてもらいたい.
ただし,ノルムが0であるときの処理はしていないので気をつけること.

連絡事項
  • シラバスは,毎時間持って来てください.また,自己点検の欄の記入を忘れないように.
  • 受験,就職関係で公欠するときは,メールで事前に松尾まで連絡してください.
  • 第18回(10/17)は,マルチメディア演習室です.


〒639-1080 大和郡山市矢田町22
奈良工業高等専門学校 情報工学科 
教授  松尾 賢一
E-mail:matsuo□info.nara-k.ac.jp
(巡回ロボット対策のため,□を@に変えてください)