2013-05-08 2 views
4

Я использую устройство сбора данных DataQ в 32-битной таблице Matlab с помощью инструментария Data Acquisition.Почему MATLAB меняет частоту дискретизации при попытке получить данные?

Иногда, когда у меня есть частота дискретизации установлен в 300, он говорит мне:

Предупреждение: Это оборудование не может поддерживать заявленное значение 300 для SAMPLERATE. SampleRate был установлен в 1000"

Однако, если установить SAMPLERATE до 1000, иногда устанавливает его обратно 300 с тем же сообщением об ошибке.

Кроме того, если установить программу так, что после того, как появляется сообщение об ошибке, и устройство начинает запись, оно возвращает SampleRate, это всегда зависит от того, на что я его устанавливал, а не на то, что программа утверждает, что она изменила его на.

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

+0

См. Ответ Шеррилла Радбиля [здесь] (http://www.mathworks.com/matlabcentral/newsreader/view_thread/245693). Может быть, это поможет. Какова максимальная частота дискретизации, поддерживаемая устройством? Вы также должны учитывать количество каналов, которые вы используете для некоторых устройств, для определения максимальной частоты дискретизации. – HebeleHododo

+1

@HebeleHododo - это, по-видимому, касается либо минимальной частоты выборки, либо ограниченного набора допустимых вариантов, а не максимального *. –

+0

@ChrisStratton Вы правы, ограниченный набор кажется более вероятным. – HebeleHododo

ответ

0

Проблема не с Matlab, а с DAQ. У меня есть аналогичная «проблема» с NI DAQ. Аппаратное обеспечение настроено на выборку с очень высокой скоростью, чтобы избежать наложения псевдонимов. Вы можете пробовать более высокую скорость, чем требуется, а затем использовать команду Matlab «resample», чтобы уменьшить частоту дискретизации. Resample избежит любого наложения более высоких частот.

Смежные вопросы