|
Сравнение 2 аудио сигналов |
|
|
|
May 24 2006, 18:58
|
Группа: Новичок
Сообщений: 6
Регистрация: 24-05-06
Из: г.Брянск
Пользователь №: 17 419

|
Народ помогите решить проблему есть 2 аудио сигнала первый чистый ,второй копия первого но с примесью посторонних звуков требуется измерить средний уровень этих самых посторонних звуков за 1-3 секунды Подскажите алгоритм
|
|
|
|
|
May 24 2006, 19:48
|
Группа: Новичок
Сообщений: 6
Регистрация: 24-05-06
Из: г.Брянск
Пользователь №: 17 419

|
Откровенно говоря об этом я недумал - на сон грядущий будет о чём пораскинуть мозгами Спасибо за направление
|
|
|
|
|
May 25 2006, 06:20
|
Группа: Новичок
Сообщений: 6
Регистрация: 24-05-06
Из: г.Брянск
Пользователь №: 17 419

|
Вкратце моя задумка: автоматическая коррекция уровня громкости музыки в салоне автомобиля в зависимости от шума двигателя и подвески (смотря где едешь - грунт или асфальт). Я рассуждаю так : в какой то точке солона установить микрофон и сравнивать уровень сигнала с микрофона и с линейного выхода магнитолы и корректировать последний в зависимости от их разности. Другими словами поддерживать в точке установки микрофона определённый уровень громкости например табличным методом (значение "шума"-A равно значению уровня громкости-В и т д.
Если можно поподробней о вычитании спектров , я пишу на AVR не так давно и с обработкой аналоговых сигналов пока не сталкивался, желательно какой-нибудь пример.
|
|
|
|
|
May 25 2006, 08:08
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(beer_warrior @ May 25 2006, 11:07)  Может в таком случае проще будет аналоговая схема? Все-таки AVR не сигнальник и будет работать на пределе. Для аналога решение будет достаточно тривиальное. Не согласен. Человеку не требуется построить прецизионный или измерительный прибор. Задача проще, всего лишь неким образом изменять громкость автомагнитолки. Для этого не требуется ничего сложного. В данном случае грамотнее всего поступить так: 1) вычислить или взять некоторую граничную частоту на которой возникает шум. т.к. задача вполне конкетная, то этот шум вполне определённый (шум двигателя, колёс и пр.) и достоточно низкочастотный. подозреваю что одного килогерца хватит. 2) выбрать время реакции на изменение шума, допустим секунды 3 3) выбрать размер окна Фурье. (допустим что бы оно помещалось в половину памяти АВРки). 4) дальше просто вычитать отнормированные спектры и принимать решение. только не надо говорить что АВРка не потянет Фурье на 128 выборок несколько раз в три секунды.... человеку надо попроще, и что бы работало, а вы ему аналог, DSPшки...
|
|
|
|
|
May 25 2006, 08:54
|
Группа: Новичок
Сообщений: 6
Регистрация: 24-05-06
Из: г.Брянск
Пользователь №: 17 419

|
Это и способ подучиться и задача одновременно.Меня интересует конкретный пример от чего ,так сказать, танцевать...
|
|
|
|
|
May 25 2006, 17:03
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(Stanislav @ May 25 2006, 18:20)  Простите, но зачем лезть в дебри? Не лучше ли задачу решать прямо, как она поставлена? Вы не хуже меня знаете, что не всегда поставленная в форуме задача соответсвует действительности. вот эта задача, (фактически ПОС): "автоматическая коррекция уровня громкости музыки в салоне автомобиля в зависимости от шума двигателя и подвески (смотря где едешь - грунт или асфальт)."на мой взгляд решается проще и точнее если производить оценку спектров чистого сигнала и сигнала принятого с датчика, накапливать СКО по фиксированному числу "опытов" и в соответсвии со значением СКО производить коррекцию громкости. Если же опираться на мощности сигналов, тогда беседа в автомобиле приведет к росту громкости, что я думаю, наврятли входит в задумку автора.
|
|
|
|
|
May 26 2006, 13:57
|
Группа: Новичок
Сообщений: 6
Регистрация: 24-05-06
Из: г.Брянск
Пользователь №: 17 419

