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

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

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

Ну это предложение alexkok, мне показалось интересным и простым в реализации. Справедливости ради нужно отметить, что на малых амплитудах С/Ш увеличивается при наложении треугольника (он оказался лучше, чем пила), оптимальная его амплитуда составляет 0,5 LSB. Например для синуса с амплитудой=2LSB сигнал/шум улучшается с 11,4 до 33дб. Так что метод наложения пилы(треугольника) с f=fdecim работает хорошо на малых амплитудах.

 

 

И мне кажется такой сигнал можно считать внеполосным поскольку он полностью подавляется усредняющим окном, а Вы предлогаете как сделать -подать скажем 2кГц и потом до децимации отфильтровать их?

post-4576-1302176703_thumb.png

update. Не сразу дошло о чем Вы говорите :). Понял, дополнительный шум не нужен, он итак будет изза дискретности уровней. Ок, завтра проверю!

P.S. Спасибо за помощь :a14: и как говорят ребята из South Park'а "мы многое поняли сегодня..."))

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


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

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

Да, с частотой децимации, моя ошибка.

 

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

"Пила" эквивалентна КИХ фильтру с прямоугольным окном по отношению к характеристике преобразования и лучше подавляет дифференциальную нелинейность при длинном окне (большой амплитуде).

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

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

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

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


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

Вообщем при наложении треугольника A=1LSB происходит какбы разравнивание спектра, отдельные пички размываются в более низкие и широкие. Сигнал/шум в некоторых случаях увеличивается, в некоторых уменьшается, я бы сказал 50/50.

Слева сигнал без наложения, справа- с наложением треугольника Амп=1LSB, 500Гц. Сигнал/шум увеличился всего 0,5дБ, но SFDR возрос прилично.

 

post-4576-1302245717_thumb.png  post-4576-1302245723_thumb.png

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


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

для Alexashka

намекните, какой программой смотрите. LabView?

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


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

для Alexashka

намекните, какой программой смотрите. LabView?

Да, ей :)

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


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

:bb-offtopic:

Alexashka, проведи чистку почты - письма не отправляются, говорят переполнено все

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


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

Вообщем при наложении треугольника A=1LSB происходит какбы разравнивание спектра, отдельные пички размываются в более низкие и широкие. Сигнал/шум в некоторых случаях увеличивается, в некоторых уменьшается, я бы сказал 50/50.

Слева сигнал без наложения, справа- с наложением треугольника Амп=1LSB, 500Гц. Сигнал/шум увеличился всего 0,5дБ, но SFDR возрос прилично.

При амплитуде 1ЕМР можно попробовать три разряда добавить, а не два.

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


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

При амплитуде 1ЕМР можно попробовать три разряда добавить, а не два.

Это надо будет в железе пробовать, но сильно задирать частоту оцифровки тоже не могу -проц делает обработку на низкой частоте. Тогда уж проще другой АЦП брать.

PS. Пробовал CIC фильтр 4 порядка - 4интегратора и 4 гребенки с задержкой на 12 (по ссылке что я приводил тут). После него -децимация на 16 (чтобы было все по аналогии с усредняющим окном). АЧХ все как в статье, но С/Ш не увеличивает, а наоборот уменьшает (только на единицах герц немного увеличивает, а гдето с 10Гц и выше - делает хуже). Не понимаю почему так, ведь полоса пропускания такаяже (подогнал) как у усредняющего окна.

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


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

Это надо будет в железе пробовать, но сильно задирать частоту оцифровки тоже не могу -проц делает обработку на низкой частоте. Тогда уж проще другой АЦП брать.

Я не предлагаю что либо менять в железе, или частоту оцифровки.

Я предлагаю после суммирования 16-ти отсчётов отбрасывать не два разряда, а один.

То же самое измерение/моделирование можно сделать для амплитуды 0.5ЕМР и вообще без отбрасывания разрядов после суммирования.

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


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

Я не предлагаю что либо менять в железе, или частоту оцифровки.

Я предлагаю после суммирования 16-ти отсчётов отбрасывать не два разряда, а один.

То же самое измерение/моделирование можно сделать для амплитуды 0.5ЕМР и вообще без отбрасывания разрядов после суммирования.

SINAD при наложение что 1ЕМР, что 0,5 -получается примерно одинаков. Возможно все дело в том, что я не учитываю диф.нелинейность самого АЦП. Это сложновато сделать, а еще трудней убедится что полученная модель работает адекватно.

Вот, поэтому лучше смотреть сразу в железе.

А так, Вы правы, есть смысл оставить даже все 14 разрядов. Потомучто получается следующее. Исправил один баг в программе и сделал пересчет SINAD в эфф.разряды. Получилось вот что (кол-во оставляемых разрядов | кол-во эффективных разрядов):

10 | 9,8

11 | 10,9

12 | 11,5

13 | 11,8

14 | 12,0

Т.е получается, что реально увеличение разрешения АЦП на 2 бита получается если итоговую сумму вообще не делить.

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


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

По моделированию получено SINAD=74дб, это 12 разрядов. Вы думаете есть смысл оставить 13?

74dB это все-таки чуть больше, чем 12 разрядов. Так что сысл в 13-м есть. Но вопрос, как такое слово хранить, передавать. 12 битов можно компактнее упаковать.

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


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

74dB это все-таки чуть больше, чем 12 разрядов. Так что сысл в 13-м есть. Но вопрос, как такое слово хранить, передавать. 12 битов можно компактнее упаковать.

Была ошибка в программе- я не округлил число на выходе делителя до int16. Был float и изза этого SINAD получался несколько больше, чем должен быть.

Выше я привел значение для эффективной разрядности, пересчет делал по формуле Nэфф=(SINAD(db) - 1.76) / 6.02

 

Update: С CIC фильтром 4го порядка разобрался. У него вначале перех.процесс идет просто, выкинул первые 100 отсчетов по выходу фильтра и все стало на место - SINAD стал такойже как и с усредняющим окном :disco:

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


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

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

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

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

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

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

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

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

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

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