2024年度コンピュータ・サイエンス実習

離散フーリエ解析とデジタル信号処理 (2024年版) 

 

 

MEIJI University Computer Science By Renji Mikami
 
 
Please visit Cypress CUA potal site. You can get much more helpful information.
 
 
Please contact support staffs in Top page. Log in name and password will be given if appropriate.
 
 
9/18/2024
 
 
実習の開始にあたって ガイダンス資料
 
 
学籍番号とチーム組みについて実習初日に解説します
 
     
 
注意:ブラウザに古いキャッシュが残っている場合がありますから、必ずリロードしてください。
 
           
     
YouTube での授業ビデオ配信は、対面授業のため停止中です。(2021年9月~)
   
 
 
2024年B3コース  TOPに戻る
   
 
この実習では、研究や開発分野で広く応用されているフーリエ解析とデジタル信号処理の基礎を学習します。これらは、研究分野でも実社会での開発設計やアルゴリズム開発でも広く使われている、重要で、かつ役にたつものです。またやってみると実に面白く奥の深い分野でもあります。
 
本実習では、数学的基礎の解説からはじめます。ベクトルの直交と積分変換から始まり、実数から複素数領域、連続量から離散化、FFT計算アルゴリズムと進みます。フーリエ解析は時として"単位の鬼門"と呼ばれることもありますが、机上の計算に埋没すると難解にも見えますが、本講座では、数式計算ソフトウェアを駆使して、数式の意味を直観的に理解していきます。得られた知識は、システムに実装して動作させることによって検証され、理解が深まり、身につきます。これらの知識と経験は一生の財産になります。
フィルタ設計では、さらに線形時不変システムも扱います。
これらの広い分野は複数の専門分野に分断され、理学(数学、物理)、工学、コンピュータ科学の専門分野として独立して発展しています。そのため、全体の見通しが難しく、わかりづらくなっています。
 
この実習演習では、数学的基礎の復習から始め、実際のフーリエ解析システムの実装までを行います。各専門分野を横串にして、信号処理山頂のゴールを目指します。難しそうな数式や理論も実装してみることで、よくわかります。みんなで山頂から、理工学とシステムのすばらしい眺望を楽しみましょう。わかってしまえば、応用やアイデアが次々とひらめきます。
2012年から2022年の皆さんの発表課題が、課題発表Wikiサイトにあります。
最終日の自由課題は、この課題発表Wikiサイトに掲示して発表してもらいます
  履修決定後に番号組分: Rnd.1> Rnd.2> Rnd.3   実習は6308教室入口から右のデスクで実施します。ノートPCなどを持参するとWEBページを見ながら効率よく作業できます。    
  秋 A班 001~022 HW >MM > AI

学期:課題発表Wikiサイトの 2024年B3春席(春学期) 2024年B3秋席(秋学期) に従って出席番号から実習番号,チーム組みと席位置を調べてください。 続いて 6308教室B3着席表に従って着席してください。

   
  秋 B班 024~049 AI > HW > MM  

2024年度から新PCを使用します。XMaxima (simple GUI)を選択起動してください。(アイコンが資料とは異なることがあります。)

   
  秋 C班 051~ MM > AI > HW  
担当講師:三上廉司(ミカミ設計コンサルティング)
   

 

 
           
 
成績評価基準と配点 出席(演習状況)60 : レポート40 (欠席は出席点、レポート点双方がゼロになります。)

MikamiNet Wikiへ ジャンプ (VPN接続されていないと表示されません。)

 
    原則として、10〜30分遅刻は遅刻減点、30分以上の遅刻は、欠席扱いとなります。また提出期限を超過したレポートは受領されませんので期限を厳守してください。   課題発表 Wiki サイトへジャンプ  
   

     
   
2024年B3コース  
 
           
   
オンライン用講義ビデオリンク(停止中)
  課題発表Wikiサイト リンク  
   
     
    BYOD(Bring Your Own Device)で自分のPCを持ち込んで実習できます。ソフトウェア(maxima)のインストール方法は、オンライン授業時のページを参照してください。B3_CSA_ol_21  
   
   
   
