Российский производитель и разработчик сертифицированного измерительного оборудования с 1987 года


Точность частоты дискретизации с E20-10

Вы не вошли.

 Поиск | Регистрация | Вход 

Андрей
14.10.2010 13:00:07
#1

Гость

Точность частоты дискретизации с E20-10

Использую E20-10, в данный момент требуется частота дискретизации порядка 5-20 кГц, с точностью до Герца.
Выставляю частоту внутреннего опорного генератора в 1 МГц, соответственно устанавливаю межкадровые задержки и т.п. Но оказалось, что частота дискретизации вовсе не устанавливается с точностью до Герца (как это можно было бы понять из описания API).
Пересмотрел документацию на E20-10, там сказано "Относительная погрешность частоты преобразования АЦП: не более 0,005 % в рабочих условиях". То есть получается что эта погрешность исчисляется от частоты опоры и реальная частота дискретизации (в случае килогерц) не может быть установлена с точностью до Герца ?
Правильно ли я понимаю ?

14.10.2010 13:54:49
#2

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Точность частоты дискретизации с E20-10

Андрей, внутренний опорный генератор E20-10 имеет стабильность частоты +-50ppm (ppm=одна миллионная часть), т.е +-0,005% от номинального значения при всех факторах воздействий (температурный,  долговременный и пр.). Это означает, что все частоты, получаемые счётным методом деления частоты (именно так происходит внутри E20-10), должны иметь относительную погрешность не более +-0,005% от установленного значения частоты, т.е для Вашего случая (20000+-1) Гц,  (5000+-0,25) Гц. Причём, в Вашем случае, настроив сигнал SYNC на режим "Внутренний с трансляцией на выход" будет удобно проконтролировать частоту синхронизации АЦП 1 МГц внешним частотомером.

Если Вы не получаете требуемые точности, то сообщите все программные настройки, все условия и результаты эксперимента (под Lgraph или Lgraph2), (E20-10 rev.А или B?) - тогда мы смогли бы воспроизвести Ваш эксперимент и выяснить причины.

Андрей
15.10.2010 09:52:33
#3

Гость

Re: Точность частоты дискретизации с E20-10

E20-10 rev.B, работа через API lusbapi.dll;

DWORD Fdiskr = 7000;
. . . . . .
static const BYTE AdcChannels = 1;
static const double AdcRate = 1000.0;
. . . . . .
ap.AdcRate = AdcRate;
ap.InterKadrDelay = ((double)1000.0)/mv[cn].Fdiskr - (AdcChannels-1)/AdcRate; // межкадровая задержка в мс
. . . . . .
pModule->SET_ADC_PARS(&ap);
. . . . . .

Результаты такие. При запуске оцифровки нашего сигнала (пока не буду вдаваться в подробности о сигнале - это вроде бы не нужно) результаты натолкнули на мысль, что неверна частота дискретизации, причем число отсчетов верное, т.е. имеется погрешность во времени оцифровки. Это предположение было проверено следующим образом: оцифровывались секундные импульсы с приемника GPS, расстояние между пиками в отсчетах отличалось от частоты дискретизации (числа отсчетов за секунду) на десятки герц.

Андрей
15.10.2010 09:55:30
#4

Гость

Re: Точность частоты дискретизации с E20-10

p.s. Во фрагменте исходника для упрощения в первой строчке Fdiskr показана как переменная, хотя это поле структуры mv[cn], так что в строке
ap.InterKadrDelay = ...

mv[cn].Fdiskr - та же переменная

15.10.2010 10:46:58
#5

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Точность частоты дискретизации с E20-10

1) Явно скажите, какую именно межкадровую задержку Вы ставите?
2) Сформулируйте яснее, пожалуйста, за какой интервал измерения какую ошибку по времени Вы получаете? Если ошибка по времени менее 0,005% от интервала измерения, то всё в норме.

15.10.2010 10:49:27
#6

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Точность частоты дискретизации с E20-10

Прошу это проверить под Lgraph или Lgraph2.

15.10.2010 10:52:53
#7

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: Точность частоты дискретизации с E20-10

Посмотрите в описании e2010_programmers_guide.pdf  пункт 3.2.4. Формат кадра отсчетов.

В вашем примере AdcRate = 1000.0 кГц, InterKadrDelay = 1000.0/7000.0 ~= 0.142857 мс.
Межкадровая задержка исчисляется в тактах АЦП, т.е. будет кратной 1/AdcRate мс. В данном случае функция SET_ADC_PARS() округлит ее до 0.143 мс (кстати, Вы можете проверить значения полей структуры после выполнения SET_ADC_PARS() - она их корректирует).
Период частоты 7000 Гц не кратен 1 мкс.
Результирующая частота кадров получается 1/0.143 = 6.993006993... кГц

Если в рабочем приложении такие же частоты, то Вы просто не попадаете в сетку времени.

15.10.2010 10:57:57
#8

Сотрудник "Л Кард"
Здесь с 18.04.2014
Сообщений: 810

Re: Точность частоты дискретизации с E20-10

Собственно, изначально поставленный вопрос:
<<требуется частота дискретизации порядка 5-20 кГц, с точностью до Герца.
Выставляю частоту внутреннего опорного генератора в 1 МГц>>
уже содержит, я бы сказал, ложную посылку. Из опорной частоты в 1 МГц можно получить любой ПЕРИОД с разрешением 1 мкс, но не ЧАСТОТУ с точностью 1 Гц.

15.10.2010 11:00:52
#9

Инженер-электронщик
Откуда: "Л Кард"
Здесь с 21.04.2014
Сообщений: 4,597

Re: Точность частоты дискретизации с E20-10

Естественно, для точных экспериментов c секундными интервалами нужно задавать частоту сбора (с учётом межкадровой задержки) такую, чтобы её периоды  были кратны десятичной временной сетке...