|
Передискретизация и увеличение разрядности АЦП, вопрос по реализации |
|
|
|
 |
Ответов
|
Apr 1 2011, 18:57
|
Знающий
   
Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997

|
Цитата(Alexashka @ Apr 1 2011, 13:15)  Всем добрый день! Встала такая задача: у имеющегося 10-битного АЦП нужно повысить эффективную разрядность до 12 бит. .. Делал что-то подобное с 12-битным ADS788. Нужна была полоса до 100 кГц, а частоту сэмплирования можно было выбрать до 2 МГц (при питании 3.3В). В первую очередь подыскал АЦП, чтобы SFDR (Spurious free dynamic range) (кроме подходящей цены, скорости, и т.д..) был бы побольше, чем как для 12 бит. У ADS788 он 86 дБ как раз на 100 кГц, что соответствует примерно 14 разрядам. Сделал пробные оцифровки с частотой примерно 1500 ksps, посмотрел сигнал и сделал по нему спектр и спектрограмму (много раз с разными настройками). Действительно, получил нижний уровень не хуже -90 дБ относительно полной шкалы. Дальше было все понятно - делать FIR фильтр, децимацию. Кроме того, что внутренние шумы оказались меньше одного шага квантования, что приводило к тому, что при оцифровке сигнала, меньшего чем шаг квантования, АЦП выдавал один и тот же код длительное время. Естественно, это приводило к тому, что фильтровать на некоторых существенных отрезках было нечего. Выкрутился тем, что вне полосы подал тон (хотел шум, но простого меандра хватило) с уровнем выше шага квантования и тогда действительно был получен уровень -90 дБ. Выводы сделал такие, что 1) - нужен АЦП с 'повышенной внутренней разрядностью', пусть хоть он 8-битный и 2) - возможно, для улучшения диапазона в полосе придется добавить шум вне полосы, который потом отфильтровать (почти как в сигма-дельте). Для оценки фильтра можно применить тот же FFT анализ, подбирая подходящее окно, которое и является импульсной характеристикой фильтра. Понятно, применение прямоугольного окна (что эквивалентно простому суммированию, допустим, по 16 точек) менее эффективно, чем сглаживающего окна. И надо при выборе окна обязательно знать его частотную характеристику, чтобы в полосе сигнала получить единичную передачу (или какая нужна), а все, что вне полосы задавить на минимально необходимую величину.
Сообщение отредактировал sup-sup - Apr 1 2011, 19:12
|
|
|
|
|
Apr 2 2011, 14:15
|

Практикующий маг
     
Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576

|
Цитата(sup-sup @ Apr 1 2011, 22:57)  Делал что-то подобное с 12-битным ADS788. Нужна была полоса до 100 кГц, а частоту сэмплирования можно было выбрать до 2 МГц (при питании 3.3В). В первую очередь подыскал АЦП, чтобы SFDR (Spurious free dynamic range) (кроме подходящей цены, скорости, и т.д..) был бы побольше, чем как для 12 бит. У ADS788 он 86 дБ как раз на 100 кГц, что соответствует примерно 14 разрядам. Сделал пробные оцифровки с частотой примерно 1500 ksps, посмотрел сигнал и сделал по нему спектр и спектрограмму (много раз с разными настройками). Действительно, получил нижний уровень не хуже -90 дБ относительно полной шкалы. Дальше было все понятно - делать FIR фильтр, децимацию. Кроме того, что внутренние шумы оказались меньше одного шага квантования, что приводило к тому, что при оцифровке сигнала, меньшего чем шаг квантования, АЦП выдавал один и тот же код длительное время. Естественно, это приводило к тому, что фильтровать на некоторых существенных отрезках было нечего. Выкрутился тем, что вне полосы подал тон (хотел шум, но простого меандра хватило) с уровнем выше шага квантования и тогда действительно был получен уровень -90 дБ. Выводы сделал такие, что 1) - нужен АЦП с 'повышенной внутренней разрядностью', пусть хоть он 8-битный и 2) - возможно, для улучшения диапазона в полосе придется добавить шум вне полосы, который потом отфильтровать (почти как в сигма-дельте). Для оценки фильтра можно применить тот же FFT анализ, подбирая подходящее окно, которое и является импульсной характеристикой фильтра. Понятно, применение прямоугольного окна (что эквивалентно простому суммированию, допустим, по 16 точек) менее эффективно, чем сглаживающего окна. И надо при выборе окна обязательно знать его частотную характеристику, чтобы в полосе сигнала получить единичную передачу (или какая нужна), а все, что вне полосы задавить на минимально необходимую величину. Возникли вопросы. Спуры это палки которые постоянно сидят в спектре? Всмысле никакая фильтрация их уже не уберет если они попадают в полосу частот? У меня спектр чистенький до -120дб ровная полоска. Чтобы оценить "внутреннюю разрядность"... я так понял можно делая FFT на длительной реализации? Чтобы FFT работало как избирательный фильтр убирающий шумы квантования. И тогда спуры будет видно? Цитата Для оценки фильтра можно применить тот же FFT анализ, подбирая подходящее окно, которое и является импульсной характеристикой фильтра. Понятно, применение прямоугольного окна (что эквивалентно простому суммированию, допустим, по 16 точек) менее эффективно, чем сглаживающего окна. Не понял. Окно (взвешивающая функция) нужно чтобы минимизировать артефакты FFT преобразования. Т.е просто убирает сигнал вначале и в конце реализации. Разве оно работает как НЧ фильтр? Вы предлогаете делать свертку функции окна с сигналом? Зачем?
|
|
|
|
|
Apr 2 2011, 16:46
|
Знающий
   
Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997

