Jump to content

    
Sign in to follow this  
Flip-fl0p

Xilinx FIR. Некорректный выходной сигнал.

Recommended Posts

Добрый вечер уважаемые посетители форума. И снова я вынужден просить вашей помощи.

Понадобился мне в работе фильтр нижних частот. Частота среза 25 Мгц. Частота поступающих данных от АЦП – 266 МГц. В качестве такого фильтра я применяю IP core FIR от Xilinx. Коэффициенты фильтра были получены от коллеги. 

Оказалось, что фильтр не работает. Стал разбирать причину почему не работает. Исключил некорректные коэффициенты фильтра. Для этого сам в Matlab сгенерировал коэффициенты фильтра.  Результат не изменился совсем.

В качестве теста подал одиночную синусоиду в полосе пропускания фильтра. И вот что я обнаружил:

На картинке в качестве у меня эталонный выходной сигнал «Сигнал после фильтрации референс» полностью соответствует входному сигналу. Как и должно быть.

 А вот выходной сигнал с фильтра оказался с большим периодом. Ровно в два раза. Соответственно спектр сигнала тоже не тот, что я ожидаю. Хотя по логике работы выходной сигнал должен быть практически такой-же как и эталонный (или как входной).

Помогите разобраться с проблемой.

1.PNG

2.PNG

3.PNG

IMG_20200923_190611.jpg

Share this post


Link to post
Share on other sites
5 минут назад, likeasm сказал:

1. Попробуйте FIR симулировать в связке с DDS, может там чего-то отловите.

2.  У вас 30 бит выходные данные, старшие разряды не потеряли?

Не должен был. Я в modelsim подаю из текстового документа входной вектор. Выходные данные с фильтра (все биты) я также записываю в текстовый файл, который потом применяю в Matlab и по отсчетам из этого текстового файла делаю БПФ для анализа спектра.

Share this post


Link to post
Share on other sites

что-то мне подсказывает(разные тактовая и входные частоты), что вход/выход фильтра стробируемый и не совсем корректно наблюдаются результаты)

ЗЫ. инженер вашего уровня, напишет свой, подобный FIR, минут за 15, стоило оно того ;)

Share this post


Link to post
Share on other sites
6 часов назад, des00 сказал:

что-то мне подсказывает(разные тактовая и входные частоты), что вход/выход фильтра стробируемый и не совсем корректно наблюдаются результаты)

ЗЫ. инженер вашего уровня, напишет свой, подобный FIR, минут за 15, стоило оно того ;)

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

Share this post


Link to post
Share on other sites

Если я не ошибаюсь, fdatool в Mathlab давно умеет генерить фильтры в hdl по шаблону с возможностью выбора параллельной, последовательной или смешанной реализации. КИХ фильтр без расчёта импульсной характеристики, т. е. с готовыми коэффициентами очень прост. Это буфер как элемент задержки и умножители с сумматорами. 

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

Share this post


Link to post
Share on other sites
40 минут назад, Strob сказал:

Коэффициенты фильтра рассчитывались от частоты 266мгц?

Да. Проблема оказалось в том, что я некорректно считывал тестовые воздействия из файла (у меня закралась лишняя задержка) из-за чего - входной тестовый вектор был визуально похож на модель в Matlab. А фактически - это был совсем другой сигнал.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this