私の最後の質問に関連するいくつかの質問をしたいので、別のスレッドに投稿したくありません。私の質問にはコードが含まれているため、コメントとして投稿することはできません。そのため、古い質問を新しい質問に編集する必要があります。見て、助けてください。ありがとうございました。
私はFFTとDSPを初めて使用しますが、MatlabでのFFTの計算についていくつか質問したいと思います。次のコードはMatlabヘルプからのもので、ノイズを削除しました。
NFFTとは異なる信号Lの長さを選択できますか?
ウィンドウを正しく使用したかどうかわかりません。しかし、ウィンドウを使用すると(次のコードでハニング)、振幅の正確な値を取得できませんか?
LとNFFTが異なる値を取得すると、振幅の値も異なります。入力信号の振幅の正確な値を取得するにはどうすればよいですか?(次のコードでは、既知の信号を使用してコードが正しく機能するかどうかを確認しました。しかし、センサーから信号を取得し、その振幅がわからない場合は、どうすれば確認できますか?)
どうもありがとうございました。ご連絡をお待ちしております:)
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L = 512; % Length of signal
NFFT=1024; % number of fft points
t = (0:L-1)*T; % Time vector
x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); input signal
X = fft(hann(L).*x', NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
plot(f,2*abs(X(1:NFFT/2+1))) % Plot single-sided amplitude spectrum.