|
Цифровой фильтр на ПЛИС |
|
|
|
Apr 2 2013, 08:12
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 10-09-08
Пользователь №: 40 105

|
Здравствуйте все! Такой вопрос. Есть отладочная плата для плис циклон3 и примочка к нему-плата с АЦП и ЦАП (Снимок5). Хочу разобраться с цифровыми фильтрами. В матлабе создали фильтр IIR. настроил как показано на Снимке2. Из этого файла генерим VHDL файл. Компилируем его в квартусе. Далее на вход АЦП подаем синусоидальный сигнал с частотой 600КГц. Оцифрованный сигнал подаем на вход фильтра. Выход фильтра соединяем на вход ЦАП.(Снимок1). На выходе ЦАП получаем что то непонятное... (снимок4). При увеличении частоты амплитуда сигнала на выходе ЦАП не уменьшается т.е. фильтр не работает. Что делаю не так?
Эскизы прикрепленных изображений
|
|
|
|
|
Apr 2 2013, 08:36
|

отэц
    
Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684

|
QUOTE (eugen_pcad_ru @ Apr 2 2013, 12:20)  P.S.: Может для начала попробовать реализовать FIR? ..для начала надо замкнуть выход АЦП и вход ЦАП в плис и убедиться что на выходе то что измеряем. т.е. 600 КГц синус . з.ы. Мне одному кажется что на вашем генераторе какое-то странное представление заданой частоты? .. мне вот кажется что там 600 Мгц.
--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0 SHA-256
|
|
|
|
|
Apr 2 2013, 08:43
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 10-09-08
Пользователь №: 40 105

|
Цитата(eugen_pcad_ru @ Apr 2 2013, 12:20)  Как много рисунков!:) Как вариант: 1 может не учитываете знаковое/беззнаковое представление чисел? 2 Фильтр целочисленный? Ошибки округления исключены?
P.S.: Может для начала попробовать реализовать FIR? Рисунков не жалко )) Дело в том что я не очень хорошо разбираюсь в цифровой обработке сигналов. Хочу разобраться. На примерах легче разбираться и поэтому хочу какой нибудь цифровой фильтр реализовать. А где учитываются знаковое/беззнаковое представление чисел? В матлабе? Где можно настроить целочисленность фильтра и оибки округления? тоже в матлабе? Я и FIR пытался реализовать. с ней то же самое.... каша на выходе ЦАП... Цитата(Lmx2315 @ Apr 2 2013, 12:36)  ..для начала надо замкнуть выход АЦП и вход ЦАП в плис и убедиться что на выходе то что измеряем. т.е. 600 КГц синус .
з.ы. Мне одному кажется что на вашем генераторе какое-то странное представление заданой частоты? .. мне вот кажется что там 600 Мгц. Это все я сделал. Замыкал АЦП на ЦАП. Все работает. Все красиво. Вам просто кажется. Там действительно 600КГц.
|
|
|
|
|
Apr 2 2013, 08:57
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 10-09-08
Пользователь №: 40 105

|
Цитата(ViKo @ Apr 2 2013, 12:54)  На осциллографе пишет частоту 200 kHz. Если она так трясется, может, PLL в FPGA не работает? На осциллографе показания частоты меняются из за того что сигнал дрожит. если включить усреднение на осциллографе то частоту он покажет 600 КГц. PLL тоже работает. Я все проверял без фильтра.
|
|
|
|
|
Apr 2 2013, 09:06
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 10-09-08
Пользователь №: 40 105

|
Цитата(litv @ Apr 2 2013, 13:01)  VHDL надо не только скомпилировать в ПЛИС . Проект на VHDL надо еще и промоделировать . Подать разные синусы , убедиться что подавление заработало. А не сразу к АЦП и ЦАП .... Так это все ведь происходит в матлаб. Матлаб создает VHDL файл для фильтра с указанными настройками. То есть этот VHDL файл фильтра должен работать точно так как показал матлаб. Если в действительности полученный фильтр ведет себя не так как показывает матлаб, тогда зачем вообще фильтр генерить в матлаб? Или я не прав?
|
|
|
|
|
Apr 2 2013, 09:08
|