全4回のレポート課題(対面授業時)
  REPORT_B35.pdf 紙での提出とクラスウェブ-ファイル提出の場合があります  
   
全4回のレポート課題(オンライン時)
  REPORT_B35C.pdf (クラスウェブの場合 ファイルで提出になります  
     
第一日目  
   

講義の流れ(参考) flips2015.pdf  

講義の流れの解説ビデオ(対面授業時停止中) (wsDAVvVsME8)

 

実習解説、全4回のレポート課題、フーリエ変換概要

解説資料 CSA_B3_EX0.pdf (解説資料)

 
   
第1回目に使用する演習資料1-2
 

資料2 CSA_B3_EX2.pdf

 
   

ビデオ 関数とベクトルの直交と積分変換(ZfLbszoIoEg)

  資料1 CSA_B3_EX1.pd OFDM参考論文  
    ビデオ 積分変換から離散フーリエ変換へ (Ew-TbIWA5Fo)      
    ビデオ 級数式と係数式 (NwecPDw)
第二日目 資料3 CSA_B3_EX3.pdf (プリント配布の場合があります)  
   

 

 

4.離散フーリエ変換 講義資料

 
   
第2回目に使用する演習資料3/4
  資料4 CSA_B3_EX4.pdf (プリント配布の場合があります)  
    ビデオ 離散フーリエ変換(pLh38sYPDao)   CSA_B3_Text_4.pdf (参考資料)  
   
第2回目に使用する演習資料5
  5.高速フーリエ変換 CSA_B3_EX5 は、欠番です。  
    ビデオ 高速フーリエ変換(egIjMj-XRwk)   講義資料5 CSA_B3_Text_5.pdf (講義資料)  
   
  6.デジタルフィルタ  
   

第2回目に使用する演習資料6

  資料6 CSA_B3_EX6.pdf (プリント配布の場合があります)  
        演習資料6で使用するアベレージングフィルタのエクセルファイル AF_48_Form.xls  
    ビデオ デジタルフィルタ1 (iN2TCMfpq3c)   講義資料 CSA_B3_Text_6.pdf (参考資料)  
    ビデオ デジタルフィルタ2 (oSZfKHvxCNw)
第三日目 課題実装  
   
第4回目の課題発表サイト
  課題発表用 サイトリンク 自由課題の製作 B3課題作成例 CSA_B3_F1.pdf  
        Wiki 作成時、画像ファイル等がアップロードできない場合wiki_upload.pdf を参照してください  
           
     
第四日目 課題実装と発表  
           
 
PSoC3/5 開発環境インストール
マスタープロジェクトのダウンロード  
        デスクトップ:\psoc_lab5_masterに解凍してください PSoC5_Lab_master2013.lzh  
   

サイプレス社のサイトから、PSoC Creater をダウンロードしてください。(演習で使用する基板には、デフォルトではPSoC5が実装されているので、この場合は、バージョン2.1を使用します。PSoC5には、PSoC5とPSoC5LEがありますので、インストールするソフトウェアのバージョンに注意してください。)サイプレス社のサイトから、PSoC Programmerr をダウンロードしてください。

PSoC Createrは、PSoC3/5を開発できます。PSoC Programmerは、PSoC1/3/5 すべてのPSoCの書き込みができるソフトです。

書き込み器は、MiniProgが、PSoC1 用、MiniProg3が、PSoC1/3/5用です。8CKIT-030/050基板には、書き込み回路が基板上にあるので、MiniProgがなくとも書き込みできます。

 

演習の参考プロジェクトです。

プロジェクトは、できるだけ、C:の直下、のなるべく階層の浅い場所に置いてください。

例:C:\PSoC35_Lab\ というディレクトリを作成し、その下にプロジェクト名をつけたサブ・ディレクトリを作成することをお勧めします。

ディレクトのパスには、日本語文字が入らないようにしてください。プロジェクト名も日本語の使用を避けてください。

 
 
コンパイラとライセンス
コース共通参考資料 (演習使用は、8CKIT-050)  
   

PSoC5とPSoC3は、プロセッサ以外のハードウェアは、ほぼ同じです。プロセッサが異なりますので、コンパイラが異なります。PSoC5は、ARM Cortex-M3 32bit用にGCCを使います。PSoC3は、8051プロセッサ用にKEIL社のCコンパイラを使います。どちらも無償ですが、メイル・アドレスを明記して、有効期間つきのライセンス・コードを取得して、速やかにアクティベーションをしてください。

PSoC3は8bitですが、PSoC5は、32bitになりますので、メモリ・モデルが異なっています。このため、Cベースで設計したPSoC3とPSoC5は、設計プロジェクトレベルでの完全な互換性はありません。これは、DMAを使用した場合の転送元、転送先の指定などで顕著になります。互換性を持たせたコーディングの方法は、DMAの設計資料の中に記載がありますので、互換性を重視する場合は、これ(演習中に解説します)も参照してください。

2012年段階では、PSoC3は、Production版が出荷されています。これに対してPSoC5は、ES1(ES:Engineering Sample)です。エラッタ(演習で解説します)に注意して使用してください。

演習使用の基板等は講座中でも講座前でも終了後でも貸し出しもしますので申し出てください。

 

参考資料 8CKIT-050回路図 8CKIT-030回路図 基板自体の回路図は同じです。搭載しているPSoCデバイスだけが違います。050基板のPSoCチップは、PSoC5が乗っていますが、最新のProduction版はPSoC5LEチップです。交換(=貼り換えはかなり上級の腕が必要とされますが.....)してください。

情報リンク PSoC5/3 のアーキテクチャ、レジスタのTRM(Technical Reference Manual) などをまとめた サイプイレス社のサイトへのリンク (英文 PSoC5 Architecture TRM を参照してください。)

参考資料 : 日本語でスピーディーに PSoC5のアーキテクチャを理解する場合に利用できます。 CY8C53-62940 日本語版デバイス データシート  (CY8C53シリーズ用のものですから、設計の場合は、実際に使用するデバイスのデータシートを使用してください。)

参考資料 :8CKIT-050使用デバイス CY8C5588AXI-060 TQFP100 ES1 CY8C55ファミリのデータシートサイト (英文)

参考資料 :8CKIT-030使用デバイス CY8C3866AXI-040 TQFP100 CY8C38ファミリのデータシートサイト (英文/和文)

参考資料: My First Five PSoC3 Design サイト(英文)

 
    A.計算機システムのボトルネックとDMA      
           
    講義資料 CS_HWA_2017.pdf (DMAの基礎) PSoC35/DMA参考資料(英文)      
           
           
 
デバイス概要、技術導入講義
情報科学、数学物理学関連導入  
    1.PSoC5/3について   1.波、物質とエネルギー、連続と離散  
    講義資料 EM35_1.pdf (PSoC 5/3 概要) 1 講義資料 CSA_B3_Text_1.pdf (Fourier Transform への基礎)  
       
旧版演習資料 2012_B3_EX1.pdf
 
        2.複素関数追補 ネイピア数,ラプラス変換とフーリエ変換の数学  
 
設計演習(デバイス) 1 講義資料 CSA_B3_Text_2.pdf (フーリエ変換のための数学の基礎)  
    3.1.文字の表示と設計の流れの理解  
旧版演習資料 2012_B3_EX2.pdf
 
  1 演習資料 3.1 HELLO_WORLD_35.pdf 参考Char_LCD_68591_00_V.pdf   3.フーリエ級数、フーリエ変換の導出  
      1 講義資料 CSA_B3_Text_3.pdf  
    3.2.ソフトウェアによるI/O制御 (LEDの点滅)  
旧版演習資料 2012_B3_EX3.pdf
 
  1 演習資料 3.2 SW_LED_35.pdf   4.離散フーリエ変換  
      1 講義資料 CSA_B3_Text_4.pdf  (連続関数の離散化)  
   

3.3.PWMの実装(LEDの点滅)

 
旧版演習資料 2012_B3_EX4.pdf
 
    演習資料 3.3 PWM_LED_35.pdf 参考PWM_69317.pdf (PWM_69317は準備中)  

5.高速フーリエ変換

 
  1 演習資料 3.3 PWM_LED_B_35.pdf (こちらは参考例) 2 講義資料 CSA_B3_Text_5.pdf (アルゴリズムによる高速化)  
       
旧版演習資料 2012_B3_EX5.pdf
 
    4.DMAによるメモリデータ転送(サイン波の生成)   6.デジタルフィルタ (Z変換、線形時不変システム)  
  2 演習資料 4.1 DMA_DAC_35.pdf PSoC35/DMA参考資料(英文) 2 講義資料 CSA_B3_Text_6.pdf  
       
アベレージング・フィルタ演習用エクセルフォーム AF_48_Form.xls
 
    5.AD変換(デルタ・シグマADCによるAD変換)  
旧版演習資料 2012_B3_EX6.pdf
 
  2 演習資料 5.1 ADC_35.pdf ADC_DMA_Example.pdf (英文)   A.計算機システムのボトルネックとDMA  
        講義資料 CS_HWA_2017.pdf (DMAの基礎) PSoC35/DMA参考資料(英文)  
  2

6.GPIO(ピン入出力信号の制御)

     
    演習資料 6.1 GPIO_35.pdf  

B.N次化への考察と自由研究 講義資料 CS_HWB_2012.pdf (準備中)

 
        2次画像、N次応用、ウェーブレット変換  
  2 7.シリアル通信 (PSoC Creater のExample Project にあります。)      
    UART_TX_35.pdf UART_RX_35.pdf
計算ツール (Maxima/エクセル/DFT)  
           
  3 8.デジタル フィルタの設計(FIRによるローパス・フィルタ)   計算演習 CS_MATH_EX_1.pdf (準備中) エクセル SIN_5.xlsx  
    LPF_35.pdf Filter_SampleProject.pdf    A.補助講義A CS_APDX_A.pdf (準備中)  
    参考Filter20_70173.pdf (フィルタ・ユーザーモジュール解説日本語版)   B.補助講義B CS_APDX_B.pdf (準備中)  
           
  Compiler_Option (math.h を使うときの設定)
Maxima WEB マニアル   Maxima ダウンロード  
           
           
 
フーリエ変換システムの実装と研究(標準課題)
レポートについて(履修学生の場合のみ)  
    参考資料 AN42877_12.pdf 64ポイントFFTのコード   レポートはクラスウェブの場合はファイル、用紙提出の場合は手書き(鉛筆可)です.(図版,ソース,引用資料リストなど添付資料等は印刷物でもかまいません)使用言語は、日本語または英語とします。  
    F1.全体のアーキテクチャ   レポート用紙右上空白部に、必ずチーム番号を記入してください。  
    F2. AD変換部      
    F3. フィルタ部   CSA_B3_EX0.pdf (プリント必要)  
    F4. DFT計算部    
    F5. FFT処理部   演習の最初に説明した上記資料の9ページから14ページをよく読んでください。  
    F6. 表示とデータ転送   P9 : CSAHW ハード演習 1-4回の内容  
        P10: CSAHW ハード演習 レポート課題
 
 
FFTの参考サイト 京大大浦先生   P11-13: レポートの書き方について1-4  
    20世紀を変えた10のアルゴリズム   P14: 成績評価とレポート採点の基準  
    フーリエ変換を10倍高速化するアルゴリズム      
    SFFT http://groups.csail.mit.edu/netmit/sFFT/      
    OFDM参考資料リンク OFDM_1_2_35.pdf      
 
デジタルフィルタの設計と実装(拡張課題)   第4回のレポート課題  
    デジタルフィルターワークショップ:2012_DFWS1.pdf  

この日レポート課題は、演習課題で発表したテーマをレポートにします。他のチームの講評も含まれますので、他のチームの発表もよく聞いておいてください。

 
 
第4回は、課題演習の発表      
    発表課題は共同研究者とともに完成してください。発表内容はWikiフォーマットで作成してください。      
           
 
     
           
           
           
           
           
           
           
           
           
           
        最終評価 : S A B C F