C++でDFTしましたが,おかしな値になってしまいました

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: C++でDFTしましたが,おかしな値になってしまいました

Re: C++でDFTしましたが,おかしな値になってしまいました

#4

by naonaonara » 4年前

Mathさん,ありがとうございました!

Re: C++でDFTしましたが,おかしな値になってしまいました

#3

by Math » 5年前

フーリエスペクトルは有限の時間窓を基本周期と見なしてフーリエ級数展開した複素フーリエ級数でMPLAB X IDEでは周期を十分大きく出来ないからでしょう。

Re: C++でDFTしましたが,おかしな値になってしまいました

#2

by あたっしゅ » 5年前

https://sanuki-tech.net/pic/development ... lab-x-ide/
2-3 MPLAB X IDE のインストール(Windows 編) PIC マイコンの統合開発環境 - サヌキテックネット(ja)

あぁ、PIC の話ね。Arduino に対抗しようとしてるんだ。

初心者なのに DFT するのか ? 何が専門なんだ ?
フーリエ変換するプログラムは、どっからもってきたの ? まず、コピペ・ミスが考えられます。

「int 型の最大値」とは、例えば 16 bit だと、int 型で表現できるのは、-32767..+32767 です。で、

http://ackynonichijou.com/syskai/%E3%83 ... 9B%B2.html
桁あふれ(オーバーフロー)とは何か?許容範囲の考え方を知る!- システム開発の現場で困ったときの思考法(ja)

という事です。

C++でDFTしましたが,おかしな値になってしまいました

#1

by naonaonara » 5年前

MPLAB X IDEを用いて
加速度をDFTするプログラムを書きました

しかし,フーリエ変換した結果がおかしなことになりました
フーリエスペクトルが周期性をもち,何度も同じ波形が現れます

int型の最大値を超えているという指摘をされました
その指摘の意味すら分かりません・・・

初心者故,説明が足りない部分もありますが
どなたか教えていただけませんでしょうか・・・

ページトップ