Перейти к содержанию

Частота дискретизации и свертка

Предположим от АЦП приходит блок в 100 бит. Проводим свертку с какой-либо импульсной характеристикой.
Получаем в результате блок уже больше чем 100 бит. Подаем этот результат на ЦАП.
И тут возникает вопрос, а с какой частотой должен работать ЦАП?
С той же частотой, что и АЦП? Или с более высокой частотой(т.к. на ЦАП приходит блок бит более длинный чем от АЦП)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(_alex__ @ Nov 24 2017, 14:01) <{POST_SNAPBACK}>
Предположим от АЦП приходит блок в 100 бит. Проводим свертку с какой-либо импульсной характеристикой.
Получаем в результате блок уже больше чем 100 бит.


разве свёртка увеличивает число данных? пришло 100 отсчётов - свёртка - вышло 100 отсчётов .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Если хотите работать с АЦП на ЦАП, то свертка должна быть скользящей.
То есть: с каждым проходящим отсчетом от АЦП вы сдвигаете линию задержки на 100 отсчетов и вычисляете скалярное произведение с импульсной характеристикой.
Полученный результат (один отсчет) подаете на ЦАП.
Частота дискретизации не меняется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Lmx2315 @ Nov 24 2017, 21:05) <{POST_SNAPBACK}>
разве свёртка увеличивает число данных? пришло 100 отсчётов - свёртка - вышло 100 отсчётов .

Если идет свертка с импульсной характеристикой фильтра, то число отсчетов просто ОБЯЗАНО увеличиться на длину импульсной характеристики. Не изменяется число отсчетов только у сравнительно малого числа безынерционных устройств. А вот частота дискретизации не меняется (за исключением случаев децимации-интерполяции-передискретизации)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(V_G @ Nov 24 2017, 15:20) <{POST_SNAPBACK}>
Если идет свертка с импульсной характеристикой фильтра, то число отсчетов просто ОБЯЗАНО увеличиться на длину импульсной характеристики. Не изменяется число отсчетов только у сравнительно малого числа безынерционных устройств. А вот частота дискретизации не меняется (за исключением случаев децимации-интерполяции-передискретизации)

если частота дискретизации не меняется , то магия какая то получается - на вход цифрового фильтра приходят одно число отсчётов , а выходит умноженное и всё на той же частоте !




вот ких фильтр - на один входной отсчёт , один выходной .

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата(Lmx2315 @ Nov 24 2017, 15:39) <{POST_SNAPBACK}>
если частота дискретизации не меняется , то магия какая то получается - на вход цифрового фильтра приходят одно число отсчётов , а выходит умноженное и всё на той же частоте !

Результат свертки - (N+M-1) отсчетов, где N - длина входного сигнала, а M - длина ИХ фильтра. Другое дело, что на практике считают свертку без "хвоста", поэтому число выходных осчетов N.

Поделиться сообщением


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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
QUOTE (_alex__ @ Nov 24 2017, 13:01) <{POST_SNAPBACK}>
Предположим от АЦП приходит блок в 100 бит. Проводим свертку с какой-либо импульсной характеристикой.
Получаем в результате блок уже больше чем 100 бит. Подаем этот результат на ЦАП.
И тут возникает вопрос, а с какой частотой должен работать ЦАП?
С той же частотой, что и АЦП? Или с более высокой частотой(т.к. на ЦАП приходит блок бит более длинный чем от АЦП)?


Конечно с той же частотой. После свертки у Вас к блоку 100бит добавляется еще хвост размером с сам импульс. Вопрос "что делать с этим хвостом?" решается так: первые 100 бит Вы просто передаете в ЦАП, а вот хвост Вам надо будет просуммировать с результатом после свертки следующего блока. Для гугля ключевое слово будет "overlap-add", например.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Вставлю свои 5 копеек. Как заметил soldat_shveyk, если к примеру мы фильтруем сигнал, свёртка должна быть "скользящей", т.е. идти в потоке, вдвинули входной отсчёт получили выходной. Что касается случая который описал ТС, то тут, надо правильно интерпритировать результаты, а заключаться они будут в том, что (опять таки для фильтра), некоторое время, будит идти переходный процесс. Например для усредняющего фильтра (скользящего среднего), мы получим первый "живой" отсчёт, лишь когда наберём n интересующих нас отсчётов на входе. Что же касается метода, упомянутого Rst7, то это как раз способ "конвейерного вычисления" свёртки, если поток данных на входе непрерывен. Правда данный метод хорошь скорее тем, что в связке с БПФ/ОБПФ позволяет выполнять свёртку больших последовательностей, быстрее чем если бы это делалось "в лоб".
Изменено пользователем Грендайзер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация