新規記事投稿 フォロー記事投稿 記事のキャンセル
From: Akitaka HOSOMI <hosomi@ga2.so-net.ne.jp>
Subject: 工業数学は不可解( 承前 )
Date: 1999/06/17 03:26:18
Reference: junge/00277

ちょいと、計算させてみませう。



***********************************************************



[ 1 Hz の sin 波( 512 Hz でサンプリング ) 初期位相 22.5°]



番号   入力データ  出力(実部) 出力(虚部)
----------------------------------------
0000   0.38268343      0.0000     0.0000
0001   0.39399204     97.9670  -236.5132
0002   0.40524131      0.0000     0.0000
0003   0.41642956      0.0000     0.0000
0004   0.42755509      0.0000     0.0000
0005   0.43861624      0.0000     0.0000
0006   0.44961133      0.0000     0.0000
0007   0.46053871      0.0000     0.0000
0008   0.47139674      0.0000     0.0000
0009   0.48218377      0.0000     0.0000
0010   0.49289819      0.0000     0.0000
0011   0.50353838      0.0000     0.0000
0012   0.51410274      0.0000     0.0000
0013   0.52458968      0.0000     0.0000
0014   0.53499762      0.0000     0.0000
0015   0.54532499      0.0000     0.0000
0016   0.55557023      0.0000     0.0000
0017   0.56573181      0.0000     0.0000
0018   0.57580819      0.0000     0.0000
0019   0.58579786      0.0000     0.0000
0020   0.59569930      0.0000     0.0000
0021   0.60551104      0.0000     0.0000
0022   0.61523159      0.0000     0.0000
0023   0.62485949      0.0000     0.0000
0024   0.63439328      0.0000     0.0000
0025   0.64383154      0.0000     0.0000
0026   0.65317284      0.0000     0.0000
0027   0.66241578      0.0000     0.0000
0028   0.67155895      0.0000     0.0000
0029   0.68060100      0.0000     0.0000
0030   0.68954054      0.0000     0.0000
0031   0.69837625      0.0000     0.0000



これ↑は、入力データとして倍精度の浮動小数を用い、FFT 関数の出力
を求めたもの。理屈通りで、キレイです。



***********************************************************



[ 1 Hz の sin 波( 512 Hz でサンプリング ) 初期位相 22.5°]

        * 入力データの分解能 12-bit 相当


番号   入力データ  出力(実部) 出力(虚部)
----------------------------------------
0000   0.38281250      0.0000     0.0000
0001   0.39404297     97.9679  -236.5155
0002   0.40527344      0.0000     0.0000
0003   0.41650391      0.0011    -0.0005
0004   0.42773438      0.0000     0.0000
0005   0.43847656      0.0054     0.0022
0006   0.44970703      0.0000     0.0000
0007   0.46044922      0.0007     0.0018
0008   0.47119141      0.0000     0.0000
0009   0.48242188     -0.0007     0.0017
0010   0.49267578      0.0000     0.0000
0011   0.50341797     -0.0056     0.0023
0012   0.51416016      0.0000     0.0000
0013   0.52441406     -0.0015    -0.0006
0014   0.53515625      0.0000     0.0000
0015   0.54541016     -0.0030    -0.0073
0016   0.55566406      0.0000     0.0000
0017   0.56591797     -0.0015     0.0037
0018   0.57568359      0.0000     0.0000
0019   0.58593750     -0.0022     0.0009
0020   0.59570313      0.0000     0.0000
0021   0.60546875      0.0112     0.0046
0022   0.61523438      0.0000     0.0000
0023   0.62500000     -0.0002    -0.0005
0024   0.63427734      0.0000     0.0000
0025   0.64404297      0.0024    -0.0057
0026   0.65332031      0.0000     0.0000
0027   0.66259766      0.0000     0.0000
0028   0.67138672      0.0000     0.0000
0029   0.68066406      0.0014     0.0006
0030   0.68945313      0.0000     0.0000
0031   0.69824219      0.0011     0.0028



 12-bit 程度の分解能しかない入力データだと、こんな感じのおひげが
出ます。対数スケールなんかで表示すると、結構、目立つわね。



***********************************************************



[ 1 Hz の sin 波( 512 Hz でサンプリング ) 初期位相 22.5°]

        * 入力データの分解能 16-bit 相当


