CIC фильтр

Обсуждаем цифровые устройства...
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

CIC фильтр

Сообщение Грендайзер »

Здорово, котяры :)) Хочу реализовать CIC фильтр на ПЛИС. Его вход, как известно, состоит из цепочки каскадно включённых интеграторов, которые охвачены положительной обратной связью, что рано или поздно вызовет их переполнение. Всязи с чем вопрос: В РЯДЕ ИСТОЧНИКОВ НАПИСАНО, ЧТО ПЕРЕПОЛНЕНИЯ НЕ НАСТУПИТ, ЕСЛИ РАЗРЯДНОСТЬ РЕГИСТРОВ ВЫБРАТЬ ДОСТАТОЧНО БОЛЬШОЙ, НО Я НЕ МОГУ ЭТОГО ПОНЯТЬ, ВЕДЬ СКОЛЬКОБ Я ТУДА РАЗРЯДОВ НЕ ПИХАЛ, СУММАТОРЫ СУММИРУЮТ И РАНО ИЛИ ПОЗДНО ЭТО ПРИВЕДЁТ К ТОМУ, ЧТО РАЗРЯДНОЙ СЕТКИ НЕ ХВАТИТ :evil: . Кто нибудь, может сказать что нибудь конкретное по этому вопросу, был бы очень признателен. На рисунке показаны 2 интегратора, состоящие из сумматоров и триггеров, выполняющих задержку отсчёта на 1 такт.
Вложения
integrators.JPG
(15.58 КБ) 1187 скачиваний
Реклама
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: CIC фильтор

Сообщение Леонид Иванович »

А что Вас смущает? Коэффициент передачи итегратора на постоянном токе равен бесконечности. Но CIC-фильтры состоят не только из Itegrators, но и Combs. Коэффициент передачи на DC можно сделать единичным.
Реклама
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: CIC фильтор

Сообщение Грендайзер »

меня смущает то, что я не понимаю как сделать сумматор... т.е. Вы хотите сказать, что если я правильно выберу разрядность триггера, то переполнение мне не страшно, так? но вот представьте ситуацию, у меня 3-х разрядный (к примеру) регистр. И в какой то момент времени значение на нём 111, приходящий отсчёт увеличивает его до 1 000, но на шине у меня 000 => вместо 8 я получаю 0. Это ведь ошибка! Я конечно могу округлить результат на шине до 111 но я где то прочитал, что округление в данном случае неприемлемо. Как тогда быть?
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: CIC фильтор

Сообщение Леонид Иванович »

Although the gain of an Mth-order CIC decimation filter is (NR)M individual integrators can experience overflow. (Their gain is infinite at DC.) As such, the use of two's complement arithmetic resolves this overflow situation just so long as the integrator word width accommodates the maximum difference between any two successive samples (in other words, the difference causes no more than a single overflow). Using the two's complement binary format, with its modular wrap-around property, the follow-on comb filter will properly compute the correct difference between two successive integrator output samples.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: CIC фильтор

Сообщение Грендайзер »

Ммм... мне пока сложно переводить английский текст, тем более технический, но если я прально понял, то тут говорится о том, что если в интеграторе и наступит ошибка, то в секции гребёнки, она исправится, если применит там при вычитании дополнительный код, так? Но тогда выходит, что разрядность регистров роли не играет (лишь бы она была не меньше длинны слова), а в ряде статеик буржуинских, я прочитал, что разрядность надо делать побольше, даже формула есть... И вот эта строка интересная:
...filter is (NR)M individual integrators can experience overflow.

Если правильно понял, здесь говорится что могут переполнится отдельные интеграторы... но интересно, если у меня 1 переполнился, он из запоя не выйдет уже, а остальные такт за тактом уйдут за ним... Вообщем чёт мутновато всёрано.... на уровне интуиции понимание всёравно не приходит :facepalm:
Реклама
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: CIC фильтор

Сообщение Леонид Иванович »

Грендайзер писал(а):Если правильно понял, здесь говорится что могут переполнится отдельные интеграторы... но интересно, если у меня 1 переполнился, он из запоя не выйдет уже


Интеграторы в CIC-фильтре всегда работают с переполнениями. Чтобы это не нарушало работу, данные нужно представлять в дополнительном коде. Суммирование делается без учета переноса. После переполнения суммирование продолжается, никакого запоя не наступает. Разрядность выбирается исходя из коэффициента передачи всего фильтра на DC.
Реклама
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: CIC фильтор

Сообщение Грендайзер »

Огромное спасибо! Если честно, Вы сильно помогли. Правда всё равно осталось некоторое недопонимание, так что если что я обязательно напишу снова. Пока попытаюсь переварить всё.
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: CIC фильтор