|
Да таких дебатов неожидал -спасибо. Тут родилась ещё одна идея ,если поставить фильтр после микрофона где-то на 500-600 гц(я так думаю весь шум гдето в этом пределе) ,всё что выше откинуть, и просто измерять усреднённый уровень полученого сигнала и на его базе регулировать громкость.
и ещё на тему вышесказанного может кто подскажет каким образом можно "производить оценку спектров чистого сигнала и сигнала принятого с датчика" меня интересует описание метода и очень желательно пример.
|
|
|
|
|
May 26 2006, 14:15
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(SerjP @ May 26 2006, 16:57)  и ещё на тему вышесказанного может кто подскажет каким образом можно "производить оценку спектров чистого сигнала и сигнала принятого с датчика" меня интересует описание метода и очень желательно пример. Ммм попытаюсь объяснить, хотя в этом вопросе я не очень разбираюсь, поэтому если где скажу что-то не так прошу уважаемую публику поправить.. По теории любой периодический сигнал можно представить в виде суммы составляющих - периодических сигналов синусоидальной формы (гармоник) разной частоты. Спектр это и есть своего рода разложение сигнала на составляющие, где по оси X у вас будет частота, а по Y - мощность (амплитуда) составляющей. Таким образом, расчитав спектр сигналов можно сравнивать мощности составляющих в интересующем частотном диапазоне. Но на практике периодические сигналы встечаются редко, поэтому берется некий конечный промежуток времени, оцифровывается сигнал на этом участке времени в конечную выбоку, вся выборка представляется одним периодом сигнала. Далее производится разложение периодического сигнала (период которого - накопленная выборка) на составляющие с помощью преобразования Фурье. см. методы ДПФ и БПФ. Метод ДПФ (Дискретное преобразование Фурье) позволяет расчитывать как составляющие всей выборки так и только часть спектра в выбранном диапазоне частот. Метод БПФ (Быстрое преобразование Фурье) - расчитывает все составляющие выборки и имеет некоторые специальные требования к количеству отсчетов выборки, (кол-во отсчетов должно быть кратно степени двойки). В любом случае в интернете имеется достаточное количество готовых примеров расчета спектра как с помощью ДПФ так и с помощью БПФ. (www.yandex.ru google и т.п.).
|
|
|
|
|
May 26 2006, 18:49
|
Группа: Новичок
Сообщений: 6
Регистрация: 24-05-06
Из: г.Брянск
Пользователь №: 17 419

