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

|
Цитата(Alexashka @ Apr 5 2011, 20:22)  Идею понял. Только вот возникает вопрос - а целесообразно ли это, сначала уменьшать частоту дискрет в 16 раз, а потом скажем увеличивать в 2 раза? Можно ли получить те же результаты сделав фильтрацию-децимацию в 8 раз -одним проходом? Конечно, сразу децимацию на 8, если нужна повышенная разборчивость во временной области. Это я предложил интерполяцию для самопроверки, что децимация сделана правильно. Хотя и на спектре это видно - он то не искажен почти. Для уточнения кроме chirp-сигнала можно взять пару частот рядом в верхнем диапазоне. В этом случае будут видны все 'помехи', так как частоты постоянные, а размер FFT можно взять побольше (максимальный для имеющейся выборки). В конце концов, нужно же увидеть в спектре результат повышения разрядности. Децимацию на 8 лучше делать каскадную, каждый раз на два. В этом случае фильтры получается короче и каждый следующий работает на вдвое низкой частоте.
Сообщение отредактировал sup-sup - Apr 5 2011, 19:56
|
|
|
|
|
Apr 5 2011, 20:13
|

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

|
Цитата(sup-sup @ Apr 5 2011, 23:51)  Конечно, сразу децимацию на 8, если нужна повышенная разборчивость во временной области. С этим ясно. Попробую какойнить простенький фильтр из той статейки. Насчет шумов и эфф.разрядности АЦП хочу уточнить. С усреднением понятно, даже с точки зрения математики разрядность повышается при усреднении показаний, т.к уменьшается дисперсия. А вот если для децимации используется другой (произвольный грубо говоря) фильтр НЧ? Правильно ли я понимаю, что уровень шума снизится в корень из [(Fs/2)/BW] раз, где Fs- частота отсчетов на выходе АЦП, BW -полоса пропускания децимирующего фильтра.
|
|
|
|
|
Apr 5 2011, 20:33
|
Местный
  
Группа: Участник
Сообщений: 211
Регистрация: 25-10-09
Пользователь №: 53 195

|
Цитата(Alexashka @ Apr 1 2011, 14:15)  Встала такая задача: у имеющегося 10-битного АЦП нужно повысить эффективную разрядность до 12 бит. ... Действительно, передискретизация даёт эффект улучшения отношения сигнал/шум квантования при условии некоррелированности соседних выборок. Это обеспечивается дополнительным шумом, спектр которого сосредоточен вне полосы частот измеряемого сигнала. При этом надо обеспечивать такое подавление спектра дополнительного шума в полосе частот измеряемого сигнала, чтобы его спектральная плотность была на ~10дБ меньше спектральной плотности шума квантования (тогда улучшение отношения сигнал/шум будет примерно на 0.5 дБ меньше теоретического). При этом надо иметь ввиду, что передискретизация не снижает уровень паразитных спектральных компонент, связанных с нелинейностью самого АЦП.
|
|
|
|
|
Apr 6 2011, 05:03
|
Знающий
   
Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997

|
Цитата(Alexashka @ Apr 5 2011, 23:13)  С этим ясно. Попробую какойнить простенький фильтр из той статейки.
Насчет шумов и эфф.разрядности АЦП хочу уточнить. С усреднением понятно, даже с точки зрения математики разрядность повышается при усреднении показаний, т.к уменьшается дисперсия. А вот если для децимации используется другой (произвольный грубо говоря) фильтр НЧ? Правильно ли я понимаю, что уровень шума снизится в корень из [(Fs/2)/BW] раз, где Fs- частота отсчетов на выходе АЦП, BW -полоса пропускания децимирующего фильтра. Усреднение это ФНЧ с ЧХ Sin(x)/x. Другой ФНЧ при похожей полосе примерно такой же уровень шума даст. Чем уже полоса, тем меньше шума. Другое дело, что для максимального повышения разрядности нужно подмешать к исходному сигналу шум вне полосы. Иначе сигнал меньше одного кванта не пройдет. Это можно увидеть и на модели. Для этого нужно взять в верхней части полосы маленький тон, посмотреть спектр, а затем подмешать к нему вне полосы тон побольше. После децимации у второго варианта шумы вокруг первого тона опустятся.
|
|
|
|
|
Apr 6 2011, 06:54
|
Знающий
   
Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837

|
Цитата(Дмитрий_Б @ Apr 5 2011, 23:33)  При этом надо иметь ввиду, что передискретизация не снижает уровень паразитных спектральных компонент, связанных с нелинейностью самого АЦП. Зависит от вида нелинейности. На плавную нелинейность не влияет, а локальную, особенно в середине шкалы (в нуле) и при малой амплитуде сигнала - уменьшает. Самый простой и эффективный способ - это не шум, а пилообразное напряжение с частотой Найквиста после децимации. Для данного случая реализуется счётчиком на 16 и ЦАПом на резисторах с ЕМР в 1/4 от ЕМР АЦП.
--------------------
|
|
|
|
|
Apr 6 2011, 11:52
|
Знающий
   
Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997

