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

Зачем используют CIC фильтр? Чтобы обеспечить фильтрацию до очень узкой полосы в сравнении с частотой сэмплирования АЦП. Потом делают децимацию и уже на значительно пониженной частоте ставят FIR, который в т.ч. делает коррекцию АЧХ. При децимации важно, чтобы шум и помехи за полосой CIC фильтра был подавлен как можно лучше. Если вы поставите фильтр малого порядка, а потом сделаете децимацию, то шум/помехи свернутся в вашу полосу, интерферируя с вашим сигналом. И уже никакой FIR в этой ситуации не поможет, т.к. всё это добро уже попало в вашу полосу.

 

 

Спасибо! Все понятно. А как рассчитать тогда этот порядок?

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


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

Рекомендую прочитать, там всё очень хорошо объясняется.

 

 

Читал. В этой статье какое-то несоответствие в плане задержки фильтра. Во всей англоязычной литературе задержка берется равной 1 или 2. В этой статье задержка равна 2R. Если у меня R = 320, значит задержка 640? это же бред какой-то

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


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

Читал. В этой статье какое-то несоответствие в плане задержки фильтра. Во всей англоязычной литературе задержка берется равной 1 или 2. В этой статье задержка равна 2R. Если у меня R = 320, значит задержка 640? это же бред какой-то

Это задержка, выраженная в частоте дискретизации, до понижения частоты, поэтому и порядок такой. И реально R нужен гораздо меньше, в зависимости от требуемого подавления, там в статье даже написано -

Например пусть требуется произвести децимацию сигнала с коэффициентом при подавлении алиасинга на 40 дБ
. Вы представляете, какое подавление будет при 320? Вообще, если есть возможность, то очень наглядно можно посмотреть характеристику в матлабе fdatool.

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


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

Это задержка, выраженная в частоте дискретизации, до понижения частоты, поэтому и порядок такой. И реально R нужен гораздо меньше, в зависимости от требуемого подавления, там в статье даже написано - . Вы представляете, какое подавление будет при 320? Вообще, если есть возможность, то очень наглядно можно посмотреть характеристику в матлабе fdatool.

 

 

Значит при R=320 получается огромное усиление? Как тогда быть? нужно децимировать в 320 раз

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


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

Вы представляете, какое подавление будет при 320?

Задержки определяют положение полюсов на АЧХ. Их комбинация иными словами даёт требуемую ширину полосы пропускания а не подавление. Подавление зависит от порядка. В статье есть формула, из которой следует, что подавление за полосой примерно (11...13)N (дБ), где N - порядок. В случае если в каждом звене задержки разные, то полюса будут приходиться на разные частоты и играя этими задержками можно получить подавление еще на 10-15 дБ лучше, т.к. большие лепестки будут разбиваться полюсами других каскадов. CIC фильтр можно охарактеризовать вектором его задержек, размером N. Первая задержка определяет ширину полосы. Остальные задержки должны быть небольше. В матлабе всё это прекрасно смотрится. В свое время я подбирал эти коэффициенты и для 5го порядка получал около 75-80 дБ, если не изменяет память.

 

Во всей англоязычной литературе задержка берется равной 1 или 2. В этой статье задержка равна 2R

Есть два подхода к реализации фильтра. В первом случае сначала делаются интеграторы, потом децимация, а потом гребенчатые фильтры. Тогда экономится память, т.к. на пониженной частоте задержи уменьшаются во столько же раз, во сколько понизилась частота. Но фильтр становится менее гибким, т.к. задержки должны быть кратны децимации. И на интеграторах растёт разрядность, которую нельзя снижать до децимации или выхода фильтра (не помню). В другом подходе фильтр делается из каскадов, каждый каскад это интегратор + гребенчатый. Каскады ставятся друг за другом. И только после делается децимация. Тогда задержки получаются большими. В ПЛИС их лучше делать на памяти. Но уходит намного меньше логики и задержки можно выбрать любыми.

 

UPD.

Значит при R=320 получается огромное усиление? Как тогда быть? нужно децимировать в 320 раз

Делал децимацию с 100 МГц до 128 кГц, а это 750 раз. Там в два этапа CIC ставил, но это было давно и неправда, в 1 думаю тоже можно. Каких то проблем с переусилением не было.

