|
Суммирование с перекрытием и алиасинг, прошу прощения за избитость вопроса но хочу лучше понять |
|
|
|
Jun 26 2017, 15:11
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 27-01-16
Пользователь №: 90 226

|
Здравствуйте ! Занимаясь шумоподавлением для звукового сигнала и применяя покадровую обработку понял что не достаточно хорошо понимаю метод суммирования с перекрытием при восстановлении очищенного от шума сигнала. Хотел бы проконсультироваться, но предварительно опишу то что сам понимаю и надеюсь что выплывут ошибки и недочеты моего понимания. Для шумоподавления я применяю метод спектрального вычитания, что аналогично применению фильтра в спектральной области с некоторой передаточной функцией. То есть очередной кадр с помощью кратковременного преобразования Фурье(с применением взвешивающего окна) преобразуется в спектральную область а дальше производится вычитание усредненного спектра шума и обратное преобразование во временную область. Кадры берутся с некоторым перекрытием. Затем полученный временной кадр очищенного сигнала суммируется с перекрытием с уже ранее очищенным участком сигнала. Насколько я понимаю данная процедура должна быть технически аналогична ситуации когда имеется входная последовательность квазибесконечная и импульсная характеристика фильтра через который эта последовательность пропускается, достаточно короткая по сравнению с длиной входной последовательности. В этом случае принято применять так называемую секционированную свертку. Она основана на том что входная последовательность обрабатывается блоками. При этом чаще всего применяется алгоритмы свертки с использованием БПФ. То есть циклические свертки. Я нашел в литературе два предлагаемых варианта: (книжка Г. Нуссбаумер Быстрое преобразование Фурье и алгоритмы вычисления сверток) 1. Алгоритм перекрытия с суммированием. 2. Алгоритм перекрытия с накоплением. В первом алгоритме входная последовательность разбивается на смежные (а не перекрывающиеся) блоки и свертка с ИХ фильтра производится при помощи циклического алгоритма свертки при этом последовательности дополняются нулями до некоторого размера N >= N1 + N2 - 1. N1 - длина последовательности, представляющей импульсную характеристику, N2 - длина кадра входной последовательности. Таким образом получаем результат циклической свертки который перекрывается со следующим блоком в N - N2 отсчетах. При суммировании перекрытий получаем результирующую последовательность. Во втором алгоритме блоки изначально берутся перкрывающимися и над каждым блоком выполняется циклическая свертка. Затем первые N - N1 членов циклической свертки отбрасываются а остаются только N - N1 + 1 членов. Здесь никакого суммирования вообще не происходит. То есть последовательность выходная строится из смежных блоков правильных отсчетов. Более того в книге утверждается что этот вариант алгоритма предпочтительнее чем первый. В случае же обработки которую рекомендуют в статьях о шумоподавлении применяется алгоритм блочной обработки который не принадлежит ни к одному из типов обработки, описанных выше. Хотя по идее любая обработка кадра входного сигнала в спектральной области - это применение фильтра с некоторой импульсной характеристикой преобразованной в частотную область (то есть передаточной функцией). И, поскольку длина кадра фиксированная, фиксированной надо полагать и эту самую импульсную характеристику. То есть можно применять один из алгоритмов описанных выше?? Но видимо не все так просто. Теперь об оконном преобразовании Фурье и алиасинге. Алиасинг сколько я понимаю - это перетекание высокочастотных компонентов спектра в низкочастотные с отражением от середины при недостаточной частоте дискретизации. (поправьте если не прав) Оконное преобразование применяется для того чтобы в спектр попали частоты из среднего участка кадра и спектр не был бы искажен из за разрыва сигнала на границах блоков ? Я правильно понимаю ? При этом перекрытие как утверждается определяет уровень алиасинга. Вот тут я совершенно плохо понимаю как это взаимосвязано. Буду рад любой информации и подсказке где почитать о подобной обработке блоков с перекрытием.
|
|
|
|
|
 |
