jsn: (Default)
[personal profile] jsn
Массовая жалоба среди футбольных болельщиков, смотрящих чемпионат -- вувузелы. А кто разбирается в сигналпроцессинге, правильно ли я понимаю, что фильтр для этого дела строится достаточно легко? Что-нибудь типа FFT для выделения частот, которые присутствуют продолжительное время во входном сигнале с постоянной амплитудой, плюс по результатам динамически подстраивать набор notch-фильров. (Чисто академическое любопытство у меня).

Date: 2010-06-15 10:18 am (UTC)
From: [identity profile] jsn.livejournal.com
Интересно. А как постоянно присутствующие выделять? У меня первое движение было бы считать для каждого элемента спектра сигму и мю за какой-то длинный период, но там же должны быть способы сильно проще.

Date: 2010-06-15 03:15 pm (UTC)
From: [identity profile] gone-one.livejournal.com
Да, было бы красиво иметь историю каждой ячейки спектра за несколько секунд-минут, но хранить и обсчитывать такое было бы слишком дорого. Я использовал пару буферов для рекурсивного сглаживания (точнее, экспоненциального сглаживания (http://en.wikipedia.org/wiki/Exponential_smoothing), как правильно называть) - т.е. история каждой ячейки спектра сглаживалась с разными коэффициентами, потом эти несколько величин сопоставлялись, в итоге получался некий разумный усредненный минимум. Выходило весьма резво, на порядок быстрее realtime на ПК, причем позже я этот алгоритм адаптировал для совсем простенькой железки - и говорят, работало.

Могу поискать формулу или код, если интересно ;)

Date: 2010-06-15 03:26 pm (UTC)
From: [identity profile] jsn.livejournal.com
Ну да, вариант с батареей moving average-й мне как раз пришёл в голову первым (я думал, может, что ещё дешевле бывает). Собственно, дешевая наколенная апроксимация мю и сигмы там из этого очевидным образом сооружается -- но я совершенно не представляю себе, как эти штуки себя ведут на реальном звуке, что не берусь судить.

Date: 2010-06-15 08:34 pm (UTC)
From: [identity profile] gone-one.livejournal.com
Ну куда уж дешевле :) Чтобы получалось на реальном звуке, я брал десятка два параметров, которые там можно было крутить, и сутками гонял их генетическим алгоритмом для подбора хороших вариантов.

Date: 2010-06-15 09:15 pm (UTC)
From: [identity profile] jsn.livejournal.com
Ну куда уж дешевле :)

Да, пожалуй -- на фоне FFT по затратам это всё меркнет всё равно. Вот без подбора констант, конечно, приятнее было бы обойтись.

Profile

jsn: (Default)
jsn

July 2020

S M T W T F S
   1234
56789 1011
12131415161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 1st, 2026 01:07 pm
Powered by Dreamwidth Studios