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

Передискретизация и увеличение разрядности АЦП

завал АЧХ конечно будет, об этом Вам писали, надо применять корректирующий ких фильтр, а вот там где "выборка не попадает в точку" это не искажения, это "обман зрения".

 

Да бог с ним, с завалом. Это учесть можно. А вот учесть то что я не попадаю в максимум -как? 

 

 

Почему обман зрения? посмотрите на нижний левый график на втором рисунке. Это то что получится при реальной обработке, - две точки попадают по бокам импульса.

 

 

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


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

Да бог с ним, с завалом. Это учесть можно. А вот учесть то что я не попадаю в максимум -как? 

 

 

Почему обман зрения? посмотрите на нижний левый график на втором рисунке. Это то что получится при реальной обработке, - две точки попадают по бокам импульса.

А Вы выполните интерполяцию (для проверки) из полученного сигнала и получите опять гладкую огибающую и красивые точки (только завал частотки еще сильнее будет, если применить такой же интерполирующий фильтр как и при децимации).

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


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

А Вы выполните интерполяцию (для проверки) из полученного сигнала и получите опять гладкую огибающую и красивые точки (только завал частотки еще сильнее будет, если применить такой же интерполирующий фильтр как и при децимации).

Идею понял. Только вот возникает вопрос - а целесообразно ли это, сначала уменьшать частоту дискрет в 16 раз, а потом скажем увеличивать в 2 раза? Можно ли получить те же результаты сделав фильтрацию-децимацию в 8 раз -одним проходом?

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


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

Идею понял. Только вот возникает вопрос - а целесообразно ли это, сначала уменьшать частоту дискрет в 16 раз, а потом скажем увеличивать в 2 раза? Можно ли получить те же результаты сделав фильтрацию-децимацию в 8 раз -одним проходом?

Конечно, сразу децимацию на 8, если нужна повышенная разборчивость во временной области. Это я предложил интерполяцию для самопроверки, что децимация сделана правильно. Хотя и на спектре это видно - он то не искажен почти. Для уточнения кроме chirp-сигнала можно взять пару частот рядом в верхнем диапазоне. В этом случае будут видны все 'помехи', так как частоты постоянные, а размер FFT можно взять побольше (максимальный для имеющейся выборки). В конце концов, нужно же увидеть в спектре результат повышения разрядности.

Децимацию на 8 лучше делать каскадную, каждый раз на два. В этом случае фильтры получается короче и каждый следующий работает на вдвое низкой частоте.

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

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


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

Конечно, сразу децимацию на 8, если нужна повышенная разборчивость во временной области.

С этим ясно. Попробую какойнить простенький фильтр из той статейки.

 

Насчет шумов и эфф.разрядности АЦП хочу уточнить. С усреднением понятно, даже с точки зрения математики разрядность повышается при усреднении показаний, т.к уменьшается дисперсия. А вот если для децимации используется другой (произвольный грубо говоря) фильтр НЧ? Правильно ли я понимаю, что уровень шума снизится в корень из [(Fs/2)/BW] раз, где Fs- частота отсчетов на выходе АЦП, BW -полоса пропускания децимирующего фильтра.

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


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

Встала такая задача: у имеющегося 10-битного АЦП нужно повысить эффективную разрядность до 12 бит. ...

 

Действительно, передискретизация даёт эффект улучшения отношения сигнал/шум квантования при условии некоррелированности соседних выборок. Это обеспечивается дополнительным шумом, спектр которого сосредоточен вне полосы частот измеряемого сигнала. При этом надо обеспечивать такое подавление спектра дополнительного шума в полосе частот измеряемого сигнала, чтобы его спектральная плотность была на ~10дБ меньше спектральной плотности шума квантования (тогда улучшение отношения сигнал/шум будет примерно на 0.5 дБ меньше теоретического).

При этом надо иметь ввиду, что передискретизация не снижает уровень паразитных спектральных компонент, связанных с нелинейностью самого АЦП.

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


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

