реклама на сайте
подробности

 
 
> Построить график громкости звука от времени
Xenia
сообщение Mar 13 2013, 23:51
Сообщение #1


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Со цифровой обработкой звука раньше дела не имела, поэтому боюсь изобретать велосипед там, где проблема давно решена. Потому и обращаюсь за советом к тем, кто со звуком раньше работал.

Есть в наличии WAV-файл, содержащий звуковую запись. Сигнал, если его построить на графике, выглядит примерно так:



Т.е. наличествует сигнал веретёнообразнозной формы, от которого мне нужна огибающая (сверху или снизу - без разницы). Под огибающей я имею ввиду линию, проходящую по границе белого и черного (см. рисунок). При этом я отдаю себе отчет в том, что график предварительно придется сжать в горизонтальном направлении на столько, чтобы провалы до нуля в нем исчезли, а линии от соседнх периодов слились вместе (с учетом дискретности построения) - т.е. именно то, что уже произошло на приведенном мною графике.

Самое простое, что приходит в голову - аналогия с детекторным приемником sm.gif - либо обрезать нижнюю часть (один диод), либо получить абсолютную величину (диодный мост). Впрочем, и возведение в квадрат мне тоже годится. Но и после этого фигура по-прежнему черным-черна, поскольку продолжает дрожать между амплитудным значением и нулём.

Пыталась сделать ее выпуклой, пропустив через самодельный фильтр, который каждую "провалившуюся" точку, находящуюся ниже, чем средняя между ее соседями (слева и справа), заменяет на это среднее. Но, к сожалению, такой фильтр не привел к видимому изменению сигнала, хотя я его гоняла 10 раз подряд.

Находить торчащие вверх вершины и строить по ним полином - слишком трудоёмко по вычислениям (в моём WAV-файле около 11 млн. точек).

Чувствую, что решение должно быть какое-то простое, но более ничего приличного придумать не смогла.
Совет годится без объяснения - хотя бы поскажите термины, которые я могла бы поискать в интернете. А так я даже не соображу, как эту задачу назвать можно. Даже тем, как эту тему назвала, недовольна - громкость это все-таки чуть другое, чем то, что я ищу. Мне скорее нужна текущая мощность сигнала (пусть не мгновенная, а хотя бы с минимальным шагом, который бы превышал период звука).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Xenia
сообщение Mar 14 2013, 11:48
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Вы все надо мной пожалуйства не смейтесь sm.gif, но на самом деле мне частоту пульса надо узнать из данных ФКГ (ФоноКардиоГраммы), которая записывается с микрофона:



Прямое FFT этого сигнала дает слишком пеструю картину. Конечно, нужная частота в той куче есть, однако там она отнюдь не самая большая по амплитуде. А если бы я той частоты заранее не знала, то, скорее всего, выбрать нужную из FFT-спектра не смогла.

Вот и решила с горя сперва "почистить" исходные данные, чтобы спектр получился почетче. Линейный фильтр НЧ здесь не помощник, т.к. фильтрация такого рода банально сводится к примитивным операциям над FFT-спектром. А вот пиковый детектор (который мне уже успели посоветовать) - совсем другое дело. Очень возможно, что он окажется полезен.

Проблема здесь в том, что "вигли" в разных сердечных сокращениях по фазе обычно не совпадают. Т.е. огибающая вспроизводится хорошо, но шум внутри нее дергается по разному. Поэтому корреляция таких сигналов (при наложении друг на друга) получается случайной: хорошо совпадут по фазе - получится большой, а не совпадут - получится малой. Грубо говоря, если в первом ударе пульса веретено образует синусоида, а во втором ударе - косинусоида, но корреляция получится нулевой.

А мне хочется где-нибудь привязаться, чтобы эти кадры засинхронизироваться, чтобы их в последствии можно было накладывать друг на друга. А в итоге вытащить идельный/средний/типичный кадр, в котором меньше всего посторонних шумов.
Go to the top of the page
 
+Quote Post
fontp
сообщение Mar 14 2013, 12:05
Сообщение #3


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



QUOTE (Xenia @ Mar 14 2013, 14:48) *
Проблема здесь в том, что "вигли" в разных сердечных сокращениях по фазе обычно не совпадают. Т.е. огибающая вспроизводится хорошо, но шум внутри нее дергается по разному. Поэтому корреляция таких сигналов (при наложении друг на друга) получается случайной: хорошо совпадут по фазе - получится большой, а не совпадут - получится малой. Грубо говоря, если в первом ударе пульса веретено образует синусоида, а во втором ударе - косинусоида, но корреляция получится нулевой.
А мне хочется где-нибудь привязаться, чтобы эти кадры засинхронизироваться, чтобы их в последствии можно было накладывать друг на друга. А в итоге вытащий идельный/средний/типичный кадр, в котором меньше всего посторонних шумов.


Так и сделайте огибающую, а от нее уже Фурье.
Квадратичным детектором - это мгновенная мощность
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Xenia   Построить график громкости звука от времени   Mar 13 2013, 23:51
- - Tanya   Цитата(Xenia @ Mar 14 2013, 03:51) Чувств...   Mar 14 2013, 03:28
- - ViKo   Цитата(Xenia @ Mar 14 2013, 02:51) (в моё...   Mar 14 2013, 04:38
- - MrYuran   В детекторном приемнике ещё емкость стоит Правиль...   Mar 14 2013, 05:25
- - V_G   Ну так в обычном амплитудном детекторе после диода...   Mar 14 2013, 05:25
- - ViKo   Проще - выбрать максимум из стольких точек сигнала...   Mar 14 2013, 05:30
|- - zzzzzzzz   Цитата(ViKo @ Mar 14 2013, 08:30) Проще -...   Mar 14 2013, 07:27
- - AlexandrY   Цитата(Xenia @ Mar 14 2013, 01:51) Пытала...   Mar 14 2013, 08:01
- - ViKo   Разве самая низкая частота в спектре кардиограммы ...   Mar 14 2013, 11:56
|- - Xenia   Цитата(ViKo @ Mar 14 2013, 15:56) Разве с...   Mar 14 2013, 12:08
- - TSerg   Вам верно посоветовали - амплитудная демодуляция (...   Mar 14 2013, 12:20
|- - fontp   QUOTE (TSerg @ Mar 14 2013, 15:20) Вам ве...   Mar 14 2013, 12:38
- - zzzzzzzz   А что это за генерёж такой у вас в сигнале? Правил...   Mar 14 2013, 12:31
- - TSerg   > А что это за генерёж такой у вас в сигнале? ...   Mar 14 2013, 12:37
- - TSerg   >Вычитать сигнал сердца матери лучше Приведенн...   Mar 14 2013, 13:09
- - Alex11   Прислали бы образчик сигнала. Если есть два канала...   Mar 14 2013, 22:33
|- - Xenia   Цитата(Alex11 @ Mar 15 2013, 02:33) Присл...   Mar 14 2013, 23:51
- - ViKo   Усреднять отдельные кадры спектра? Тогда все несин...   Mar 15 2013, 04:22
- - polyakovav   Фонокардиографией вплотную заниматься не приходило...   Mar 15 2013, 11:21
|- - Make_Pic   Цитата(polyakovav @ Mar 15 2013, 15:21) Ф...   Mar 18 2013, 04:21
- - Alex11   Xenia, ловите ответ в личке.   Mar 16 2013, 01:22


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th June 2025 - 23:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.02985 секунд с 7
ELECTRONIX ©2004-2016