Сообщение Грендайзер »

Мммм... такой вот ещё вопросик перед вычитанием в секции гребёнки, ведь необходимо сравнивать величины чисел... что бы не напартачить со знаком разности... так?
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: CIC фильтор

Сообщение Леонид Иванович »

Зачем? Работаем в дополнительном коде и ни о чем не думаем.
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: CIC фильтор

Сообщение Грендайзер »

Ясненько... т. е. в секции comb просто преобразуем вычитаемое и складываем с уменьшаемым, а там хоть не рассветай... кажется начинаю понимать, спасибо :)
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: CIC фильтор

Сообщение Грендайзер »

Леонид Иванович, спасибо, всё получилось. Не сказать, что б я понял сокральный смысл CIC фильтров, но берега уже показались :))
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: CIC фильтор

Сообщение Леонид Иванович »

Так весь смысл в отсутствии умножений :)
yusmat
Родился
Сообщения: 19
Зарегистрирован: Пт фев 15, 2013 14:43:06

Re: CIC фильтор

Сообщение yusmat »

спасибо, всё получилось

а можно пример того что получилось
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: CIC фильтор

Сообщение Грендайзер »

Ух ну ты и спросил... сколько уж воды утекло... Но тебе повезло... щас точно не помню что рабочее что нет, но если чего могу поискать, если не заработает, напиши... там сам фильтр и тест бенч... возможно правда у файлов названия перепутаны...
Вложения
Xilinx.rar
(4.02 КБ) 321 скачивание
yusmat
Родился
Сообщения: 19
Зарегистрирован: Пт фев 15, 2013 14:43:06

Re: CIC фильтр

Сообщение yusmat »

спасибо за ответ
если не лень будет попробуй написать статью по данной теме
типа такой http://bsvi.ru/cordic-dlya-chajnikov/
мне реально помогла несмотря на то что она на англиском
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: CIC фильтр

Сообщение Грендайзер »

Не думою, что моя статья кому то поможет... Я так до конца и не понял сокральной сути работы фильтров... А жизнь так сложилась, что сейчас я к сожалению не ЦОСом занимаюсь (хотя именно это у меня всегда интерес и вызывало) а скорей системами управления и работой с некоторыми интерфейсами и в ближайшее время ситуация скорей всего не изменится, свободного же время остаётся немного и разбираться с вопросами не касающимися нынешней деятельности остаётся или мало или совсем нет :? Так что о том что там конкретно в коде написано и как он работает я бы мог написать но вот о теории работы данных фильтров к сожалению не ко мне... я ж ведь VHDL-ем фактически просто структурную схему этого фильтра описал это не сложно, сумматоры, щётчик, и опять сумматоры (только со знаком минус) :(
yusmat
Родился
Сообщения: 19
Зарегистрирован: Пт фев 15, 2013 14:43:06

Re: CIC фильтр

Сообщение yusmat »

у меня альтера а не xilinx
поетому твой пример вряд ли заработает
вот еслиб он в графическом виде был
квартус кстати умеет показывать в графическом виде VHDL код но после того как он его скомпилит
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: CIC фильтр

Сообщение Грендайзер »

От тебе графический вариант. Именно схему описанную в данном даташите я и описывал (правда кол-во интеграторов и дифференциаторов могут отличаться от количества на картинке). Код не содержит специализированных софтовых ядер и подключённых аппаратных ресурсов конкретной микросхемы (говоря нормальным языком код полностью синтезируем) мне просто в своё время довелось поработать с ПЛИС ф. Xilinx писал поэтому в ISE там автоматически создаётся шаблон... и да ISE тоже умеет схему рисовать (и может ещё много чего, как собсно и квартус). Сейчас работаю с сыклонами III и также компилил проект под них.. в коде ничего не менял....
yusmat
Родился
Сообщения: 19
Зарегистрирован: Пт фев 15, 2013 14:43:06

Re: CIC фильтр

Сообщение yusmat »

вход R это величина децимации ?
то есть чем он больше тем сильнее грубо говоря фильтрация
Аватара пользователя
Грендайзер
Мучитель микросхем
Сообщения: 479
Зарегистрирован: Вт июн 02, 2009 22:38:40
Откуда: Город-герой Москва

Re: CIC фильтр

Сообщение Грендайзер »

Грубо говоря... да. Я в тест бенче ЛЧМ сигнал сформировал (правда уж не момню что там надо раскомментировать а что закоментировать чтоб понеслось), очень наглядно выходит, если поставить большой R, то когда частота на входе высокая то на выходе ничего нет... но с уменьшением частоты на выходе начинает появляться сигнал... В моделсиме очень всё наглядно выходит...
Ответить

Вернуться в «Цифровая техника»