番号   入力データ  出力(実部) 出力(虚部)
----------------------------------------
0000   0.38269043      0.0000     0.0000
0001   0.39398193     97.9671  -236.5134
0002   0.40524292      0.0000     0.0000
0003   0.41644287      0.0000     0.0000
0004   0.42755127      0.0000     0.0000
0005   0.43862915      0.0000     0.0000
0006   0.44961548      0.0000     0.0000
0007   0.46054077      0.0002     0.0004
0008   0.47140503      0.0000     0.0000
0009   0.48217773      0.0000     0.0000
0010   0.49288940      0.0000     0.0000
0011   0.50354004      0.0003    -0.0001
0012   0.51409912      0.0000     0.0000
0013   0.52459717      0.0000     0.0000
0014   0.53500366      0.0000     0.0000
0015   0.54531860      0.0000     0.0001
0016   0.55557251      0.0000     0.0000
0017   0.56573486      0.0001    -0.0001
0018   0.57580566      0.0000     0.0000
0019   0.58578491     -0.0003     0.0001
0020   0.59570313      0.0000     0.0000
0021   0.60549927      0.0000     0.0000
0022   0.61523438      0.0000     0.0000
0023   0.62484741      0.0000    -0.0001
0024   0.63439941      0.0000     0.0000
0025   0.64382935      0.0001    -0.0003
0026   0.65316772      0.0000     0.0000
0027   0.66241455      0.0000     0.0000
0028   0.67156982      0.0000     0.0000
0029   0.68060303     -0.0004    -0.0002
0030   0.68954468      0.0000     0.0000
0031   0.69836426      0.0001     0.0002



 16-bit の分解能でも、まだ、おひげは残る。潔癖症の方は、ご注意。

 PC の拡張スロットで使える市販の A/D コンバータは、これぐらいの
分解能までのものが多いようだ。



***********************************************************



[ 1 Hz の sin 波( 512 Hz でサンプリング ) 初期位相 22.5°]

        * 入力データに窓関数( Hamming 窓 )をかけたもの


番号   入力データ  出力(実部) 出力(虚部)
----------------------------------------
0000   0.03061467    -44.4395     0.0000
0001   0.03153306     52.8428  -127.4331
0002   0.03247567    -22.8774    54.3383
0003   0.03344468      0.0359    -0.0565
0004   0.03444224      0.0149    -0.0175
0005   0.03547048      0.0085    -0.0079
0006   0.03653149      0.0056    -0.0043
0007   0.03762732      0.0040    -0.0025
0008   0.03875998      0.0030    -0.0016
0009   0.03993145      0.0023    -0.0011
0010   0.04114367      0.0019    -0.0008
0011   0.04239851      0.0015    -0.0006
0012   0.04369785      0.0013    -0.0004
0013   0.04504346      0.0011    -0.0003
0014   0.04643713      0.0009    -0.0002
0015   0.04788054      0.0008    -0.0002
0016   0.04937535      0.0007    -0.0001
0017   0.05092318      0.0006    -0.0001
0018   0.05252559      0.0006    -0.0001
0019   0.05418406      0.0005    -0.0001
0020   0.05590004      0.0004    -0.0001
0021   0.05767493      0.0004     0.0000
0022   0.05951006      0.0004     0.0000
0023   0.06140669      0.0003     0.0000
0024   0.06336604      0.0003     0.0000
0025   0.06538927      0.0003     0.0000
0026   0.06747747      0.0003     0.0000
0027   0.06963166      0.0002     0.0000
0028   0.07185280      0.0002     0.0000
0029   0.07414180      0.0002     0.0000
0030   0.07649949      0.0002     0.0000
0031   0.07892663      0.0002     0.0000



入力データに窓関数をかけるという操作は、振幅変調をかけているとみな
せる。そのため、窓関数によるサイドバンド( 側帯波 )が生じる。

この場合は、入力データが 1 Hz であるため、1 - 1 = 0 Hz( DC 成分 )
と 1 + 1 = 2 Hz に、側帯波のピークが確認される。




このように、一口に  FFT 出力と言っても、アプリケーションで実装され
た場合は、様々な制約や構成のもと( ポリシーだね )で提供されている( 
サービスだね )場合があり、自分の行った倍精度の演算結果と出力が異な
っている( これが、自身の宗教に基づく教義 )からと言って、アプリ側の
動作不良( おまえの間違い )であると、決め付けることはできない。

ポリシー( 制限とか政策 )自体は、決して、己の正当性を保証したりはし
ない。そういう事情は、宗教に基づく教義と全く同じだ。そのため、振り
かざして相手に押しつけるものではなく、理解と協力を求めるべき性質も
のである。



以上、工業数学的観点から捉えた 共感力モデル の提唱。