ページ 1 / 1
					
				C++でDFTしましたが,おかしな値になってしまいました
				Posted: 2019年5月07日(火) 20:07
				by naonaonara
				MPLAB X IDEを用いて
加速度をDFTするプログラムを書きました
しかし,フーリエ変換した結果がおかしなことになりました
フーリエスペクトルが周期性をもち,何度も同じ波形が現れます
int型の最大値を超えているという指摘をされました
その指摘の意味すら分かりません・・・
初心者故,説明が足りない部分もありますが
どなたか教えていただけませんでしょうか・・・
			 
			
					
				Re: C++でDFTしましたが,おかしな値になってしまいました
				Posted: 2019年5月08日(水) 08:30
				by あたっしゅ
				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)
という事です。
 
			 
			
					
				Re: C++でDFTしましたが,おかしな値になってしまいました
				Posted: 2019年5月12日(日) 21:17
				by Math
				フーリエスペクトルは有限の時間窓を基本周期と見なしてフーリエ級数展開した複素フーリエ級数でMPLAB X IDEでは周期を十分大きく出来ないからでしょう。
			 
			
					
				Re: C++でDFTしましたが,おかしな値になってしまいました
				Posted: 2019年5月22日(水) 09:54
				by naonaonara
				Mathさん,ありがとうございました!