У меня есть код matlab, который используется для определения локальных максимумов речи. Мне удалось построить оригинальную речь и локальные максимумы на одном графике. Тем не менее, я хочу выполнить линейную интерполяцию, чтобы показать на одном графике огибающую речи, соединив локальные максимумы. Как мне это сделать? вот код:Как интерполировать локальные максимумы, обнаруженные в речи?
a=wavread('F3.wav');
peaks = localMaximum(a,[100]);
figure; plot(a); hold on; plot(peaks,a(peaks),'ro');
localMaximum является функцией от http://www.mathworks.com/matlabcentral/fileexchange/14498-local-maxima---minima
Благодарности
Спасибо @Steffen, ваш ответ очень высоко ценится. Идея интерполяции приходит после прочтения статьи. На самом деле я хочу показать конверт. ваш код работает для моей ситуации. Однако, как я могу отобразить пик? Я добавляю следующую строку, но ошибка показала, что «индекс превышает размер матрицы». Я добавляю этот код «plot (пики, a (пики),« g - »), удерживайте, график (пики, a (пики,« ro »)); – user3471465
Ops sorry, ok @ steffen..I знаю, где код ошибочно добавлен ... Это скобка. Тем не менее, я действительно хочу поблагодарить вас. Боже, благослови вас! – user3471465