|
У немцев в машинах действительно есть такой наворот принцип его действия :от спидометра выведен сигнал в магнитоллу -больше скорость больше громкость. У меня другая задача.
|
|
|
|
|
May 30 2006, 07:38
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(BVU @ May 29 2006, 10:18)  Цитата(Petka @ May 26 2006, 12:42)  ... Хм... Видимо Вы плохо представляете что получится если в тупую вычесть один сигнал из другого...
Перед тупым вычитанием сигналы естественно нормируются. А то что я не хочу повторять прописные истины - не значит, что я что-то плохо представляю.  Под "тупым вычитанием" я подразумеваю вычитание нормированных сигналов(одной амплитуды). Даже если вычитать так, то абсолютно ничего путнего не получится. Обьясню: один сигнал(с микрофона) как минимум имеет задержку. Вычитая даже идентичные гармонические сигналы, но смещённые по времени вы можете получить не только подавление, но и усиление! Кроме того, задержка разных частот в сигнале разная, сказывается АЧХ автомобиля, АС и пр. ИМХО ничего хорошего в "тупом" вычитании в ДАННОМ случае не получится
|
|
|
|
|
May 30 2006, 07:52
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(Petka @ May 30 2006, 11:38)  ... Под "тупым вычитанием" я подразумеваю вычитание нормированных сигналов(одной амплитуды). Даже если вычитать так, то абсолютно ничего путнего не получится. Обьясню: один сигнал(с микрофона) как минимум имеет задержку. Вычитая даже идентичные гармонические сигналы, но смещённые по времени вы можете получить не только подавление, но и усиление! Кроме того, задержка разных частот в сигнале разная, сказывается АЧХ автомобиля, АС и пр. ИМХО ничего хорошего в "тупом" вычитании в ДАННОМ случае не получится  А разьве я где-то сказал, что нормирование сигналов определяет только амплитудную составляющую сигнала? Нормирование есть широкое понятие которое Вы так подробно расписали... т.е. какие параметры учитываете такие и нормируете.
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
May 30 2006, 09:46
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(BVU @ May 30 2006, 11:52)  Цитата(Petka @ May 30 2006, 11:38)  ... Под "тупым вычитанием" я подразумеваю вычитание нормированных сигналов(одной амплитуды). Даже если вычитать так, то абсолютно ничего путнего не получится. Обьясню: один сигнал(с микрофона) как минимум имеет задержку. Вычитая даже идентичные гармонические сигналы, но смещённые по времени вы можете получить не только подавление, но и усиление! Кроме того, задержка разных частот в сигнале разная, сказывается АЧХ автомобиля, АС и пр. ИМХО ничего хорошего в "тупом" вычитании в ДАННОМ случае не получится  А разьве я где-то сказал, что нормирование сигналов определяет только амплитудную составляющую сигнала? Нормирование есть широкое понятие которое Вы так подробно расписали... т.е. какие параметры учитываете такие и нормируете.  так-то оно так, но не надо лукавить, говоря что дифференциальный усилитель в данном случае подойдёт.
|
|
|
|
|
May 30 2006, 10:09
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(Petka @ May 30 2006, 13:46)  ... так-то оно так, но не надо лукавить, говоря что дифференциальный усилитель в данном случае подойдёт. Опять Вы меня в чем-то уличить пытаетесь...  По всей видимости я со скрытым контекстом изложил свою идею. Речь шла не о конкретном фифференциальном усилителе, а об операционном усилителе и его дифференциальном входе. При этом используя способность операционника, как - подавление синфазного сигнала (которое работает именно на фифф. входе) выделить существующее рассогласование между двумя (хоть и похожими, но изменненного определенным воздействием/средой одного из сигналов) сигналами. Именно нахождение величины этой разницы и заключалась в вопросе автора данной темы.
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
May 30 2006, 12:17
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(BVU @ May 30 2006, 14:09)  Цитата(Petka @ May 30 2006, 13:46)  ... так-то оно так, но не надо лукавить, говоря что дифференциальный усилитель в данном случае подойдёт.
Опять Вы меня в чем-то уличить пытаетесь...  По всей видимости я со скрытым контекстом изложил свою идею. Речь шла не о конкретном фифференциальном усилителе, а об операционном усилителе и его дифференциальном входе. При этом используя способность операционника, как - подавление синфазного сигнала (которое работает именно на фифф. входе) выделить существующее рассогласование между двумя (хоть и похожими, но изменненного определенным воздействием/средой одного из сигналов) сигналами. Именно нахождение величины этой разницы и заключалась в вопросе автора данной темы. Понял я Вас правильно. В этом то и Ваше заблуждение, что сигналы "синфазны". Сигналы ни в коем случае не синфазны! Поймите это! Скорее всего сигнал, принятый с микрофона будет отличаться не только фазой и амплитудой, но он вдобавок будет ещё продифференциирован и, вероятно не один раз...
|
|
|
|
|
May 30 2006, 13:02
|

Профессионал
    
Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380