Ответов
|
Jun 26 2017, 19:53
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(Сергей Ст @ Jun 26 2017, 18:11)  Алиасинг сколько я понимаю - это перетекание высокочастотных компонентов спектра в низкочастотные с отражением от середины при недостаточной частоте дискретизации. (поправьте если не прав) Оконное преобразование применяется для того чтобы в спектр попали частоты из среднего участка кадра и спектр не был бы искажен из за разрыва сигнала на границах блоков ? Я правильно понимаю ? При этом перекрытие как утверждается определяет уровень алиасинга. Вот тут я совершенно плохо понимаю как это взаимосвязано. Посмотрите как вычисляется один бин ДПФ, это же просто полосовой КИХ фильтр, окно - огибающая этого КИХ фильтра, т. е. ФНЧ-прототип перенесённый на центральную частоту бина. ДПФ - гребёнка(банк) таких фильтров. Если блоки при вычисленнии банка КИХ фильтров берутся со смещением в 1 отсчёт, то децимации нет, алиасинга нет, если со смещением в половину блока N, то получается децимация N/2. Собственно от FFT можно абстрагироваться, обычные эффекты алиасинга при фильтрации и децимации-интерполяции. FFT+полифазные фильтры - всего лишь быстрый алгоритм вычисления банка фильтров, происходящий от того факта, что гребёнка фильтров имеет общий ФНЧ прототип и вычисляется над одними и теми же данными. Кстати, окно(ФНЧ-прототип) вовсе не обязано равнятся длине блока FFT.
|
|
|
|
Сообщений в этой теме
Сергей Ст Суммирование с перекрытием и алиасинг Jun 26 2017, 15:11 andyp Цитата(Сергей Ст @ Jun 26 2017, 18:11) ..... Jun 26 2017, 17:38 KalashKS Цитата(andyp @ Jun 26 2017, 20:38) Overla... Jun 27 2017, 10:35  andyp Цитата(KalashKS @ Jun 27 2017, 13:35) Пер... Jun 27 2017, 12:24 Сергей Ст Цитата(andyp @ Jun 26 2017, 21:38) Количе... Jun 27 2017, 15:51  petrov Цитата(Сергей Ст @ Jun 27 2017, 18:51) То... Jun 27 2017, 16:22  andyp Цитата(Сергей Ст @ Jun 27 2017, 18:51) Во... Jun 27 2017, 21:27 thermit http://electronix.ru/redirect.php?https://...t... Jun 27 2017, 21:34 andyp Цитата(thermit @ Jun 28 2017, 00:34) Утом... Jun 27 2017, 21:46 Сергей Ст Цитата(thermit @ Jun 28 2017, 01:34) http... Jul 4 2017, 08:44  petrov Цитата(Сергей Ст @ Jul 4 2017, 11:44) Мне... Jul 4 2017, 09:38   Сергей Ст Цитата(petrov @ Jul 4 2017, 13:38) Потому... Jul 4 2017, 11:20    petrov Цитата(Сергей Ст @ Jul 4 2017, 14:20) Даж... Jul 4 2017, 11:36     Сергей Ст Цитата(petrov @ Jul 4 2017, 15:36) Непрев... Jul 4 2017, 12:11      petrov Цитата(Сергей Ст @ Jul 4 2017, 15:11) В п... Jul 4 2017, 13:48       Сергей Ст Цитата(petrov @ Jul 4 2017, 17:48) Пробле... Jul 5 2017, 13:56      Сергей Ст Я рискну задать глупый вопрос. Я все думал об алиа... Jul 7 2017, 11:31       petrov Цитата(Сергей Ст @ Jul 7 2017, 14:31) Я р... Jul 7 2017, 16:31        Сергей Ст Цитата(petrov @ Jul 7 2017, 20:31) Проред... Jul 10 2017, 07:35
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|