|
Еще раз обращаю внимание на то, что без внеполосного шума ничего не получится (почти). Если естественный шум есть в полосе, то какой он есть, такой и останется. Все надо делать как в сигма дельта. Если естественный шум вне полосы есть, то это очень хорошо. Я предлагал для пробы дать простой тон - это тоже поможет (для проверки). А чтобы оценить возможности ADC нужно посмотреть спектр при большом размере FFT. Можно дать входной сигнал на ADC вверху диапазона (который будет после децимации) с уровнем равным уровню квантования (разрешению ADC). Напустить на эту выборку FFT максимального размера. И весь запас в децибеллах, который мы увидим внизу от уровня сигнала будет нашими приобретенными битиками и это должно быть достижимо после децимации. Мы увидим, что чем выше частота дискретизации, тем ниже опускаются шумы, оставляя палки. Вот эти палки и определяют возможности ADC. Которые определены в параметре SFDR в datasheet. После подачи дополнительного внеполосного тона (с более высоким уровнем, чем сигнал, мы увидим улучшение (понижение шума) в полосе. Как говорится 'тот, кто нам мешает, нам поможет'. Это про шум.
Сообщение отредактировал sup-sup - Apr 6 2011, 12:14
|
|
|
|
|
Apr 6 2011, 15:37
|

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

|
Цитата(sup-sup @ Apr 6 2011, 15:52)  Еще раз обращаю внимание на то, что без внеполосного шума ничего не получится (почти). Если естественный шум есть в полосе, то какой он есть, такой и останется. Все надо делать как в сигма дельта. Если естественный шум вне полосы есть, то это очень хорошо. Я предлагал для пробы дать простой тон - это тоже поможет (для проверки). А чтобы оценить возможности ADC нужно посмотреть спектр при большом размере FFT. Можно дать входной сигнал на ADC вверху диапазона (который будет после децимации) с уровнем равным уровню квантования (разрешению ADC). Напустить на эту выборку FFT максимального размера. И весь запас в децибеллах, который мы увидим внизу от уровня сигнала будет нашими приобретенными битиками и это должно быть достижимо после децимации. Мы увидим, что чем выше частота дискретизации, тем ниже опускаются шумы, оставляя палки. Вот эти палки и определяют возможности ADC. Которые определены в параметре SFDR в datasheet. После подачи дополнительного внеполосного тона (с более высоким уровнем, чем сигнал, мы увидим улучшение (понижение шума) в полосе. Как говорится 'тот, кто нам мешает, нам поможет'. Это про шум. внеполосный сигнал снизит диф.нелинейность АЦП, но я уже писал что АЦП по шумам (SFDR) лучше 120дб (я делал FFT на 1млн.выборок), так что мне это не надо, а естественных шумов в сигнале достаточно (даже у самого АЦП первые 2 разряда прыгают постоянно). Я какбы тоже думал что спектральная плотность шумов не уменьшаются, просто сужается полоса частот, но вот Вы пишете: Цитата Другое дело, что для максимального повышения разрядности нужно подмешать к исходному сигналу шум вне полосы. Иначе сигнал меньше одного кванта не пройдет. Это можно увидеть и на модели. Для этого нужно взять в верхней части полосы маленький тон, посмотреть спектр, а затем подмешать к нему вне полосы тон побольше. После децимации у второго варианта шумы вокруг первого тона опустятся. Теперь Вы пишете, что шумы уменьшаются...почему? И разве самого сигнала недостаточно чтобы при децимации(+фильтрации) начали снижаться шумы (ведь скачки между уровнями есть)? Цитата(alexkok @ Apr 6 2011, 10:54)  Самый простой и эффективный способ - это не шум, а пилообразное напряжение с частотой Найквиста после децимации. Т.е подать на вход АЦП сигнал 250Гц? А какой амлитуды? Ох боюсь трудно мне потом будет его отфильтровать от полезного сигнала  . update 2 sup-sup: мдя, про 2 прыгающих разряда я погорячился, на закороченном входе прыгает только младший разряд и то если попадаешь на ступеньку LSB  . Кстати в модели шумы тоже есть, только с ними я не успел поиграться. Какой параметр лучше смотреть чтобы оценить улучшение сигнал/шум? SINAD? Завтра сделаю как Вы сказали и расскажу что получилось
|
|
|
|
|
Apr 6 2011, 17:03
|
Знающий
   
Группа: Участник
Сообщений: 609
Регистрация: 3-03-07
Из: San Jose
Пользователь №: 25 837

|
Цитата(Alexashka @ Apr 6 2011, 18:37)  Т.е подать на вход АЦП сигнал 250Гц? А какой амлитуды? Легко посчитать: Размах: 1/4 ЕМР * 16 = 4 ЕМР Вашего АЦП, амплитуда будет в два раза меньше. Цитата Ох боюсь трудно мне потом будет его отфильтровать от полезного сигнала  . А его специально фильтровать не надо, он внеполосный и убирается при децимации (если не забудете скомпенсировать постоянную составляющую). Но если у Вас во входном сигнале и так достаточно помех и шумов, то ничего дополнительного не нужно.
--------------------
|
|
|
|
|
Apr 7 2011, 10:39
|

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

|
В общем попробовал все о чем говорили на модели. Что получилось: 1) При интерполяции сигнал восстанавливается очень хорошо, с меньшей амплитудой правда, но она меньше у всех импульсов, что можно списать на завал частотки в усредняющем окне. 2) Ввел функцию замера SINAD для исходного сигнала и прореженного. Для проверки брал синус 60Гц с наложенным на него белым шумом с таким соотношением амплитуд, чтобы получить сигнал/шум=2 (6дб). В прореженном сигнале сигнал/шум увеличился на 10,8дб. Не знаю на сколько это хорошо, но получается близко к 12дб (что соответсвует увелич.разрядности на 2 бита). См.рисунок 1. 3) Добавление пилы с амплитудой =10 LSB незначительно уменьшает сигнал/шум. См. рисунок 2. Видно что появилась палка на 250Гц на спектре исходного сигнала. Сама пила показана на рисунке 3. 4) Пила при усреднении остается и в прореженном и в интерполированном сигнале (рисунок 3, красный и фиолетовый лучи).
5) Все ясно! Пилу надо было брать с частотой прореженного сигнала (500Гц), тогда она полностью удаляется при децимации и не ухудшает сигнал/шум (рис.4)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|