реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Цифровой фильтр на ПЛИС
Zamir
сообщение Apr 2 2013, 08:12
Сообщение #1


Участник
*

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



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


Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
eugen_pcad_ru
сообщение Apr 2 2013, 08:20
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 642
Регистрация: 15-11-07
Пользователь №: 32 353



Как много рисунков!:)
Как вариант:
1 может не учитываете знаковое/беззнаковое представление чисел?
2 Фильтр целочисленный? Ошибки округления исключены?

P.S.: Может для начала попробовать реализовать FIR?


--------------------
Правильно сформулированый вопрос содержит в себе половину ответа.
P.S.: Некоторые модераторы в качестве ответа так навязчиво предлагают посетить свой сайт, что иначе как саморекламу такие действия интерпретировать сложно.
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 2 2013, 08:36
Сообщение #3


отэц
*****

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 2 2013, 08:41
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



bb-offtopic.gif
Удивительно, что на осциллографе ручка Time/div заляпана так же страшно, как и на моем MSO6102A, а другие, как и на моем - чистые! Феномен.
Go to the top of the page
 
+Quote Post
Zamir
сообщение Apr 2 2013, 08:43
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 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КГц.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Apr 2 2013, 08:54
Сообщение #6


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



На осциллографе пишет частоту 200 kHz. Если она так трясется, может, PLL в FPGA не работает?
Go to the top of the page
 
+Quote Post
Zamir
сообщение Apr 2 2013, 08:57
Сообщение #7


Участник
*

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



Цитата(ViKo @ Apr 2 2013, 12:54) *
На осциллографе пишет частоту 200 kHz. Если она так трясется, может, PLL в FPGA не работает?

На осциллографе показания частоты меняются из за того что сигнал дрожит. если включить усреднение на осциллографе то частоту он покажет 600 КГц. PLL тоже работает. Я все проверял без фильтра.
Go to the top of the page
 
+Quote Post
litv
сообщение Apr 2 2013, 09:01
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 6-10-04
Из: Воронеж
Пользователь №: 806



VHDL надо не только скомпилировать в ПЛИС .
Проект на VHDL надо еще и промоделировать . Подать разные синусы , убедиться что подавление заработало.
А не сразу к АЦП и ЦАП ....
Go to the top of the page
 
+Quote Post
Zamir
сообщение Apr 2 2013, 09:06
Сообщение #9


Участник
*

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



Цитата(litv @ Apr 2 2013, 13:01) *
VHDL надо не только скомпилировать в ПЛИС .
Проект на VHDL надо еще и промоделировать . Подать разные синусы , убедиться что подавление заработало.
А не сразу к АЦП и ЦАП ....

Так это все ведь происходит в матлаб. Матлаб создает VHDL файл для фильтра с указанными настройками. То есть этот VHDL файл фильтра должен работать точно так как показал матлаб. Если в действительности полученный фильтр ведет себя не так как показывает матлаб, тогда зачем вообще фильтр генерить в матлаб? Или я не прав?
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 2 2013, 09:08
Сообщение #10


отэц
*****

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



QUOTE (Zamir @ Apr 2 2013, 12:12) *
В матлабе создали фильтр IIR. настроил как показано на Снимке2. Из этого файла генерим VHDL файл. Компилируем его в квартусе.

..а вот в этом месте поподробнее, с какими параметрами синтезируете фильтр в матлабе и с какими синтезирует VHDL?
Вы можете сам фильтр выложить?

Если внутри IIR обрезать разрядность, то он может возбудиться.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
Zamir
сообщение Apr 2 2013, 09:18
Сообщение #11


Участник
*

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



Цитата(Lmx2315 @ Apr 2 2013, 13:08) *
..а вот в этом месте поподробнее, с какими параметрами синтезируете фильтр в матлабе и с какими синтезирует VHDL?
Вы можете сам фильтр выложить?

Если внутри IIR обрезать разрядность, то он может возбудиться.

вот файл VHDL фильтра. в тхт скопировал
Прикрепленные файлы
Прикрепленный файл  IIR.txt ( 25.33 килобайт ) Кол-во скачиваний: 114
 
