Перейти к содержанию
    

Выделение синусоиды нужной частоты

У меня есть проект Генератор синусоид разных частот -> ЦАП -> АЦП-12 бит -> простой КИХ фильтр ( могу сделать от 30 до 60  коэфф и 29 - 59 регистров) -> ЦАП. 

Я сделал ФНЧ.  Минимальная частота работы АЦП и она же частота дискретизации фильтра 0.2 мГц. В этом случае фильтр пропускает частоты в диапазоне от 0 до 0.2мГц / 60 = 3.333 Гц, все что выше подавляет. Коэффициенты я не рассчитывал в матлабах и других программа я построил график синусоиды разделил ее на 60 отсчетов и получились  мои коэффициенты изображены на графике. 

Так же получался ФНЧ, который подавляет частоту выше 300 Гц, но для этого пришлось уменьшить частоту дескретизации , т.к. АЦП не может работать медленнее 0.2мГц пришлось брать не все отсчеты от АЦП, а один из десяти или еще меньше, вот сперва я хотел узнать правильно ли я сделал или есть возможность выделить частоту 300 Гц не уменьшая частоту дескритизации фильтра ?

Главный вопрос, а как мне сделать из моего проекта ФВЧ или полосовой фильтр ? Коэффициенты другие брать? или может у меня фильтр не правильно работает? коды  VHDL прилагаются.

синусойда.png

myFir32.vhd

sin.bsf

Head.bdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему коэффициенты не рассчитывал в Матлабах и других программах?

Религия не позволяет? :training1:

Куча бесплатных программ например http://www.winfilter.20m.com/ .

Кстати можно все делать самому, в учебниках описан процесс синтеза фильтров.

Только нафига человеку с учебником вообще форум электроникс ?

Учебник мозги руки и vhdl .

http://www.dsplib.ru/content/filters/fir/fir.html

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

поставьте себе бесплатный octave

наберите в нём строчку -  pkg load signal

и запустите приложеный файл , он считает коэффициенты фильтров и строит графики.

 

test_fir.m

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.к. У вас тактовая частота fs=200 кГц, а фильтруете узкую полосу, то не понижая fs ваш фильтр будет, примерно, порядка 1687. Чтобы не тратить такое огромное количество ресурсов надо понижать тактовую. Собрал модель, получается каскадное соединение фильтров займет 30+17 = 47 коэффициентов. Причем симметричных, на этом можно еще вдвое сэкономить ресурсов. Поиграйтесь с количеством каскадов, децимирование в 2 и более раз, различные типы фильтров: halfband, lowpass и т.д. 

untitled.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...