Artunique 0 18 июня, 2015 Опубликовано 18 июня, 2015 · Жалоба Зачем используют CIC фильтр? Чтобы обеспечить фильтрацию до очень узкой полосы в сравнении с частотой сэмплирования АЦП. Потом делают децимацию и уже на значительно пониженной частоте ставят FIR, который в т.ч. делает коррекцию АЧХ. При децимации важно, чтобы шум и помехи за полосой CIC фильтра был подавлен как можно лучше. Если вы поставите фильтр малого порядка, а потом сделаете децимацию, то шум/помехи свернутся в вашу полосу, интерферируя с вашим сигналом. И уже никакой FIR в этой ситуации не поможет, т.к. всё это добро уже попало в вашу полосу. Спасибо! Все понятно. А как рассчитать тогда этот порядок? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 18 июня, 2015 Опубликовано 18 июня, 2015 · Жалоба Рекомендую прочитать, там всё очень хорошо объясняется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Artunique 0 18 июня, 2015 Опубликовано 18 июня, 2015 · Жалоба Рекомендую прочитать, там всё очень хорошо объясняется. Читал. В этой статье какое-то несоответствие в плане задержки фильтра. Во всей англоязычной литературе задержка берется равной 1 или 2. В этой статье задержка равна 2R. Если у меня R = 320, значит задержка 640? это же бред какой-то Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 18 июня, 2015 Опубликовано 18 июня, 2015 · Жалоба Читал. В этой статье какое-то несоответствие в плане задержки фильтра. Во всей англоязычной литературе задержка берется равной 1 или 2. В этой статье задержка равна 2R. Если у меня R = 320, значит задержка 640? это же бред какой-то Это задержка, выраженная в частоте дискретизации, до понижения частоты, поэтому и порядок такой. И реально R нужен гораздо меньше, в зависимости от требуемого подавления, там в статье даже написано - Например пусть требуется произвести децимацию сигнала с коэффициентом при подавлении алиасинга на 40 дБ. Вы представляете, какое подавление будет при 320? Вообще, если есть возможность, то очень наглядно можно посмотреть характеристику в матлабе fdatool. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Artunique 0 18 июня, 2015 Опубликовано 18 июня, 2015 · Жалоба Это задержка, выраженная в частоте дискретизации, до понижения частоты, поэтому и порядок такой. И реально R нужен гораздо меньше, в зависимости от требуемого подавления, там в статье даже написано - . Вы представляете, какое подавление будет при 320? Вообще, если есть возможность, то очень наглядно можно посмотреть характеристику в матлабе fdatool. Значит при R=320 получается огромное усиление? Как тогда быть? нужно децимировать в 320 раз Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 18 июня, 2015 Опубликовано 18 июня, 2015 (изменено) · Жалоба Вы представляете, какое подавление будет при 320? Задержки определяют положение полюсов на АЧХ. Их комбинация иными словами даёт требуемую ширину полосы пропускания а не подавление. Подавление зависит от порядка. В статье есть формула, из которой следует, что подавление за полосой примерно (11...13)N (дБ), где N - порядок. В случае если в каждом звене задержки разные, то полюса будут приходиться на разные частоты и играя этими задержками можно получить подавление еще на 10-15 дБ лучше, т.к. большие лепестки будут разбиваться полюсами других каскадов. CIC фильтр можно охарактеризовать вектором его задержек, размером N. Первая задержка определяет ширину полосы. Остальные задержки должны быть небольше. В матлабе всё это прекрасно смотрится. В свое время я подбирал эти коэффициенты и для 5го порядка получал около 75-80 дБ, если не изменяет память. Во всей англоязычной литературе задержка берется равной 1 или 2. В этой статье задержка равна 2R Есть два подхода к реализации фильтра. В первом случае сначала делаются интеграторы, потом децимация, а потом гребенчатые фильтры. Тогда экономится память, т.к. на пониженной частоте задержи уменьшаются во столько же раз, во сколько понизилась частота. Но фильтр становится менее гибким, т.к. задержки должны быть кратны децимации. И на интеграторах растёт разрядность, которую нельзя снижать до децимации или выхода фильтра (не помню). В другом подходе фильтр делается из каскадов, каждый каскад это интегратор + гребенчатый. Каскады ставятся друг за другом. И только после делается децимация. Тогда задержки получаются большими. В ПЛИС их лучше делать на памяти. Но уходит намного меньше логики и задержки можно выбрать любыми. UPD. Значит при R=320 получается огромное усиление? Как тогда быть? нужно децимировать в 320 раз Делал децимацию с 100 МГц до 128 кГц, а это 750 раз. Там в два этапа CIC ставил, но это было давно и неправда, в 1 думаю тоже можно. Каких то проблем с переусилением не было. Изменено 18 июня, 2015 пользователем serjj Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Artunique 0 18 июня, 2015 Опубликовано 18 июня, 2015 · Жалоба Делал децимацию с 100 МГц до 128 кГц, а это 750 раз. Там в два этапа CIC ставил, но это было давно и неправда, в 1 думаю тоже можно. Каких то проблем с переусилением не было. Если в 2 этапа делать, то корректор нужно после каждого CIC ставить или в конце? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 18 июня, 2015 Опубликовано 18 июня, 2015 · Жалоба В конце, корректировать нужно только второй фильтр. Между CIC делается промежуточная децимация. Попробуйте сначала в 1 этап. Может не нужно будет этот изврат городить) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Artunique 0 18 июня, 2015 Опубликовано 18 июня, 2015 · Жалоба В конце, корректировать нужно только второй фильтр. Между CIC делается промежуточная децимация. Попробуйте сначала в 1 этап. Может не нужно будет этот изврат городить) Я просто пользуюсь коркой Quartus для CIC и FIR. И с избирательностью никак в ТЗ не попадаю. Грешил на переполнения, но их нет. Коэффициенты для FIR считал матлабом. И с разрядностью как только не экспериментировал. В fdatool вбиваю параметры CIC, у него усиление на графике АЧХ 280 получается. У FIR корректора 120. Это влияет на что-то? или эти значения нормируются как-то в плисине и можно не париться? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 18 июня, 2015 Опубликовано 18 июня, 2015 · Жалоба У вас разрядность на выходе CIC W_adc + 9, FIR - W_adc + 10. Этого достаточно. Ничего экспериментировать не нужно. Я не знаю как устроена корка CIC фильтра от Альтеры и как её настраивать, нужно курить доки. И в матлабе премудростями всякими для расчёта фильтров не пользовался. Своя модель для CIC была, по ней всё работало и с железкой билось. Могу только вам свою корку CIC предложить. Я хотя бы знаю как её настраивать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Artunique 0 18 июня, 2015 Опубликовано 18 июня, 2015 (изменено) · Жалоба У вас разрядность на выходе CIC W_adc + 9, FIR - W_adc + 10. Этого достаточно. Ничего экспериментировать не нужно. Я не знаю как устроена корка CIC фильтра от Альтеры и как её настраивать, нужно курить доки. И в матлабе премудростями всякими для расчёта фильтров не пользовался. Своя модель для CIC была, по ней всё работало и с железкой билось. Могу только вам свою корку CIC предложить. Я хотя бы знаю как её настраивать. У меня с adc и nco по 14 бит идут на смеситель. оттуда я забираю 15-16 бит, которые уже идут в cic и далее в fir. на выходе fir должно быть строго 24 бита Изменено 18 июня, 2015 пользователем Artunique Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 18 июня, 2015 Опубликовано 18 июня, 2015 (изменено) · Жалоба В общем если надо, то вот cic. Если решите попробовать его поставить, велкам могу сказать что там менять (хотя там все оч просто). Ну или добивайте альтеровскую корку ) Изменено 18 июня, 2015 пользователем serjj Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 18 июня, 2015 Опубликовано 18 июня, 2015 · Жалоба И с избирательностью никак в ТЗ не попадаю. Потому что надо сначала считать, потом делать. Лень делать в матлабе, возьмите маткад. Забейте туда ИХ вашего цика, фира, сделайте свертку и возьмите прямое фурье. Работа на полчаса - час. Сразу станет понятен и порядок цика и его регулярность и как "яйца" ИХ тракта себя ведут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Artunique 0 18 июня, 2015 Опубликовано 18 июня, 2015 · Жалоба В общем если надо, то вот cic. Если решите попробовать его поставить, велкам могу сказать что там менять (хотя там все оч просто). Ну или добивайте альтеровскую корку ) Спасибо, посмотрю. И еще такой вопрос: усиление CIC реальное чему равно? я имею в виду после применения округления по статье Хогенауэра. оно же явно меньше? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
serjj1333 0 18 июня, 2015 Опубликовано 18 июня, 2015 (изменено) · Жалоба усиление CIC реальное чему равно? да что ж вы так прицепились к этому несчастному усилению? Для вас критерием должны являться относительные величины а не абсолютные. А это например подавление фильтра за полосой. В матлабе я всегда АЧХ нормирую, у меня даже мысли не возникало смотреть какое у него там усиление, я же не усилитель делаю. В железе и в CIC и в FIR промежуточное усиление есть, усиление по выходу, т.е. усечение разрядности, вы там реального усиления тоже не увидите. Другое дело, что усечение нужно делать очень аккуратно, потому что если сделать неправильно оно повлияет на собственно соотношение полоса пропускания/полоса подавление, как следствие - потеря чутья. А усиление - вещь которая в цифре зависит от разрядности, выбранного масштаба коэффициентов и т.д., совершенно непоказательная характеристика. Изменено 18 июня, 2015 пользователем serjj Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться