私は、Matlab で連続音 (40 Hz) を作成し、ビートで音を変調しようとしています (以下の簡単なコードを参照)。私の問題は、EEG 実験でこの音を刺激として使用したいのですが、ビートと進行中の 40 Hz 周波数が多くの周波数を作成することです。周波数の数を減らすにはどうすればよいですか? また、fft を使用して、この刺激で生成した周波数を確認しました (多すぎます)。単純なビートを作成するより良い方法はありますか? 私はすべて間違っていますか?私はそれが十分に明確だったことを願っています、ありがとう
clear all
Accent = 3; % amplitude for the beat
Freq = 40; % frequency
Dur = 4; % Duration
Samp = 48000; % sampling points
%% signal
Sine = sin((1:Dur*Samp)*2*pi*Freq/Samp);
Beat = repmat([ones(1,Samp/8)*Accent ones(1,Samp/8) ones(1,Samp/8)*Accent ones(1,Samp/8) repmat(ones(1,Samp/8),1,4)],1,Dur);
S = Sine.*Beat;
S = S/max(abs(S));
% plot(S)
% sound(S,Samp)
FT = abs(fft(S));
%% plots
subplot(2,1,1)
plot(S); title(['Signal ' num2str(Freq) ' Hz + Beat'])
subplot(2,1,2)
plot(((0:length(S)-1)/length(S))*Samp,FT);
title('Signal FFT')
xlabel('Frequency')
axis([0 45 0 1])