|
Цитата(Alexashka @ Apr 2 2011, 17:15)  Возникли вопросы. Спуры это палки которые постоянно сидят в спектре? Всмысле никакая фильтрация их уже не уберет если они попадают в полосу частот? У меня спектр чистенький до -120дб ровная полоска. Чтобы оценить "внутреннюю разрядность"... я так понял можно делая FFT на длительной реализации? Чтобы FFT работало как избирательный фильтр убирающий шумы квантования. И тогда спуры будет видно?
Не понял. Окно (взвешивающая функция) нужно чтобы минимизировать артефакты FFT преобразования. Т.е просто убирает сигнал вначале и в конце реализации. Разве оно работает как НЧ фильтр? Вы предлогаете делать свертку функции окна с сигналом? Зачем? Не вижу причины, по которой результат должен быть хуже, чем от FFT. Если в нужной нам полосе получается 120 дБ, то его же (120 дБ) можно получить и методом 'фильтрация - децимация'. То есть, дополнительных разрядов получается значительно больше, чем 2. Если линейность АЦП 120 дБ обеспечивает. Кстати, в сигма дельте результат также зависит от порядка модулятора. Ну да, для нулевой частоты FFT как раз ФНЧ. Свертка делается между сигналом и окном. Для других частот уже получается (от перестановки результат ведь не меняется) свертка сигнала с косинусным и синусным ядром полосового фильтра. Только, действительно, это я не в тему, так как фильтр будет другой, для всей полосы. Но длина фильтра будет примерно как у понравившегося режима FFT Цитата(ViKo @ Apr 2 2011, 17:22)  В том-то и дело, что любое окно в фильтре КИХ служит для уменьшения пульсаций АЧХ за пределами полосы пропускания (боковых лепестков) путем расширения основного, расширения полосы пропускания. Вот я и сомневаюсь, что через такую АЧХ не пролезет больше шума. Не вижу противоречия. Фильтр-то один. Просто ядро у одного упрощенное и требует меньше ресурса. А у другого позволяет получить подходящую характеристику. То есть, в общем случае применяется FIR. А прямоугольное окно - это один из его вариантов (вырождений).
Сообщение отредактировал sup-sup - Apr 2 2011, 17:06
|
|
|
|
Сообщений в этой теме
Alexashka Передискретизация и увеличение разрядности АЦП Apr 1 2011, 10:15 ViKo Цитата(Alexashka @ Apr 1 2011, 13:15) Т.е... Apr 1 2011, 10:46 Tanya Тема перемещена по просьбе ТС. Apr 1 2011, 11:08 Alexashka Цитата(ViKo @ Apr 1 2011, 13:46) То есть ... Apr 1 2011, 11:45  hobgoblin Цитата(Alexashka @ Apr 1 2011, 15:45) Да,... Apr 1 2011, 13:32   Alexashka Цитата(hobgoblin @ Apr 1 2011, 17:32) Обы... Apr 2 2011, 13:36  ViKo Цитата(Alexashka @ Apr 1 2011, 14:45) Да,... Apr 1 2011, 13:38  vadimuzzz Цитата(Alexashka @ Apr 1 2011, 18:45) Раз... Apr 1 2011, 15:27 rezident Цитата(sup-sup @ Apr 2 2011, 00:57) ... Apr 1 2011, 19:05  sup-sup Цитата(rezident @ Apr 1 2011, 22:05) Дык ... Apr 1 2011, 19:19 ViKo Цитата(sup-sup @ Apr 1 2011, 21:57) ... Apr 2 2011, 10:16  sup-sup Цитата(ViKo @ Apr 2 2011, 13:16) А почему... Apr 2 2011, 13:46   ViKo Цитата(sup-sup @ Apr 2 2011, 16:46) ... Apr 2 2011, 14:22   ViKo Цитата(sup-sup @ Apr 2 2011, 19:46) ... Apr 2 2011, 18:14    sup-sup Цитата(ViKo @ Apr 2 2011, 21:14) В том и ... Apr 3 2011, 08:13 Alexashka Цитата(sup-sup @ Apr 1 2011, 22:57) ... Apr 3 2011, 15:36  sup-sup Цитата(Alexashka @ Apr 3 2011, 18:36) Дык... Apr 3 2011, 16:01 shf_05 Цитата(Alexashka @ Apr 1 2011, 16:15) Но ... Apr 4 2011, 05:07 Alexashka Цитата(shf_05 @ Apr 4 2011, 09:07) если п... Apr 4 2011, 10:42  тау Цитата(Alexashka @ Apr 4 2011, 14:42) Вот... Apr 4 2011, 11:58   ViKo Цитата(тау @ Apr 4 2011, 14:58) применяйт... Apr 4 2011, 14:55  hobgoblin ЦитатаЯ понял, т.е перед оцифровкой тогда мне нужн... Apr 4 2011, 12:38 тау Да, правильно.
При этом , если ТС подгадает с длит... Apr 4 2011, 15:05 Alexashka Спасибо за наводку тау, hobgoblin, не слышал ранее... Apr 4 2011, 18:12 ViKo Цитата(Alexashka @ Apr 4 2011, 21:12) Вот... Apr 5 2011, 06:46 Alexashka Промоделировал я "простейший CIC с прореживан... Apr 5 2011, 10:18 shf_05 Цитата(Alexashka @ Apr 5 2011, 16:18) одн... Apr 5 2011, 10:40  Alexashka Цитата(shf_05 @ Apr 5 2011, 14:40) завал ... Apr 5 2011, 11:36   sup-sup Цитата(Alexashka @ Apr 5 2011, 14:36) Да ... Apr 5 2011, 14:02    Alexashka Цитата(sup-sup @ Apr 5 2011, 18:02) ... Apr 5 2011, 17:22     sup-sup Цитата(Alexashka @ Apr 5 2011, 20:22) Иде... Apr 5 2011, 19:51      Alexashka Цитата(sup-sup @ Apr 5 2011, 23:51) ... Apr 5 2011, 20:13       sup-sup Цитата(Alexashka @ Apr 5 2011, 23:13) С э... Apr 6 2011, 05:03       тау Цитата(Alexashka @ Apr 6 2011, 00:13) Пра... Apr 6 2011, 08:02        sup-sup Еще раз обращаю внимание на то, что без внеполосно... Apr 6 2011, 11:52         Alexashka Цитата(sup-sup @ Apr 6 2011, 15:52) ... Apr 6 2011, 15:37          alexkok Цитата(Alexashka @ Apr 6 2011, 18:37) Т.е... Apr 6 2011, 17:03           Alexashka Цитата(alexkok @ Apr 6 2011, 21:03) Легко... Apr 7 2011, 05:24            alexkok Цитата(Alexashka @ Apr 7 2011, 08:24) Мож... Apr 7 2011, 17:04 Дмитрий_Б Цитата(Alexashka @ Apr 1 2011, 14:15) Вст... Apr 5 2011, 20:33 alexkok Цитата(Дмитрий_Б @ Apr 5 2011, 23:33) При... Apr 6 2011, 06:54 Alexashka В общем попробовал все о чем говорили на модели. Ч... Apr 7 2011, 10:39 sup-sup А зачем Вы добавляете шум в полосе?Это некорректны... Apr 7 2011, 11:20  Alexashka Цитата(sup-sup @ Apr 7 2011, 15:20) ... Apr 7 2011, 11:37 Alexashka Вообщем при наложении треугольника A=1LSB происход... Apr 8 2011, 06:48 alexkok Цитата(Alexashka @ Apr 8 2011, 09:48) Воо... Apr 9 2011, 22:15  Alexashka Цитата(alexkok @ Apr 10 2011, 02:15) При ... Apr 9 2011, 22:40   alexkok Цитата(Alexashka @ Apr 10 2011, 02:40) Эт... Apr 10 2011, 04:41    Alexashka Цитата(alexkok @ Apr 10 2011, 08:41) Я не... Apr 11 2011, 07:03     ViKo Цитата(Alexashka @ Apr 11 2011, 10:03) По... Apr 11 2011, 07:24      Alexashka Цитата(ViKo @ Apr 11 2011, 11:24) 74dB эт... Apr 11 2011, 07:53 ViKo для Alexashka
намекните, какой программой смотрите... Apr 8 2011, 08:19 Alexashka Цитата(ViKo @ Apr 8 2011, 12:19) для Alex... Apr 8 2011, 10:10 Александр77 Alexashka, проведи чистку почты - письма не отправ... Apr 8 2011, 13:14
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|