С этим ясно. Попробую какойнить простенький фильтр из той статейки.

 

Насчет шумов и эфф.разрядности АЦП хочу уточнить. С усреднением понятно, даже с точки зрения математики разрядность повышается при усреднении показаний, т.к уменьшается дисперсия. А вот если для децимации используется другой (произвольный грубо говоря) фильтр НЧ? Правильно ли я понимаю, что уровень шума снизится в корень из [(Fs/2)/BW] раз, где Fs- частота отсчетов на выходе АЦП, BW -полоса пропускания децимирующего фильтра.

Усреднение это ФНЧ с ЧХ Sin(x)/x. Другой ФНЧ при похожей полосе примерно такой же уровень шума даст. Чем уже полоса, тем меньше шума.

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

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


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

При этом надо иметь ввиду, что передискретизация не снижает уровень паразитных спектральных компонент, связанных с нелинейностью самого АЦП.

Зависит от вида нелинейности.

На плавную нелинейность не влияет, а локальную, особенно в середине шкалы (в нуле) и при малой амплитуде сигнала - уменьшает.

Самый простой и эффективный способ - это не шум, а пилообразное напряжение с частотой Найквиста после децимации.

Для данного случая реализуется счётчиком на 16 и ЦАПом на резисторах с ЕМР в 1/4 от ЕМР АЦП.

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


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

Правильно ли я понимаю, что уровень шума снизится в корень из [(Fs/2)/BW] раз, где Fs- частота отсчетов на выходе АЦП, BW -полоса пропускания децимирующего фильтра.

правильно.

 

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


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

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

А чтобы оценить возможности ADC нужно посмотреть спектр при большом размере FFT.

