Мне нужна помощь в поиске максимальной амплитуды сигнала БПФ.Максимальная амплитуда данных FFT
Скажем, я выполняю БПФ в аудиофайле и получаю столбец с комплексными числами, как я могу извлечь максимальную амплитуду и ее индекс из сигнала БПФ? Я пробовал использовать синтаксис «max», но я получаю сообщение об ошибке: ??? Индексы индексов должны быть либо натуральными целыми числами, либо логическими.
Оценил помощь .. Thanx
Это код, который я использовал
[wave,fs]=wavread('c scale fast.wav'); % read file into memory */
%sound(wave,fs); % see what it sounds like */
t=0:1/fs:(length(wave)-1)/fs; % and get sampling frequency */
figure(90);
subplot(2,1,1)
%plot(t,wave)
plot(t,abs(wave))
title('Wave File')
ylabel('Amplitude')
xlabel('Length (in seconds)')
L = length(wave);
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y = fft(wave,NFFT)/L;
f = fs/2*linspace(0,1,NFFT/2+1);
% Plot single-sided amplitude spectrum.
subplot(2,1,2)
plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')
A = max(Y)
Какое сообщение об ошибке вы получаете? –
это ошибка = «Индексы индексов должны быть либо реальными целыми положительными, либо логическими». – user2482542
Вы можете построить данные wav? –