Jump to content

    
Sign in to follow this  
Александр77

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

Recommended Posts

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

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

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

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

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

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

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

f_15_15_25_all_channels.jpg

f_15_15_25_scrin.jpg

RTM2_UserManual_en.pdf

Share this post


Link to post
Share on other sites
12 minutes ago, Александр77 said:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

Test.jpg

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this