Изменено пользователем serjj

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


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

Делал децимацию с 100 МГц до 128 кГц, а это 750 раз. Там в два этапа CIC ставил, но это было давно и неправда, в 1 думаю тоже можно. Каких то проблем с переусилением не было.

 

 

Если в 2 этапа делать, то корректор нужно после каждого CIC ставить или в конце?

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


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

В конце, корректировать нужно только второй фильтр. Между CIC делается промежуточная децимация. Попробуйте сначала в 1 этап. Может не нужно будет этот изврат городить)

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


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

В конце, корректировать нужно только второй фильтр. Между CIC делается промежуточная децимация. Попробуйте сначала в 1 этап. Может не нужно будет этот изврат городить)

 

 

Я просто пользуюсь коркой Quartus для CIC и FIR. И с избирательностью никак в ТЗ не попадаю. Грешил на переполнения, но их нет. Коэффициенты для FIR считал матлабом. И с разрядностью как только не экспериментировал. В fdatool вбиваю параметры CIC, у него усиление на графике АЧХ 280 получается. У FIR корректора 120. Это влияет на что-то? или эти значения нормируются как-то в плисине и можно не париться?

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


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

У вас разрядность на выходе CIC W_adc + 9, FIR - W_adc + 10. Этого достаточно. Ничего экспериментировать не нужно. Я не знаю как устроена корка CIC фильтра от Альтеры и как её настраивать, нужно курить доки. И в матлабе премудростями всякими для расчёта фильтров не пользовался. Своя модель для CIC была, по ней всё работало и с железкой билось. Могу только вам свою корку CIC предложить. Я хотя бы знаю как её настраивать.

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


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

У вас разрядность на выходе CIC W_adc + 9, FIR - W_adc + 10. Этого достаточно. Ничего экспериментировать не нужно. Я не знаю как устроена корка CIC фильтра от Альтеры и как её настраивать, нужно курить доки. И в матлабе премудростями всякими для расчёта фильтров не пользовался. Своя модель для CIC была, по ней всё работало и с железкой билось. Могу только вам свою корку CIC предложить. Я хотя бы знаю как её настраивать.

 

 

У меня с adc и nco по 14 бит идут на смеситель. оттуда я забираю 15-16 бит, которые уже идут в cic и далее в fir. на выходе fir должно быть строго 24 бита

Изменено пользователем Artunique

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


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

В общем если надо, то вот cic. Если решите попробовать его поставить, велкам могу сказать что там менять (хотя там все оч просто). Ну или добивайте альтеровскую корку )

Изменено пользователем serjj

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


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

И с избирательностью никак в ТЗ не попадаю.

Потому что надо сначала считать, потом делать. Лень делать в матлабе, возьмите маткад. Забейте туда ИХ вашего цика, фира, сделайте свертку и возьмите прямое фурье. Работа на полчаса - час. Сразу станет понятен и порядок цика и его регулярность и как "яйца" ИХ тракта себя ведут.

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


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

В общем если надо, то вот cic. Если решите попробовать его поставить, велкам могу сказать что там менять (хотя там все оч просто). Ну или добивайте альтеровскую корку )

 

 

Спасибо, посмотрю. И еще такой вопрос: усиление CIC реальное чему равно? я имею в виду после применения округления по статье Хогенауэра. оно же явно меньше?

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


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

усиление CIC реальное чему равно?

да что ж вы так прицепились к этому несчастному усилению? Для вас критерием должны являться относительные величины а не абсолютные. А это например подавление фильтра за полосой. В матлабе я всегда АЧХ нормирую, у меня даже мысли не возникало смотреть какое у него там усиление, я же не усилитель делаю. В железе и в CIC и в FIR промежуточное усиление есть, усиление по выходу, т.е. усечение разрядности, вы там реального усиления тоже не увидите. Другое дело, что усечение нужно делать очень аккуратно, потому что если сделать неправильно оно повлияет на собственно соотношение полоса пропускания/полоса подавление, как следствие - потеря чутья. А усиление - вещь которая в цифре зависит от разрядности, выбранного масштаба коэффициентов и т.д., совершенно непоказательная характеристика.

Изменено пользователем serjj

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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