様式9 +-------------------------------------+----------------+----------------------+ | システム名(コード): ALGOPAK87 | | システム報告書概要 | +-------------------------------------+ +----------------------+ | モジュール名(コード): IDFT (A506) | ライブラリ-登録番号: | +-------------------------------------+---------------------------------------+ | 作成者・学生番号: 増沢善子21SS1159 | 文書作成者・学生番号: 増沢善子21SS1159 | +-------------------------------------+---------------------------------------+ | 作成期間: 62/ 1/ ー / / | 文書作成期間: 62/ 2/ ー / / | +-------------------------------------+---------------------------------------+ | 親モジュール: ALGOS | 子モジュール: | +-------------------------------------+---------------------------------------+ | 講義名・課題名: 卒業研究 | 参考文献(著者名、書名、出版社、発行年)| +-------------------------------------+ | | 開発形態: 移植 | SARA BAASE,COMPUTER ALGORITHMS, | +-------------------------------------+ | | 形式: サブルーチン | ADDISON WESLEY,1978. | +-------------------------------------+---------------------------------------+ | 利用対象者: 一般 | 格納メディア形式: フロッピーディスク | +-------------------------------------+---------------------------------------+ | 目的(問題解説、機能解説−制限事項)| 格納メディア番号、ファイル名: | | +---------------------------------------+ | | 記述言語・走行OS: TURBO PASCAL | | 離散的逆フーリエ変換の +---------------------------------------+ | | 走行条件(ハードウェア、ソフトウェア)| | サブルーチンプログラム | PC−9801,MS−DOS | | | | | | | +-------------------------------------+---------------------------------------+ | キーワード(適用分野、手法など) : | 分類コード(CRコードを使用) : | | INVERSE DISCRETE FOURIER TRANSFORM | | +-------------------------------------+---------------------------------------+ | 呼び出し法: IDFT(pREAL,pIMAG,n,VALREAL,VALIMAG) | | | +-----------------------------------------------------------------------------+ | 操作手順(コンプリートプログラム(メインプログラム)の場合:1.システム起動手順、2.データ入出力 | | 手順と形式、3.終了手順) | | (サブルーチンの場合:1.呼び出し形式-引き数の並べ方-、2.親ルーチン、3.子ルー | | チン、4.その他) | | 1。pREAL(入力):離散的逆フーリエ変換を行うベクトルの成分の実部 | | | | pIMAG(入力):離散的逆フーリエ変換を行うベクトルの成分の虚部 | | | | n(入力):ベクトルの成分の個数 (n=2**k,k=0,1,2,・・・) | | | | VALREAL(出力):離散的逆フーリエ変換の結果の実部 | | | | VALIMAG(出力):離散的逆フーリエ変換の結果の虚部 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----------------------------------------------------------------------------+ 注. システム1つにつき1枚作成 必要な場合モジュール1つにつき1枚作成(インターフェース仕様書-様式1-に追加) 様式7 +-------------------------------------+----------------+----------------------+ | システム名: ALGOPAK87 | | 問題解説 | +-------------------------------------+ +----------------------+ | モジュール名: IDFT (A506) | ライブラリ-登録番号: | +-------------------------------------+---------------------------------------+ | 作成者: 高野勇 20SS1326 | 文書作成者: 高野勇 20SS1326 | +-------------------------------------+---------------------------------------+ | 作成期間: 60/12/ ー 60/12/ | 文書作成期間: 60/12/ ー 60/12/ | +-------------------------------------+---------------------------------------+ | | | 複素成分のn次元ベクトルに対して離散的逆フーリエ変換(INVERSE | | | | DISCRETE FOURIER TRANSFORM ; IDFT)を施す。 | | | | n≧1に対して、w(オメガ)を1の原始n乗根と置く。そしてFnを | | | | 0≦ i,j ≦n−1に対しfij=w**(i*j)の要素を持つn×n行列 | | | | とする。このときFnの逆行列Znが存在し、そのij要素Zijは、 | | | | Zij=(1/n)*(w**(-i*j))である。n次元ベクトルP=(P0,P1,・ | | | | ・・,Pn-1)の離散的逆フーリエ変換とは、積ZnPのことである。 | | | | ベクトルZnPのi番目の要素(0≦i≦n)は、 | | | | (1/n)*(P0*(w**(-i*j))+・・・+Pn-1*(w**(-i*j))) | | | | で表すことができる。 | | | | 明らかに、Pを離散的フーリエ変換したものをさらに逆変換すれば | | | | P自身となる。すなわちZnFnP=Pである。 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----------------------------------------------------------------------------+ 様式6 +-------------------------------------+----------------+----------------------+ | システム名: ALGOPAK87 | | アルゴリズム流れ図 | +-------------------------------------+ +----------------------+ | モジュール名: IDFT (A506) | ライブラリ-登録番号: | +-------------------------------------+---------------------------------------+ | 作成者: 高野勇 20SS1326 | 文書作成者: 高野勇 20SS1326 | +-------------------------------------+---------------------------------------+ | 作成期間: 60/12/ ー 60/12/ | 文書作成期間: 60/12/ ー 60/12/ | +-------------------------------------+---------------------------------------+ | | | +-----+ ++-------++ +--------++ +---------+ | | + + !! !! !ARRAY !! ! ! | | -->+ TYPE +---->!! ZISU !!---->![0..99] !!---->! real ! | | ! + + !! !! ! !! ! ! | | ! +-----+ ++-------++ +--------++ +---------+ | | ! | | ++-------++ ! +-----+ +---------+ | | !!MODULE !! ! +parame + ! B:IDFT2 ! | | !! IDFT1 !!--! -->+ ter +---->! ------- ! | | !! !! ! ! + + ! ! | | ++-------++ ! ! +-----+ +---------+ | | ! ! | | ! ++-------++ ! +-----+ +---------+ | | ! !!procedu!! ! + + ! B:IDFT3 ! | | -->!!re IDFT!!--!->+ var +---->! ------- ! | | !! !! ! + + ! ! | | ++-------++ ! +-----+ +---------+ | | ! | | ! +--------++ +---------+ +---------+ | | ! !for a:=0!! !ARG[a]:=(! !OMEGAc:= ! | | -->! to n-1!!---->!2*3.14*a*! -->!cos(ARG[a! | | ^ ! !! !(-1))/n ! !^ !]*b) ! | | ! +--------++ +---------+ !! +---------+ | | ! ! !! ! | | ! +--------++ +---------+ !! +---------+ | | ! !for a:=0!! !VALREAL[a! !! !OMEGAs:= ! | | !-! to n-1 !!---->!]:=0 ! !! !sin(ARG[a! | | ! !! ^ ! ! !! !]*b) ! | | +--------++ ! +---------+ !! +---------+ | | ! ! !! ! | | ! +---------+ !! +---------+ | | ! !VALIMAG[a! !! ! ! | | ! !]:=0 ! !! !VALREAL[a! | | ! ! ! !! !]:= VALRE! | | ! +---------+ !! !AL[a]+pRE! | | ! ! !! !AL[b]*OME! | | ! +--------++ !! !GAc-pIMAG! | | ! !for b:=0!! !! ![b]*OMEGA! | | ! ! to n-1 !!--!! !s ! | | ! ! !! ! ! ! | | ! +--------++ ! +---------+ | | ! ! ! ! | | ! +---------+ ! +---------+ | | ! !VALREAL[a! ! ! ! | | ! !]:=VALREA! !-!VALIMAG[a! | | ! !L[a]/n ! !]:=VALIMA! | | ! +---------+ !G[a]+pREA! | | ! ! !L[b]*OMEG! | | ! +---------+ !As+pIMAG[! | | ! !VALIMAG[a! !b]*OMEGAc! | | !-!]:=VALIMA! ! ! | | !G[a]/n ! ! ! | | +---------+ +---------+ | +-----------------------------------------------------------------------------+ 様式6 +-------------------------------------+----------------+----------------------+ | システム名: ALGOPAK87 | | アルゴリズム流れ図 | +-------------------------------------+ +----------------------+ | モジュール名: IDFT (A506) | ライブラリ-登録番号: | +-------------------------------------+---------------------------------------+ | 作成者: 高野勇 20SS1326 | 文書作成者: 高野勇 20SS1326 | +-------------------------------------+---------------------------------------+ | 作成期間: 60/12/ ー 60/12/ | 文書作成期間: 60/12/ ー 60/12/ | +-------------------------------------+---------------------------------------+ | | | +-------------------------+ +-------+ ++-------++ | | ! B:IDFT2 ! + pREAL, + !! !! | | ! ----------------------- !--!->! pIMAG !---->!! ZISU !! | | ! ! ! + + !! !! | | +-------------------------+ ! +-------+ ++-------++ | | ! | | ! +-------+ +---------+ | | ! + + ! ! | | !->! n !---->! integer ! | | ! + + ! ! | | ! +-------+ +---------+ | | ! | | ! +-------+ ++-------++ | | ! +var + !! !! | | -->!VALREAL, !---->!! ZISU !! | | +VALIMAG + !! !! | | +-------+ ++-------++ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----------------------------------------------------------------------------+ 様式6 +-------------------------------------+----------------+----------------------+ | システム名: ALGOPAK87 | | アルゴリズム流れ図 | +-------------------------------------+ +----------------------+ | モジュール名: IDFT (A506) | ライブラリ-登録番号: | +-------------------------------------+---------------------------------------+ | 作成者: 高野勇 20SS1326 | 文書作成者: 高野勇 20SS1326 | +-------------------------------------+---------------------------------------+ | 作成期間: 60/12/ ー 60/12/ | 文書作成期間: 60/12/ ー 60/12/ | +-------------------------------------+---------------------------------------+ | | | +---------+ +-------+ +---------+ | | ! B:IDFT3 ! + + ! ! | | ! ------- !--!->! a,b !---->! integer ! | | ! ! ! + + ! ! | | +---------+ ! +-------+ +---------+ | | ! | | ! +-------+ ++-------++ | | ! + + !! !! | | !->! ARG !---->!! ZISU !! | | ! + + !! !! | | ! +-------+ ++-------++ | | ! | | ! +-------+ +---------+ | | ! + OMEGAc, + ! ! | | -->! OMEGAs !---->! real ! | | + + ! ! | | +-------+ +---------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----------------------------------------------------------------------------+ 様式9 +-------------------------------------+----------------+----------------------+ | システム名(コード): ALGOPAK87 | | システム報告書概要 | +-------------------------------------+ +----------------------+ | モジュール名(コード): CIDFT (P506) | ライブラリ-登録番号: | +-------------------------------------+---------------------------------------+ | 作成者・学生番号: 増沢善子21SS1159 | 文書作成者・学生番号: 増沢善子21SS1159 | +-------------------------------------+---------------------------------------+ | 作成期間: 62/ 1/ ー / / | 文書作成期間: 62/ 2/ ー / / | +-------------------------------------+---------------------------------------+ | 親モジュール: ALGOPAK   | 子モジュール: IDFT (A506) | +-------------------------------------+---------------------------------------+ | 講義名・課題名: 卒業研究 | 参考文献(著者名、書名、出版社、発行年)| +-------------------------------------+ | | 開発形態: 移植 | SARA BAASE,COMPUTER ALGORITHMS, | +-------------------------------------+ | | 形式: コンプリート | ADDISON WESLEY,1978. | +-------------------------------------+---------------------------------------+ | 利用対象者: 一般 | 格納メディア形式: フロッピーディスク | +-------------------------------------+---------------------------------------+ | 目的(問題解説、機能解説−制限事項)| 格納メディア番号、ファイル名: | | +---------------------------------------+ | | 記述言語・走行OS: TURBO PASCAL | | 離散的逆フーリエ変換の +---------------------------------------+ | | 走行条件(ハードウェア、ソフトウェア)| | サブルーチンプログラム | PC−9801,MS−DOS | | | | | | | +-------------------------------------+---------------------------------------+ | キーワード(適用分野、手法など) : | 分類コード(CRコードを使用) : | | INVERSE DISCRETE FOURIER TRANSFORM | | +-------------------------------------+---------------------------------------+ | 呼び出し法: CIDFT | | データ | +-----------------------------------------------------------------------------+ | 操作手順(コンプリートプログラム(メインプログラム)の場合:1.システム起動手順、2.データ入出力 | | 手順と形式、3.終了手順) | | (サブルーチンの場合:1.呼び出し形式-引き数の並べ方-、2.親ルーチン、3.子ルー | | チン、4.その他) | | 1.>CIDFT.SRC            | | | |                                  | | | | CIDFT <入力ファイル名        | | | | データ | | | | 2.1)入力データ | | | | n:ベクトルの成分の個数(n≦100,n=2**k, k=0,1,2,・・・) | | | | pREAL(k):ベクトルの第k成分の実部 | | | | pIMAG(k):ベクトルの第k成分の虚部 (0≦k≦n−1) | | | | 2)出力データ | | | | n | | | | pREAL(k),pIMAG(k) | | | | 入力したベクトルを離散的逆フーリエ変換して求められたベクトル | | | | ☆テスト例 A>B: | | B>CIDFT