|
Поскольку я косвенный инициатор этой ругни - добавалю свои 5 копеек. Можно сколько угодно спорить о теории, но... Имееться практическая задача - отсеять посторонний шум. Идеальное решение имеем на сигнальнике и с этим в соответствующую ветку. Есть два неидеальных решения: Цифровое на AVR возможно но с какими параметрами - кто-н может назвать количество выборок, их частоту и вообще полосу шумового сигнала? А если не хватит пол-мипса и 20 байт памяти? Менять платформу? Аналоговые, проверенные временем, - не очень точные, зато с возможностью накрутить единичный экземпляр на потребные параметры.Так или иначе 30 лет давили шум именно ими и вроде неплохо получалось. И сигнал нормировался  С этим тоже в соответствующую ветку. Здесь на мой взгляд можно обсудить только теоретические аспекты DSP на AVR, ибо гарантировать, что нужное шумоподавление получиться на AVR нельзя.
Сообщение отредактировал beer_warrior - May 30 2006, 13:04
--------------------
Вони шукають те, чого нема, Щоб довести, що його не існує.
|
|
|
|
|
May 30 2006, 13:25
|

Профессионал
    
Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264

|
Цитата(Petka @ May 30 2006, 16:17)  ... Понял я Вас правильно. В этом то и Ваше заблуждение, что сигналы "синфазны". Сигналы ни в коем случае не синфазны! Поймите это! Скорее всего сигнал, принятый с микрофона будет отличаться не только фазой и амплитудой, но он вдобавок будет ещё продифференциирован и, вероятно не один раз... Так я и не говорю, что сигналы - синфазны. Просто на ОУ за счет подавления синфазной составляющей входа, на выходе будет разница входных сигналов, которая и необходима для анализа. Предлагаю дискуссию остановить, т.к. ... говорим об одних и тех же вещах, но почему-то каждый на своем диалекте.
--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
|
|
|
|
|
May 30 2006, 13:31
|
Профессионал
    
Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886

|
Цитата(beer_warrior @ May 30 2006, 17:02)  Поскольку я косвенный инициатор этой ругни - добавалю свои 5 копеек. Можно сколько угодно спорить о теории, но... Имееться практическая задача - отсеять посторонний шум. Идеальное решение имеем на сигнальнике и с этим в соответствующую ветку. Есть два неидеальных решения: Цифровое на AVR возможно но с какими параметрами - кто-н может назвать количество выборок, их частоту и вообще полосу шумового сигнала? А если не хватит пол-мипса и 20 байт памяти? Менять платформу? Аналоговые, проверенные временем, - не очень точные, зато с возможностью накрутить единичный экземпляр на потребные параметры.Так или иначе 30 лет давили шум именно ими и вроде неплохо получалось. И сигнал нормировался  С этим тоже в соответствующую ветку. Здесь на мой взгляд можно обсудить только теоретические аспекты DSP на AVR, ибо гарантировать, что нужное шумоподавление получиться на AVR нельзя. Я уже писал раньше. Зачем Вы предлагаете DSP? Микроскопом гвозди забивать? У автора конкретная задача, и она легко решаема как на DSP так и на AVR.
|
|
|
|
|
May 30 2006, 14:55
|

кекс
     
Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326

|
Цитата(beer_warrior @ May 30 2006, 16:02)  Цифровое на AVR возможно но с какими параметрами - кто-н может назвать количество выборок, их частоту и вообще полосу шумового сигнала? А если не хватит пол-мипса и 20 байт памяти? Менять платформу? ... Здесь на мой взгляд можно обсудить только теоретические аспекты DSP на AVR, ибо гарантировать, что нужное шумоподавление получиться на AVR нельзя. Решал схожую с автором задачу на AVR. только мне надо было разность фаз мерять для гармонических сигналов 30Hz, а не мощность. AVR справляется с расчетом полного спектра с детализацией 1Гц для выборки 16Khz/8 бит/1024 отсчетов (ДПФ) за разумное время - 2-3 секунд. Поскольку для решения задачи автора весь спектр расчитывать не потребуется, то расчет будет вестись на AVR быстрее (около 1 сек). Т.о. можно будет секунд за 4-5 накопить более менее достоверное значение СКО и осуществлять регулировку. Время рекции на шум 4-5 секунд для такой системы будет, на мой взгляд, более чем достаточно. извиняюсь запамятовал.. Выборка была не 8192, а 1024.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|