[an error occurred while processing this directive]
Ответ: Вот ведь....
(«Телесистемы»: «Конференция «Цифровые сигнальные процессоры (DSP) и их применение»»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ВН 21 апреля 2003 г. 19:58
В ответ на: Пока выяснилось следующее. отправлено st256 21 апреля 2003 г. 18:46

О своих программерских способностях, или отсутствии таковых, я вообще-то не писал. Но черт с ними.
Повторение отсчетов с последующей фильтрацией эквивалентно следующему.
1. В сигнал встромляются 0 между отсчетами. Пусть N.
2. Сигнал со встромленными 0 пропускается через КИХ с H0(Z)=SUMMA(Z^(-n)). Сумма по n, от 0 до N-1. ИХ его - прямоугольный импульс длиной N. Эта операция эквивалентна повторению отсчетов. Или, что то же самое, интерполяции нулевого порядка.
3. Спектр сигнала из п.2 соответственно будет равен произведению спектра сигнала со вставленными 0 на ЧХ вышеприведенного фильтра.
Спектр сигнала с 0 - периодическое повторение спектров исходного.
Т.е. на одном периоде спектра сигнала с нулями - N+1 период исходного.
ЧХ приведенного фильтра - sin(x)/x. Основной лепесток как раз накрывает 1-ый период спектра исходного сигнала. Сл-но этот 1-ый период будет искажен. Естественно и остальные тоже.
4.Сигнал из пункта 2 пропускается через некий фильтр, для получения результирующего интерполированного сигнала. И здесь все определяется требованиями к интерполяции. Сигнал-то до этого прошел уже одну стадию фильтрации (п.2). Если искажения, внесенные этой стадией допустимы, то и хорошо. Можно поставить просто ФНЧ. Если недопустимы, то их нужно как-то скорректировать. В этом случае повторение отсчетов напоминает поиск приключений, поскольку синтезировать коррект. фильтр несколько сложнее, чем просто ФНЧ.
5. Но независимо ни от чего сигнал из пункта 2 один черт проходит через некий фильтр с какой-то H1(Z). А сигнал на входе п.2 - исходный с нулями. Из этого следует, что тот же самый результат получается, если взять сигнал со вставленными 0 между отсчетами и пропустить его через один фильтр с результирующей H(Z)=H0(Z)*H1(Z). Можно эту H(Z) разложить например на множители, если больше нравится/как-то упростит реализацию. Сути не меняет. В сигнал вставляются 0, затем он фильтруется. Просто в случае повторения отсчетов, из H(Z), до ее синтеза, вытаскивается множитель H0(Z), затем синтезируется H1(Z), но для получения H(Z). В случае вставки 0 синтезируется сразу H(Z).
Результат-то будет один и тот же, только первый путь через одно место.



Составить ответ ||| Конференция ||| Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов ||| Конференция ||| Архив ||| Главная страница ||| Содержание

E-mail: info@telesys.ru