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

Неверные данные с осциллографа

Здравствуйте, коллеги!

Осциллограф RTM2054 (R&S) соединен по LAN с ПК.

В матлабе написана функция управления осциллографом, считывания данных со всех каналов и сохранением их в бинарном формате.

При отладке столкгулся с необъяснимым поведением:

-если отображение каналов сместить ниже середины (по горизонтали) экрана, то все нормально;

- если один или несколько каналов поднять на середину и выше, то сигналы странным образом обрезаются (см рисунки).

Не могу понять, как настроить прием данных для корректного отображения?

f_15_15_25_all_channels.jpg

f_15_15_25_scrin.jpg

RTM2_UserManual_en.pdf

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


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

12 minutes ago, Александр77 said:

- если один или несколько каналов поднять на середину и выше, то сигналы странным образом обрезаются (см рисунки)

С учетом того, что данные бинарные, очень похоже, что где-то с разрядностью промахнулись. И случилось переполнение.

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


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

Так видно же что больше 256 данных нет и они в насыщении. Поменяйте разрядность или тип переменной

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


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

Разрядность в обоих случаях одинаковая 8 бит.

Немного поясню графики.

Осциллограф запускался в ждущем режиме один раз.

Далее с него приняты данные от каждого канала и сохранены (это нижние графики).

Затем, в браузере, штатной программой управления теже самые данные записаны повторно (верхние графики).

Попытки установить другую разрядность успеха не имели - данных либо нет совсем (принят только размер буфера), либо к нему добавляется один байт - зависит от запроса младшим вперед или старшим.

Перевод из uint8 в int8, тоже безрезультатны - данные становятся от 125 до 127.

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


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

У R&S надо внимательно смотреть какая версия прошивки и смотреть свежие, блюс багрепорт.
у нас он так глючил при отображении на экране, вылечилось перепрошивкой свежего софта

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


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

Как оказалось, матлабовские char, это то еще извращение. Эти ребята взяли и автоматом перевели значения больше 127 в юникод. Причем логика перевода под вопросом...

Подал на один канал треуголный сигнал, растянул на всю шкалу, точнее на весь дисплей. Результат вот такой.

Верхний график - то что отрисовывает матлаб после преобразования char->uint8.

Средний - преобразование unicode2native.

Нижний - результат медианного фильтра данных после юникод-натив.

Вроде можно и порадоваться, но смущает наличие "бороды" при некоторых значениях исходных данных.

Как с этим бороться не понятно

Test.jpg

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


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

глянув приложенный мануал по диагонали увидел что скоп может слать и флоаты и 16ти битные значения хоть бинарные хоть текстовые, зачем вам этот уникод вообще?

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


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

Флоат он выдает в текстовом формате, и при глубине выборки примерно 50000 отсчетов. В бинарном глубина буфера 10000000 отсчетов.

"Вес" флоата будет тяжелее бинарника.

Что касается 16бит - там не все так радужно. С веб страницы они еще доступны, а вот с матлаба шлет только размер, без данных. Почему? Нет ответа

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


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

Беда была в считывании данных.

Использовал функцию query, матлаба. По рекомендации техподдержки родешварца заменил на fread и все стало хорошо.

Спасибо всем помогавшим.

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


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

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...