| Цифровые сигнальные процессоры Вопросы, связанные с применением цифровых сигнальных процессоров: программирование, отладочные средства, алгоритмы... |
Зашумить сигнал: правильный алгоритм
13.04.2013, 21:46
|
|
|
Прописка
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Зашумить сигнал: правильный алгоритм
С микрофона оцифровывается звук (ArraySound).
Затем нужно добавить к ниму исскуственно сгенерированный шум (ArrayNoice).
Вопрос: а как правильно "наложить" шум на сигнал???
Поэлеметно сложить? Перемножить? Взять среднее?
|
|
|
|
13.04.2013, 22:25
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
|
Re: Зашумить сигнал: правильный алгоритм
Сообщение от pasipaka
|
|
оцифровывается звук
|
чем? формат? почему стандартными звуковыми редакторами нельзя это сделать?
|
|
|
|
13.04.2013, 22:42
|
|
|
Прописка
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Зашумить сигнал: правильный алгоритм
Сообщение от jump
|
|
чем? формат? почему стандартными звуковыми редакторами нельзя это сделать?
|
Потому как в МК.
Вот интересно как едиторы это делают.
|
|
|
|
13.04.2013, 22:45
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
|
Re: Зашумить сигнал: правильный алгоритм
Сложение 2 сигналов с учетом знака и деление на 2
|
|
|
|
13.04.2013, 23:10
|
|
|
Прописка
Регистрация: 05.01.2013
Сообщений: 195
Сказал спасибо: 11
Сказали Спасибо 24 раз(а) в 21 сообщении(ях)
|
Re: Зашумить сигнал: правильный алгоритм
Сообщение от niXto
|
|
деление на 2
|
Делить на 2 не надо, надо просто просуммировать с необходимым коэффициентом отношения сигнал/шум.
pasipaka, а как(какой) Вы генерируете шум?
|
|
|
|
13.04.2013, 23:22
|
|
|
Прописка
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Зашумить сигнал: правильный алгоритм
Сообщение от electroTrash
|
Делить на 2 не надо, надо просто просуммировать с необходимым коэффициентом отношения сигнал/шум.
pasipaka, а как(какой) Вы генерируете шум?
|
Шум - еще отдельный вопрос станет. Пока рандом в каждый э-т массива.
Кста, а как спектр такого чуда выглядит?
Думаю, если сумма коеф. сигнла и шум будет 1, то можно и не делить.
Если же каждое отдельно на свой К множить, то тогда брать среднее арифм.
Последний раз редактировалось pasipaka; 13.04.2013 в 23:33.
|
|
|
|
14.04.2013, 01:35
|
|
|
Прописка
Регистрация: 05.01.2013
Сообщений: 195
Сказал спасибо: 11
Сказали Спасибо 24 раз(а) в 21 сообщении(ях)
|
Re: Зашумить сигнал: правильный алгоритм
Сообщение от pasipaka
|
|
а как спектр такого чуда выглядит?
|
предварительный (грубый) расчет спектра:
нижняя граница спектра: Fдиск/(количество бит рандомной переменной), где Fдиск- частота дискретизации;
верхняя граница: Fдиск - частота дискретизации (конечно, более высокие частоты тоже будут, но после этой частоты будет наблюдаться резкий спад);
Цвет шума: больше походит на синий, с обрезанием как по верхним частотам, так и по нижним;
Для точного вычисления спектра такого шума необходимо применить более сложную математику.
Сообщение от pasipaka
|
|
Думаю, если сумма коеф. сигнла и шум будет 1, то можно и не делить
|
Как раз в таком случае делить надо на 2, что можно получить простым сдвигом.
PS. Если не секрет, то что Вы собственно хотите получить(сделать)?
|
|
|
|
14.04.2013, 03:27
|
|
|
Прописка
Регистрация: 05.01.2013
Сообщений: 195
Сказал спасибо: 11
Сказали Спасибо 24 раз(а) в 21 сообщении(ях)
|
Re: Зашумить сигнал: правильный алгоритм
Вот что написано в Википедии по поводу белого шума:
|
Цитата:
|
|
К примеру, двоичный сигнал, который может принимать только значения, равные нулю или единице, будет являться белым шумом только если последовательность нулей и единиц будет некоррелирована. Сигналы, имеющие непрерывное распределение (к примеру, нормальное распределение), также могут быть белым шумом.
|
, что как-то не совпадает с моими расчетами, по моему это абсолютно ошибочное мнение. Даже при полной некоррелированности последовательности нулей и единиц, при конечной дискретизации (а другого и не дано), высокочастотная часть будет преобладать над низкочастотной.
|
|
|
|
14.04.2013, 15:25
|
|
|
Прописка
Регистрация: 21.03.2011
Сообщений: 107
Сказал спасибо: 15
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Re: Зашумить сигнал: правильный алгоритм
Буду бороться с шумами, а пока дабы не создавать шума  буду его емулировать 
Да и нужно понять до какого уровня сигнал/шум стоит играться.
Частота дискретизации будет в диапазоне 30-50кГц.
То что по товей цитате в вики - не совсем для нас. Ибо там они массив битов имеют ввиду, имхо...
Я думаю чем выше разрядность переменной, тем неразрывнее спектр (сплошнее).
Кажется мне, что разрядность не очень сильно на нижнюю границу влияет.
С матлабом/кадом даавно не работал. Потому нужно будет сгенерить что-то такое, записать в .WAV и посмотреть в аудиордакторе или БПФ наваять.
З.Ы.
А мож погуглить
Гуглил - будет белым.
Последний раз редактировалось pasipaka; 14.04.2013 в 16:51.
|
|
|
|
16.04.2013, 19:42
|
|
|
Прописка
Регистрация: 05.01.2013
Сообщений: 195
Сказал спасибо: 11
Сказали Спасибо 24 раз(а) в 21 сообщении(ях)
|
Re: Зашумить сигнал: правильный алгоритм
Сообщение от pasipaka
|
|
Гуглил - будет белым
|
При конечной дискретизации белым не будет, привел бы выкладки, да думаю, что не в коня будет корм, кроме того, абсолютно белого шума не может быть в принципе, ввиду бесконечности энергии такого шума.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 00:46.
|
|