отэц
    
Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684

|
QUOTE (Zamir @ Apr 2 2013, 12:12)  В матлабе создали фильтр IIR. настроил как показано на Снимке2. Из этого файла генерим VHDL файл. Компилируем его в квартусе. ..а вот в этом месте поподробнее, с какими параметрами синтезируете фильтр в матлабе и с какими синтезирует VHDL? Вы можете сам фильтр выложить? Если внутри IIR обрезать разрядность, то он может возбудиться.
--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0 SHA-256
|
|
|
|
|
Apr 2 2013, 09:18
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 10-09-08
Пользователь №: 40 105

|
Цитата(Lmx2315 @ Apr 2 2013, 13:08)  ..а вот в этом месте поподробнее, с какими параметрами синтезируете фильтр в матлабе и с какими синтезирует VHDL? Вы можете сам фильтр выложить?
Если внутри IIR обрезать разрядность, то он может возбудиться. вот файл VHDL фильтра. в тхт скопировал
Прикрепленные файлы
IIR.txt ( 25.33 килобайт )
Кол-во скачиваний: 114
|
|
|
|
|
Apr 2 2013, 10:25
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 10-09-08
Пользователь №: 40 105

|
Цитата(litv @ Apr 2 2013, 13:52)  Если бы для разработки ЦФ нужно было нажать только кнопку в Матлабе.....
Нужно ВСЁ. Не видел еще человека который проектировал ПЛИС и не умел моделировать VHDL.
У Вас блин ошибки могут быть в тактовых импульсах.... Вы их видели ???, или только кнопку нажали, причем нажали в матлабе а требуете от плис. По каким фронтам защелкивается данные АЦП или ЦАП, в доп коде они или беззнаковом????
Уметь самому писать и моделировать VHDL. Выбирать разрядность с фиксированной точкой. Смотреть сигналы внутри ПЛИС с signal tap и....
Работа с АЦП и ЦАП - море нюансов . Начните с моделирования , оно проще. моделирование оно может быть и проще... но если результаты моделирования не соответствуют действительности, то на фига вообще такое моделирование?
|
|
|
|
|
Apr 2 2013, 11:10
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Zamir @ Apr 2 2013, 13:06)  Так это все ведь происходит в матлаб. Матлаб создает VHDL файл для фильтра с указанными настройками. То есть этот VHDL файл фильтра должен работать точно так как показал матлаб. Если в действительности полученный фильтр ведет себя не так как показывает матлаб, тогда зачем вообще фильтр генерить в матлаб? Или я не прав? Вот, это тот случай, когда монета падает на ребро... Но случается это очень редко... Потому что обычно монета просто зависает в воздухе и вообще не хочет падать... Да. А если серьезно, то я знаю этих мужиков, которые Вам здесь отвечают, уже мнго лет знаю... Они Вам просто голову морочают всякими симуляциями, отладками по этапам, констрейнами и установками компилятора... Все это от лукавого! Должен все делать Матлаб!!! Но все они знают, что там есть специальная галочка, которую нужно убрать. Называется "защита от чайника". Она специально сделана для того, чтобы защитить разработчиков от чайников, которые не хотят носом землю рыть и которые считают, что Матлаб сам все должен сделать. Беда только в том, что мужики эти Вам не созниются, и придется Вам эту галочку самому искать... И я не могу о ней Вам рассказать, потому как это против моих правил. Ибо подставил меня на работе один такой же шустрый. Вот, с тех пор я зарок дал никому об этой галочке не говорить.... А без этого все равно ничего не получится... И придется либо землю носом рыть, либо бросить, либо стать начальником... Вот такие дела...
--------------------
www.iosifk.narod.ru
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|