フーリエ解析を使用した周波数解析について

フーリエ解析について質問です。
現在、0.5Hz 1Hz 2Hzのsin波に対して周波数解析を行っています。
結果、0.5Hz 1Hzにピークが出現し、2Hzにはピークが出現しません。 コードのどこか不足している部分があると考えましたが、原因がわからなく質問いたしました。
下記にコードを記載したのですが、修正必要な個所はありますでしょうか?
ご教示いただけると幸いです。 よろしくお願いいたします。
fs = 1000;% sample frequency(Hz)
model_timestep1 = (0:1/fs:10);
model_timestep2 = (10:1/fs:30);
model_timestep3 = (30:1/fs:40);
sinwave1 = sin(1*pi*0.5*model_timestep1);
sinwave2 = sin(1*pi*1*model_timestep2);
sinwave3 = sin(1*pi*2*model_timestep3);
S1 = horzcat(sinwave1(1:fs*10), sinwave2(1:fs*20), sinwave3(1:fs*10));
L = length(S1); % Window length
T = 1/fs; % sec sample
t = (0:L-1)*T;
Y = fft(S1);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f1 = fs*(0:(L/2))/L;
subplot(2,1,1);
plot(S1);
axis([0 inf -inf inf]);
subplot(2,1,2);
plot(f1,P1)
ylabel('FFT');
axis([0 5 0 inf]);

 Respuesta aceptada

Jiro Doke
Jiro Doke el 25 de Jul. de 2017
Editada: Jiro Doke el 25 de Jul. de 2017

2 votos

正弦波は sin(2*pi*f*t) なので定義は以下のようになるのではないでしょうか。
sinwave1 = sin(2*pi*0.5*model_timestep1);
sinwave2 = sin(2*pi*1*model_timestep2);
sinwave3 = sin(2*pi*2*model_timestep3);
するとこんな感じになります。

3 comentarios

Ryosuke Takahashi
Ryosuke Takahashi el 25 de Jul. de 2017
sin波の作成で間違っていましたことに気づかずに申し訳ございません。 お手数をおかけしました。
ちなみにですが、1Hzのパワーが高くなるのは0.5Hzの倍の周期に相当するからでしょうか?
Naoya
Naoya el 25 de Jul. de 2017
1Hz の 信号が 0.5Hz, 2Hz の信号に比べ持続時間が2倍になっているからとなります。
0.5Hz : 10 sec
1 Hz : 20 sec
2 Hz : 10 sec
例えば、1Hz の信号の持続時間を 10sec に変更頂けますと、同じレベルのパワーを確認できます。
Ryosuke Takahashi
Ryosuke Takahashi el 25 de Jul. de 2017
回答ありがとうございました。
とても理解できました。 またよろしくお願いいたします。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre グラフィックス パフォーマンス en Centro de ayuda y File Exchange.

Preguntada:

el 25 de Jul. de 2017

Comentada:

el 25 de Jul. de 2017

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!