Страница 1 из 1

Частота семплирования для цифрового входного сигнала

Добавлено: 22 апр 2020, 21:34
dakishi
Добрый вечер!

Я принимаю цифровой сигнал при помощи DAQmx. У меня встал вопрос с частотой семплирования в DAQmx Timing.
Я так понимаю, что мы используем некоторый CLK (например, процессорный тактовый генератор) и тактируем считывание (и, соответственно, передачу данных). При этом CLK выбираем так, чтобы мы попадали в середину цифрового импульса, во избежание лишних ошибок.

Вопрос: Как сделать так, чтобы мы попадали в середину импульса ?

Не болейте!

Re: Частота семплирования для цифрового входного сигнала

Добавлено: 22 апр 2020, 21:48
IvanLis
dakishi писал(а): 22 апр 2020, 21:34 При этом CLK выбираем так, чтобы мы попадали в середину цифрового импульса, во избежание лишних ошибок.

Вопрос: Как сделать так, чтобы мы попадали в середину импульса ?
Выбор частоты дискретизации зависит от задачи..
Судя по постановке, Вам необходимо захватить импульсы, т.е. определить 1 или 0 сейчас на входе, при постоянной частоте следования. В этом случае, если отсутствует синхронизация или частота плавает, лучше брать хотя бы 4 отсчета на период.

Если же необходимо исследовать фазу, то там возможно и 100 будет мало, т.к. ошибка будет определяться именно частотой захвата..

Re: Частота семплирования для цифрового входного сигнала

Добавлено: 22 апр 2020, 22:21
dakishi
IvanLis писал(а): 22 апр 2020, 21:48
Выбор частоты дискретизации зависит от задачи..
Судя по постановке, Вам необходимо захватить импульсы, т.е. определить 1 или 0 сейчас на входе, при постоянной частоте следования. В этом случае, если отсутствует синхронизация или частота плавает, лучше брать хотя бы 4 отсчета на период.

Если же необходимо исследовать фазу, то там возможно и 100 будет мало, т.к. ошибка будет определяться именно частотой захвата..
Уточню. В данном случае я исследую некоторые основные параметры цифрового сигнала: скважность, длительность. т.е. форма сигнала постоянная. Также я буду писать счетчик (по rising_edge или falling_edge соответственно), чтобы посчитать число прошедших импульсов.

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

Re: Частота семплирования для цифрового входного сигнала

Добавлено: 22 апр 2020, 23:42
Artem.spb
Если частота плавает и хочется отловить колебания, то без вариантов - надо брать максимальную частоту.
Чтобы хорошо сглаживать, но при этом не ждать долго обновления результатов, можно использовать скользящее среднее.

Re: Частота семплирования для цифрового входного сигнала

Добавлено: 23 апр 2020, 10:45
Blackman
...В данном случае я исследую некоторые основные параметры цифрового сигнала:...
Почему это надо делать программно? Может быть лучше использовать счетчики DAQ устройства?
Using Counters and Digital I/O
http://www.ni.com/academic/students/learn-daq/digital/

Re: Частота семплирования для цифрового входного сигнала

Добавлено: 23 апр 2020, 16:36
ujin
dakishi писал(а): 22 апр 2020, 21:34 Я принимаю цифровой сигнал при помощи DAQmx. У меня встал вопрос с частотой семплирования в DAQmx Timing.
Вопрос: Как сделать так, чтобы мы попадали в середину импульса ?
Самый правильный способ использовать аппаратные же средства для подсчета импульсов. Однако, если требуется самостоятельно по каким либо причинам:
Теорема Котельникова частота дискретизации должна быть не менее 2 Fmax. Что считать за Fmax у периодического цифрового сигнала, в зависимости от задачи и точности нужно смотреть спектр.
Более универсальный ответ частота дискретизации должна быть не менее 10 F.
По поводу как попасть в середину импульса. Этого точно не достаточно. Раньше был более распространен способ определение 3х отсчетов из середины.
Если сигнал периодический можно взять максимальную частоту этого сигнала, далее 10 отсчетов на период. Установить критерий максимального правдоподобия например менее 2 отсчетов в 1 = 0 более 8 отсчетов в 1 = 1. Когда 10 отсчетов будут располагаться на одном импульсе критерий будет максимальным. Если отсчеты захватят половину предыдущего импульса, то критерий будет около половины.
В общем я так радиомодем делал на контроллере ATMEL и детектировал 1 и 0 в DPSK модуляции. Свертка входного сигнала относительно "неподвижного" опорного сигнала. В качестве опорного сигнала автокореляционная функция. Моменты всплеска свертки с 1 и 0 есть начало импульса. Такую обработку можно делать с любым сигналом. Главное чтобы был ортонормированный базис или близко к нему. В общем не сложно.
Это применимо к заранее известной частоте, либо к нескольким. Упрощенные методы работают плохо. Конкретных цифр по ошибкам и отношению сигнал шум, конечно не помню.