Можно дать входной сигнал на ADC вверху диапазона (который будет после децимации) с уровнем равным уровню квантования (разрешению ADC). Напустить на эту выборку FFT максимального размера. И весь запас в децибеллах, который мы увидим внизу от уровня сигнала будет нашими приобретенными битиками и это должно быть достижимо после децимации. Мы увидим, что чем выше частота дискретизации, тем ниже опускаются шумы, оставляя палки. Вот эти палки и определяют возможности ADC. Которые определены в параметре SFDR в datasheet. После подачи дополнительного внеполосного тона (с более высоким уровнем, чем сигнал, мы увидим улучшение (понижение шума) в полосе. Как говорится 'тот, кто нам мешает, нам поможет'. Это про шум.

 

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

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


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

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

А чтобы оценить возможности ADC нужно посмотреть спектр при большом размере FFT.

Можно дать входной сигнал на ADC вверху диапазона (который будет после децимации) с уровнем равным уровню квантования (разрешению ADC). Напустить на эту выборку FFT максимального размера. И весь запас в децибеллах, который мы увидим внизу от уровня сигнала будет нашими приобретенными битиками и это должно быть достижимо после децимации. Мы увидим, что чем выше частота дискретизации, тем ниже опускаются шумы, оставляя палки. Вот эти палки и определяют возможности ADC. Которые определены в параметре SFDR в datasheet. После подачи дополнительного внеполосного тона (с более высоким уровнем, чем сигнал, мы увидим улучшение (понижение шума) в полосе. Как говорится 'тот, кто нам мешает, нам поможет'. Это про шум.

внеполосный сигнал снизит диф.нелинейность АЦП, но я уже писал что АЦП по шумам (SFDR) лучше 120дб (я делал FFT на 1млн.выборок), так что мне это не надо, а естественных шумов в сигнале достаточно (даже у самого АЦП первые 2 разряда прыгают постоянно).

Я какбы тоже думал что спектральная плотность шумов не уменьшаются, просто сужается полоса частот, но вот Вы пишете:

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

Теперь Вы пишете, что шумы уменьшаются...почему? И разве самого сигнала недостаточно чтобы при децимации(+фильтрации) начали снижаться шумы (ведь скачки между уровнями есть)?

 

Самый простой и эффективный способ - это не шум, а пилообразное напряжение с частотой Найквиста после децимации.

Т.е подать на вход АЦП сигнал 250Гц? А какой амлитуды? Ох боюсь трудно мне потом будет его отфильтровать от полезного сигнала :rolleyes: .

update 2 sup-sup: мдя, про 2 прыгающих разряда я погорячился, на закороченном входе прыгает только младший разряд и то если попадаешь на ступеньку LSB :yeah: .

Кстати в модели шумы тоже есть, только с ними я не успел поиграться. Какой параметр лучше смотреть чтобы оценить улучшение сигнал/шум? SINAD? Завтра сделаю как Вы сказали и расскажу что получилось

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


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

Т.е подать на вход АЦП сигнал 250Гц? А какой амлитуды?

Легко посчитать:

Размах: 1/4 ЕМР * 16 = 4 ЕМР Вашего АЦП, амплитуда будет в два раза меньше. :rolleyes:

Ох боюсь трудно мне потом будет его отфильтровать от полезного сигнала :rolleyes: .

А его специально фильтровать не надо, он внеполосный и убирается при децимации (если не забудете скомпенсировать постоянную составляющую).

Но если у Вас во входном сигнале и так достаточно помех и шумов, то ничего дополнительного не нужно.

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


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

Легко посчитать:

Размах: 1/4 ЕМР * 16 = 4 ЕМР Вашего АЦП, амплитуда будет в два раза меньше. :rolleyes:

 

А его специально фильтровать не надо, он внеполосный и убирается при децимации (если не забудете скомпенсировать постоянную составляющую).

Но если у Вас во входном сигнале и так достаточно помех и шумов, то ничего дополнительного не нужно.

Может я чего не понимаю..."с частотой Найквиста после децимации" -в моем случае 250Гц, значит на один период "пилы" приходится 4мс или 2 интервала (результата) суммирования (частота на выходе дециматора -500Гц). Если первый интервал придется на начало (подъем) пилы, а второй на верхнюю ее часть, то два эти результата будут разные. Т.е на выходе сумматора будет прыгающий с частотой 250Гц код. Разве не так?

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


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

В общем попробовал все о чем говорили на модели. Что получилось: 

 

1) При интерполяции сигнал восстанавливается очень хорошо, с меньшей амплитудой правда, но она меньше у всех импульсов, что можно списать на завал частотки в усредняющем окне.

 

2) Ввел функцию замера SINAD для исходного сигнала и прореженного. Для проверки брал синус 60Гц с наложенным на него белым шумом с таким соотношением амплитуд, чтобы получить сигнал/шум=2 (6дб).

 

В прореженном сигнале сигнал/шум увеличился на 10,8дб. Не знаю на сколько это хорошо, но получается близко к 12дб (что соответсвует увелич.разрядности на 2 бита). См.рисунок 1.

 

3) Добавление пилы с амплитудой =10 LSB незначительно уменьшает сигнал/шум. См. рисунок 2. Видно что появилась палка на 250Гц на спектре исходного сигнала. Сама пила показана на рисунке 3.

 

4) Пила при усреднении остается и в прореженном и в интерполированном сигнале (рисунок 3, красный и фиолетовый лучи).

 

post-4576-1302172696_thumb.png

 

post-4576-1302172706_thumb.png

 

post-4576-1302172712_thumb.png

 

5) Все ясно! Пилу надо было брать с частотой прореженного сигнала (500Гц), тогда она полностью удаляется при децимации и не ухудшает сигнал/шум (рис.4)  B)

 

post-4576-1302174406_thumb.png

 

 

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


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

А зачем Вы добавляете шум в полосе?Это некорректный эксперимент. Естественно, если шум белый, то получится 'ожидаемый' результат. А если цель - увеличить эффективную разрядность, то в полосу ничего добавлять не надо, кроме маленького сигнала. Сигнал должен помещаться внутри младшего разряда. Нужно посмотреть исходный результат, а потом добавить внеполосный шум или треугольник.

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


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

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

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

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

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

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

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

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

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

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