|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgenij Masherov 2:5020/175.2 26 Oct 2002 11:52:25 To : Ruslan Teluk Subject : Re: sound --------------------------------------------------------------------------------
Sat Oct 26 2002 09:52, Ruslan Teluk wrote to Evgenij Masherov:
>> 3. Подсчет переходов через нуль. Весьма грубый, но очень быстрый способ.
>> 4. Гильберт. Hе дешевле Фурье. Можно тонко отслеживать изменение частоты.
>> 5. Авторегрессия. Затем частота определяется через корни полиномов.
3. Есть описание в Бендат и Пирсол. Более точную ссылку дам не ранее
понедельника. Основная идея - то, что для синусоиды число переходов через ноль
вдвое больше частоты. При наличии ВЧ шума может завышать значения частоты, при
наличии HЧ - занижать. Видимо, самый быстрый из алгоритмов определения частоты
в принципе. Вообще же точки перехода через нуль несут удивительно много
информации (скажем, т.н. "клиппирование", т.е. замена положительных значений
сигнала +К, и отрицательных -К, где К - константа, примененное к речи,
сохраняет ее разборчивость!).
4. Преобразование Гильберта - свертка с 1/х - переводит синус в косинус, а
косинус - в минус синус. Рассматривая исходный сигнал, как действительную
часть, а Гильберт от него - как мнимую, получаем "аналитический сигнал", и
переходя к полярному его представлению, получаем модуль - как огибающую
исходного сигнала, а аргумент - как "мгновенную фазу", производная которой
суть "мгновенная частота". Hаиболее быстро отрабатывает изменения частоты.
Если сигнал - не одна синусоида с дрейфующими частотой и амплитудой, а смесь
синусоид - поведение резко усложняется (у меня была идея считать корреляцию
производной от Гильберта с исходным сигналом и по отношению к мощности
исходного сигнала получать среднюю частоту. но она еще не доведена до ума -
предполагается использовать при анализе электроэнцефалограммы, скажем, в
операционной...). Вычисление ПГ может быть в лоб, сверткой ( что дает
КИХ-фильтр), через Фурье (все в той же книге, но эти авторы написали несколько
пособий, так что последнее издание - или до понедельника; ну и Рабинер и Голд,
вестимо...)
5. Строится модель вида
x[t]=a[1]*x[t-1]+a[2]*x[t-2]+...+a[n]*x[t-n]
затем строят алгебраический полином с коэффициентами а, находят его корни,
определяющие наличие в сигнале (затухающих) синусоид, причем аргумент корней
определяет декремент затухания, а модуль - частоту.
Марпл-мл. Цифровой спектральный анализ. И другие. Работает довольно быстро
(хотя расчет корней не вполне приятен...), число коэффициентов должно быть не
менее чем вдвое больше числа синусоид.
Евгений Машеров АКА СанитарЖеня
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/33006e926e43.html, оценка из 5, голосов 10
|