前回は( いつ投稿したっけ! )、フーリエ級数やフーリエ係数に付いて基礎的な内容を掻い摘んでお話ししました。
今回は離散フーリエ解析(DFT)をExcelを使って体験出来る様にまとめて見ました。
興味が沸いたら挑戦して見てネ!
♬ DFT解析に挑戦! ピタゴラスイッチ ♬ ん? ♬ 100gに挑戦 ♬ だっけ?
ここで取り上げるDFT解析の流れは、Excelのセルに解析に必要な計算式を入力し、
高調波1次(基本波)~10次までの各波形データとその合成波形データを作成します。
次に作成した合成波形データを基に高調波毎のフーリエ係数を再計算して振幅、位相を求めます。
最後にExcelのデータ分析(フーリエ解析)機能を使いフーリエ係数、振幅、位相を確認します。
DFT解析ではデータ数が多いと計算時間が長くなることや、確認にExcelのデータ分析機能を使うことを考慮して、
測定ポイント数を2⁸ = 256点として計算します。
この測定ポイント数は、例えばタイヤ+ホイールAssyの1回転(360度)分と考えてもよいでしょう。
ではExcel計算の説明に移ります。
初めにフーリエ級数の公式を使い高調波1次~10次までの波形データを作ります。
波形データは高調波毎のフーリエ係数an、bnに適当な数値を設定し計算出来るようにします。
今回は周期成分のみを扱うため直流成分である高調波0次は除きます。
DFT解析用のExcelシート(一部)を参考に添付します。
*表の一部は列、行ともにグループ化後非表示処理をしています。
A列に測定ポイントを設定します。
A4セルに0と入力し、セル右下のポイントをクリック+【Ctrl】キーを押しながらA259セルまで
マウスを走らせると自動で1行毎に1づつ増加した数値で入力されます。
A259セルの数値は255となります。
B列は角度(deg)を設定します。
タイヤ+ホイールAssyが1回転した場合、測定ポイント数は256点なので360÷256を計算して
測定ポイント毎に角度を割り付けます。
B4セルに =$A4*(360/256) と入力すると数値は0と入力されます。
B4セルをクリックしセル右下のポイントをクリックしながらA259セルまでマウスを走らせると自動計算されます。
B259セルの数値は358.5938となります。
C列以降は高調波毎の波形データを計算するセル群となります。
参考に添付したExcelシートでは、高調波1次はC~G列、高調波2次はH~L列・・・
高調波10次はAV~AZ列、最後に合成波形データをBA列を使って計算しています。
高調波1次を例に取り説明します。
C2セルにフーリエ係数の記号a₁、D2セルは係数a₁の数値 10と入力、
E2セルにフーリエ係数の記号b₁、F2セルは係数b₁の数値 -4と入力します。
G2セルは合成値と入力します。
C3セルにcosX、E3セルにsinX、G3にf(X)と入力します。
次に高調波1次(基本波)を計算するための式をセルに入力し計算します。
C4セルに =COS(1*RADIANS($B4)) と入力し、 (注記) 式中の記号 * は掛け算を表します。
C4セルをクリックしセル右下のポイントをクリックしながらC259セルまでマウスを走らせるとcosXが自動計算されます。
E4セルに =SIN(1*RADIANS($B4)) と入力し、
E4セルをクリックしセル右下のポイントをクリックしながらE259セルまでマウスを走らせるとsinXが自動計算されます。
G4セルに =$D$2*$C4+$F$2*$E4と入力し、
G4セルをクリックしセル右下のポイントをクリックしながらG259セルまでマウスを走らせるとf(X)=a₁cosX+b₁sinXが自動計算されます。
高調波2次以降は1次を参考にセルに数値や式を入力して計算します。
高調波2次のフーリエ係数anをI2セルに数値 -2、K2セルに数値 9を入力
高調波3次のフーリエ係数anをN2セルに数値 7、P2セルに数値 -4を入力
高調波4次のフーリエ係数anをS2セルに数値 6、U2セルに数値 2を入力
高調波5次のフーリエ係数anをX2セルに数値 -6、Z2セルに数値 4を入力
高調波6次のフーリエ係数anをAC2セルに数値 5、AE2セルに数値 -3を入力
高調波7次のフーリエ係数anをAH2セルに数値 -4、AJ2セルに数値 4を入力
高調波8次のフーリエ係数anをAM2セルに数値 -1、AO2セルに数値 3を入力
高調波9次のフーリエ係数anをAR2セルに数値 -3、AT2セルに数値 -2を入力
高調波10次のフーリエ係数anをAW2セルに数値 -2、AY2セルに数値 1を入力
高調波2次の波形データ式をH4セルに式 =COS(2*RADIANS($B4))、J4セルに式 =SIN(2*RADIANS($B4))、L4セルに式 =I$2*$H4+K$2*$J4を入力
高調波3次の波形データ式をM4セルに式 =COS(3*RADIANS($B4))、O4セルに式 =SIN(3*RADIANS($B4))、Q4セルに式 =$N$2*$M4+$P$2*$O4を入力
高調波4次の波形データ式をR4セルに式 =COS(4*RADIANS($B4))、T4セルに式 =SIN(4*RADIANS($B4))、V4セルに式 =$S$2*$R4+$U$2*$T4を入力
高調波5次の波形データ式をW4セルに式 =COS(5*RADIANS($B4))、Y4セルに式 =SIN(5*RADIANS($B4))、AA4セルに式 =$X$2*$W4+$Z$2*$Y4を入力
高調波6次の波形データ式をAB4セルに式 =COS(6*RADIANS($B4))、AD4セルに式 =SIN(6*RADIANS($B4))、AF4セルに式 =$AC$2*$AB4+$AE$2*$AD4を入力
高調波7次の波形データ式をAG4セルに式 =COS(7*RADIANS($B4))、AI4セルに式 =SIN(7*RADIANS($B4))、AK4セルに式 =$AH$2*$AG4+$AJ$2*$AI4を入力
高調波8次の波形データ式をAL4セルに式 =COS(8*RADIANS($B4))、AN4セルに式 =SIN(8*RADIANS($B4))、AP4セルに式 =$AM$2*$AL4+$AO$2*$AN4を入力
高調波9次の波形データ式をAQ4セルに式 =COS(9*RADIANS($B4))、AS4セルに式 =SIN(9*RADIANS($B4))、AU4セルに式 =$AR$2*$AQ4+$AT$2*$AS4を入力
高調波10次の波形データ式をAV4セルに式 =COS(10*RADIANS($B4))、AX4セルに式 =SIN(10*RADIANS($B4))、AZ4セルに式 =$AW$2*$AV4+$AY$2*$AX4を入力
最後に合成波形データを計算します。
合成波形データの式をBA4セルに式 =SUM($G4,$L4,$Q4,$V4,$AA4,$AF4,$AK4,$AP4,$AU4,$AZ4)を入力
各列の5行から259行までの計算は高調波1次(基本波)で説明した通りです。
各高調波データ、合成波形データをY軸、角度をX軸に取りグラフ化すると波形が良く判ります。
挑戦して見て下さい。
又、セルの書式設定はお任せしますので見やすく設定して下さい。
高調波1~10次までの合成波形データを参考に下記に示します。
BA4セルの数値から、
10.00000
11.52205
13.30729
15.29613
17.41568
19.58287
21.70826
23.70011
25.46871
26.93054
28.01232
28.65451
28.81419
28.46722
27.60948
26.25716
24.44620
22.23068
19.68046
16.87815
13.91537
10.88880
7.89596
5.03098
2.38068
0.02097
-1.98614
-3.59483
-4.77702
-5.52302
-5.84139
-5.75787
-5.31371
-4.56319
-3.57076
-2.40772
-1.14874
0.13163
1.36231
2.47883
3.42591
4.15961
4.64889
4.87637
4.83865
4.54579
4.02028
3.29556
2.41401
1.42469
0.38090
-0.66233
-1.65072
-2.53300
-3.26306
-3.80159
-4.11749
-4.18884
-4.00341
-3.55884
-2.86236
-1.93029
-0.78712
0.53550
2.00000
3.56423
5.18279
6.80841
8.39319
9.88988
11.25294
12.43954
13.41040
14.13052
14.56986
14.70375
14.51339
13.98610
13.11561
11.90216
10.35257
8.48025
6.30497
3.85271
1.15520
-1.75055
-4.82290
-8.01638
-11.28262
-14.57135
-17.83155
-21.01266
-24.06575
-26.94475
-29.60757
-32.01711
-34.14214
-35.95793
-37.44673
-38.59790
-39.40790
-39.87988
-40.02317
-39.85250
-39.38701
-38.64925
-37.66408
-36.45753
-35.05587
-33.48466
-31.76812
-29.92863
-27.98654
-25.96019
-23.86622
-21.72003
-19.53651
-17.33077
-15.11896
-12.91911
-10.75176
-8.64046
-6.61200
-4.69633
-2.92620
-1.33631
0.03771
1.16079
2.00000
2.52646
2.71721
2.55709
2.04045
1.17265
-0.02890
-1.53411
-3.30016
-5.27202
-7.38361
-9.55955
-11.71752
-13.77104
-15.63266
-17.21738
-18.44620
-19.24955
-19.57047
-19.36745
-18.61663
-17.31341
-15.47318
-13.13126
-10.34201
-7.17701
-3.72252
-0.07624
3.65649
7.36682
10.94677
14.29355
17.31371
19.92682
22.06863
23.69350
24.77591
25.31114
25.31498
24.82250
23.88600
22.57217
20.95871
19.13045
17.17532
15.18017
13.22693
11.38897
9.72812
8.29230
7.11394
6.20924
5.57834
5.20622
5.06441
5.11331
5.30508
5.58672
5.90345
6.20190
6.43320
6.55563
6.53674
6.35488
6.00000
5.47377
4.78896
3.96818
3.04211
2.04723
1.02335
0.01092
-0.95152
-1.82973
-2.59584
-3.22990
-3.72091
-4.06721
-4.27626
-4.36383
-4.35257
-4.27025
-4.14754
-4.01568
-3.90415
-3.83835
-3.83763
-3.91375
-4.06975
-4.29950
-4.58779
-4.91113
-5.23908
-5.53607
-5.76366
-5.88310
-5.85786
-5.65632
-5.25403
-4.63576
-3.79700
-2.74482
-1.49814
-0.08717
1.44769
3.05773
4.68833
6.28173
7.78017
9.12907
10.28018
11.19443
11.84440
12.21619
12.31059
12.14347
11.74540
11.16034
10.44372
9.65968
8.87788
8.16989
7.60538
7.24829
7.15330
7.36254
7.90308
8.78491
BA259セルの数値までです。
本来は実際に測定したデータをノイズ処理や窓関数を与えて測定ポイント間が滑らかに繋がる様に処理をしますが、
その様なデータが無いので疑似的に波形データを作成しました。
これを基にExcelシートが完成したならフーリエ係数を変えたりして見て下さい。
次回はこの合成波形データを使ってフーリエ係数の再確認と振幅、位相を計算します。
式など間違っていたら教えてネ!
♬ じゃあ また! ピタゴラスイッチ ♬
今回は離散フーリエ解析(DFT)をExcelを使って体験出来る様にまとめて見ました。
興味が沸いたら挑戦して見てネ!
♬ DFT解析に挑戦! ピタゴラスイッチ ♬ ん? ♬ 100gに挑戦 ♬ だっけ?
ここで取り上げるDFT解析の流れは、Excelのセルに解析に必要な計算式を入力し、
高調波1次(基本波)~10次までの各波形データとその合成波形データを作成します。
次に作成した合成波形データを基に高調波毎のフーリエ係数を再計算して振幅、位相を求めます。
最後にExcelのデータ分析(フーリエ解析)機能を使いフーリエ係数、振幅、位相を確認します。
DFT解析ではデータ数が多いと計算時間が長くなることや、確認にExcelのデータ分析機能を使うことを考慮して、
測定ポイント数を2⁸ = 256点として計算します。
この測定ポイント数は、例えばタイヤ+ホイールAssyの1回転(360度)分と考えてもよいでしょう。
ではExcel計算の説明に移ります。
初めにフーリエ級数の公式を使い高調波1次~10次までの波形データを作ります。
波形データは高調波毎のフーリエ係数an、bnに適当な数値を設定し計算出来るようにします。
今回は周期成分のみを扱うため直流成分である高調波0次は除きます。
DFT解析用のExcelシート(一部)を参考に添付します。
*表の一部は列、行ともにグループ化後非表示処理をしています。
A列に測定ポイントを設定します。
A4セルに0と入力し、セル右下のポイントをクリック+【Ctrl】キーを押しながらA259セルまで
マウスを走らせると自動で1行毎に1づつ増加した数値で入力されます。
A259セルの数値は255となります。
B列は角度(deg)を設定します。
タイヤ+ホイールAssyが1回転した場合、測定ポイント数は256点なので360÷256を計算して
測定ポイント毎に角度を割り付けます。
B4セルに =$A4*(360/256) と入力すると数値は0と入力されます。
B4セルをクリックしセル右下のポイントをクリックしながらA259セルまでマウスを走らせると自動計算されます。
B259セルの数値は358.5938となります。
C列以降は高調波毎の波形データを計算するセル群となります。
参考に添付したExcelシートでは、高調波1次はC~G列、高調波2次はH~L列・・・
高調波10次はAV~AZ列、最後に合成波形データをBA列を使って計算しています。
高調波1次を例に取り説明します。
C2セルにフーリエ係数の記号a₁、D2セルは係数a₁の数値 10と入力、
E2セルにフーリエ係数の記号b₁、F2セルは係数b₁の数値 -4と入力します。
G2セルは合成値と入力します。
C3セルにcosX、E3セルにsinX、G3にf(X)と入力します。
次に高調波1次(基本波)を計算するための式をセルに入力し計算します。
C4セルに =COS(1*RADIANS($B4)) と入力し、 (注記) 式中の記号 * は掛け算を表します。
C4セルをクリックしセル右下のポイントをクリックしながらC259セルまでマウスを走らせるとcosXが自動計算されます。
E4セルに =SIN(1*RADIANS($B4)) と入力し、
E4セルをクリックしセル右下のポイントをクリックしながらE259セルまでマウスを走らせるとsinXが自動計算されます。
G4セルに =$D$2*$C4+$F$2*$E4と入力し、
G4セルをクリックしセル右下のポイントをクリックしながらG259セルまでマウスを走らせるとf(X)=a₁cosX+b₁sinXが自動計算されます。
高調波2次以降は1次を参考にセルに数値や式を入力して計算します。
高調波2次のフーリエ係数anをI2セルに数値 -2、K2セルに数値 9を入力
高調波3次のフーリエ係数anをN2セルに数値 7、P2セルに数値 -4を入力
高調波4次のフーリエ係数anをS2セルに数値 6、U2セルに数値 2を入力
高調波5次のフーリエ係数anをX2セルに数値 -6、Z2セルに数値 4を入力
高調波6次のフーリエ係数anをAC2セルに数値 5、AE2セルに数値 -3を入力
高調波7次のフーリエ係数anをAH2セルに数値 -4、AJ2セルに数値 4を入力
高調波8次のフーリエ係数anをAM2セルに数値 -1、AO2セルに数値 3を入力
高調波9次のフーリエ係数anをAR2セルに数値 -3、AT2セルに数値 -2を入力
高調波10次のフーリエ係数anをAW2セルに数値 -2、AY2セルに数値 1を入力
高調波2次の波形データ式をH4セルに式 =COS(2*RADIANS($B4))、J4セルに式 =SIN(2*RADIANS($B4))、L4セルに式 =I$2*$H4+K$2*$J4を入力
高調波3次の波形データ式をM4セルに式 =COS(3*RADIANS($B4))、O4セルに式 =SIN(3*RADIANS($B4))、Q4セルに式 =$N$2*$M4+$P$2*$O4を入力
高調波4次の波形データ式をR4セルに式 =COS(4*RADIANS($B4))、T4セルに式 =SIN(4*RADIANS($B4))、V4セルに式 =$S$2*$R4+$U$2*$T4を入力
高調波5次の波形データ式をW4セルに式 =COS(5*RADIANS($B4))、Y4セルに式 =SIN(5*RADIANS($B4))、AA4セルに式 =$X$2*$W4+$Z$2*$Y4を入力
高調波6次の波形データ式をAB4セルに式 =COS(6*RADIANS($B4))、AD4セルに式 =SIN(6*RADIANS($B4))、AF4セルに式 =$AC$2*$AB4+$AE$2*$AD4を入力
高調波7次の波形データ式をAG4セルに式 =COS(7*RADIANS($B4))、AI4セルに式 =SIN(7*RADIANS($B4))、AK4セルに式 =$AH$2*$AG4+$AJ$2*$AI4を入力
高調波8次の波形データ式をAL4セルに式 =COS(8*RADIANS($B4))、AN4セルに式 =SIN(8*RADIANS($B4))、AP4セルに式 =$AM$2*$AL4+$AO$2*$AN4を入力
高調波9次の波形データ式をAQ4セルに式 =COS(9*RADIANS($B4))、AS4セルに式 =SIN(9*RADIANS($B4))、AU4セルに式 =$AR$2*$AQ4+$AT$2*$AS4を入力
高調波10次の波形データ式をAV4セルに式 =COS(10*RADIANS($B4))、AX4セルに式 =SIN(10*RADIANS($B4))、AZ4セルに式 =$AW$2*$AV4+$AY$2*$AX4を入力
最後に合成波形データを計算します。
合成波形データの式をBA4セルに式 =SUM($G4,$L4,$Q4,$V4,$AA4,$AF4,$AK4,$AP4,$AU4,$AZ4)を入力
各列の5行から259行までの計算は高調波1次(基本波)で説明した通りです。
各高調波データ、合成波形データをY軸、角度をX軸に取りグラフ化すると波形が良く判ります。
挑戦して見て下さい。
又、セルの書式設定はお任せしますので見やすく設定して下さい。
高調波1~10次までの合成波形データを参考に下記に示します。
BA4セルの数値から、
10.00000
11.52205
13.30729
15.29613
17.41568
19.58287
21.70826
23.70011
25.46871
26.93054
28.01232
28.65451
28.81419
28.46722
27.60948
26.25716
24.44620
22.23068
19.68046
16.87815
13.91537
10.88880
7.89596
5.03098
2.38068
0.02097
-1.98614
-3.59483
-4.77702
-5.52302
-5.84139
-5.75787
-5.31371
-4.56319
-3.57076
-2.40772
-1.14874
0.13163
1.36231
2.47883
3.42591
4.15961
4.64889
4.87637
4.83865
4.54579
4.02028
3.29556
2.41401
1.42469
0.38090
-0.66233
-1.65072
-2.53300
-3.26306
-3.80159
-4.11749
-4.18884
-4.00341
-3.55884
-2.86236
-1.93029
-0.78712
0.53550
2.00000
3.56423
5.18279
6.80841
8.39319
9.88988
11.25294
12.43954
13.41040
14.13052
14.56986
14.70375
14.51339
13.98610
13.11561
11.90216
10.35257
8.48025
6.30497
3.85271
1.15520
-1.75055
-4.82290
-8.01638
-11.28262
-14.57135
-17.83155
-21.01266
-24.06575
-26.94475
-29.60757
-32.01711
-34.14214
-35.95793
-37.44673
-38.59790
-39.40790
-39.87988
-40.02317
-39.85250
-39.38701
-38.64925
-37.66408
-36.45753
-35.05587
-33.48466
-31.76812
-29.92863
-27.98654
-25.96019
-23.86622
-21.72003
-19.53651
-17.33077
-15.11896
-12.91911
-10.75176
-8.64046
-6.61200
-4.69633
-2.92620
-1.33631
0.03771
1.16079
2.00000
2.52646
2.71721
2.55709
2.04045
1.17265
-0.02890
-1.53411
-3.30016
-5.27202
-7.38361
-9.55955
-11.71752
-13.77104
-15.63266
-17.21738
-18.44620
-19.24955
-19.57047
-19.36745
-18.61663
-17.31341
-15.47318
-13.13126
-10.34201
-7.17701
-3.72252
-0.07624
3.65649
7.36682
10.94677
14.29355
17.31371
19.92682
22.06863
23.69350
24.77591
25.31114
25.31498
24.82250
23.88600
22.57217
20.95871
19.13045
17.17532
15.18017
13.22693
11.38897
9.72812
8.29230
7.11394
6.20924
5.57834
5.20622
5.06441
5.11331
5.30508
5.58672
5.90345
6.20190
6.43320
6.55563
6.53674
6.35488
6.00000
5.47377
4.78896
3.96818
3.04211
2.04723
1.02335
0.01092
-0.95152
-1.82973
-2.59584
-3.22990
-3.72091
-4.06721
-4.27626
-4.36383
-4.35257
-4.27025
-4.14754
-4.01568
-3.90415
-3.83835
-3.83763
-3.91375
-4.06975
-4.29950
-4.58779
-4.91113
-5.23908
-5.53607
-5.76366
-5.88310
-5.85786
-5.65632
-5.25403
-4.63576
-3.79700
-2.74482
-1.49814
-0.08717
1.44769
3.05773
4.68833
6.28173
7.78017
9.12907
10.28018
11.19443
11.84440
12.21619
12.31059
12.14347
11.74540
11.16034
10.44372
9.65968
8.87788
8.16989
7.60538
7.24829
7.15330
7.36254
7.90308
8.78491
BA259セルの数値までです。
本来は実際に測定したデータをノイズ処理や窓関数を与えて測定ポイント間が滑らかに繋がる様に処理をしますが、
その様なデータが無いので疑似的に波形データを作成しました。
これを基にExcelシートが完成したならフーリエ係数を変えたりして見て下さい。
次回はこの合成波形データを使ってフーリエ係数の再確認と振幅、位相を計算します。
式など間違っていたら教えてネ!
♬ じゃあ また! ピタゴラスイッチ ♬
※コメント投稿者のブログIDはブログ作成者のみに通知されます