Go to the top of the page
 
+Quote Post
litv
сообщение Apr 2 2013, 09:52
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 401
Регистрация: 6-10-04
Из: Воронеж
Пользователь №: 806



Если бы для разработки ЦФ нужно было нажать только кнопку в Матлабе.....

Нужно ВСЁ.
Не видел еще человека который проектировал ПЛИС и не умел моделировать VHDL.

У Вас блин ошибки могут быть в тактовых импульсах.... Вы их видели ???, или только кнопку нажали, причем нажали в матлабе
а требуете от плис. По каким фронтам защелкивается данные АЦП или ЦАП, в доп коде они или беззнаковом????

Уметь самому писать и моделировать VHDL.
Выбирать разрядность с фиксированной точкой.
Смотреть сигналы внутри ПЛИС с signal tap и....

Работа с АЦП и ЦАП - море нюансов .
Начните с моделирования , оно проще.



Go to the top of the page
 
+Quote Post
Zamir
сообщение Apr 2 2013, 10:25
Сообщение #13


Участник
*

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



Цитата(litv @ Apr 2 2013, 13:52) *
Если бы для разработки ЦФ нужно было нажать только кнопку в Матлабе.....

Нужно ВСЁ.
Не видел еще человека который проектировал ПЛИС и не умел моделировать VHDL.

У Вас блин ошибки могут быть в тактовых импульсах.... Вы их видели ???, или только кнопку нажали, причем нажали в матлабе
а требуете от плис. По каким фронтам защелкивается данные АЦП или ЦАП, в доп коде они или беззнаковом????

Уметь самому писать и моделировать VHDL.
Выбирать разрядность с фиксированной точкой.
Смотреть сигналы внутри ПЛИС с signal tap и....

Работа с АЦП и ЦАП - море нюансов .
Начните с моделирования , оно проще.


моделирование оно может быть и проще... но если результаты моделирования не соответствуют действительности, то на фига вообще такое моделирование?
Go to the top of the page
 
+Quote Post
Lmx2315
сообщение Apr 2 2013, 10:42
Сообщение #14


отэц
*****

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



QUOTE (Zamir @ Apr 2 2013, 14:25) *
моделирование оно может быть и проще... но если результаты моделирования не соответствуют действительности, то на фига вообще такое моделирование?

..речь шла о моделировании в среде приближенной к ПЛИС - моделсим или ActiveHDl, к примеру.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
iosifk
сообщение Apr 2 2013, 11:10
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(Zamir @ Apr 2 2013, 13:06) *
Так это все ведь происходит в матлаб. Матлаб создает VHDL файл для фильтра с указанными настройками. То есть этот VHDL файл фильтра должен работать точно так как показал матлаб. Если в действительности полученный фильтр ведет себя не так как показывает матлаб, тогда зачем вообще фильтр генерить в матлаб? Или я не прав?


Вот, это тот случай, когда монета падает на ребро... Но случается это очень редко... Потому что обычно монета просто зависает в воздухе и вообще не хочет падать... Да. А если серьезно, то я знаю этих мужиков, которые Вам здесь отвечают, уже мнго лет знаю... Они Вам просто голову морочают всякими симуляциями, отладками по этапам, констрейнами и установками компилятора... Все это от лукавого! Должен все делать Матлаб!!! Но все они знают, что там есть специальная галочка, которую нужно убрать. Называется "защита от чайника". Она специально сделана для того, чтобы защитить разработчиков от чайников, которые не хотят носом землю рыть и которые считают, что Матлаб сам все должен сделать. Беда только в том, что мужики эти Вам не созниются, и придется Вам эту галочку самому искать... И я не могу о ней Вам рассказать, потому как это против моих правил. Ибо подставил меня на работе один такой же шустрый. Вот, с тех пор я зарок дал никому об этой галочке не говорить....
А без этого все равно ничего не получится... И придется либо землю носом рыть, либо бросить, либо стать начальником...
Вот такие дела...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 20:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01507 секунд с 7
ELECTRONIX ©2004-2016