Две задачи в один Chart

Простейшие вопросы в области инженерной разработки
Ответить
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Две задачи в один Chart

Сообщение jane_wild »

Ребята возник вопрос. Имеются две задачи с различным sample rate, но с одинаковой частотой чтения 100mS. В итоге, за эти 100mS получаюстя два массива с различным количеством элементов. Вопрос - как их объеденить в один Chart что бы время отображалось корректно. Посмотрите вложенный VI, будет понятнее, что я имею ввиду.
Two Rates In one Chart.vi
(344.49 КБ) 85 скачиваний
Два массива один 1000 элементов, второй 2500, при их объединении в один, первый дополняется до второго нулями. Если я правильно понимаю то первый, тот который 1000 элементов, нужно плавно "растянуть" до второго, что бы количество элементов было одинаково и потом вывести на график. Вот собственно я не могу сообразить как это сделать? Спасибо
Аватара пользователя
ladik

Silver
developer
developer
Сообщения: 275
Зарегистрирован: 18 ноя 2014, 11:45
Награды: 1
Версия LabVIEW: 2015, 2019
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 3 раза
Контактная информация:

Re: Две задачи в один Chart

Сообщение ladik »

Используйте Waveform Graph. Он на вход принимает тип данных Waveform, который включает в себя массив с отсчётами, t0 и dt.
Дорогу осилит идущий.
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Две задачи в один Chart

Сообщение jane_wild »

Используйте Waveform Graph
Нужен chart, поскольку это планируется добавить в существующий проект
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Две задачи в один Chart

Сообщение Vitekkz88 »

Накладывайте один график на другой(рисунок приложил). Для работы с палитрой графиков нужно будет добавить пару тройку событий чтоб всё красиво было при работе с инструментами графика.
Поместить в один chart массивы разной длинные получится, но только как Вы уже показали. Для того, чтобы размещать данные различной длинны на графиках требуется масштабирование. В случае с Waveform - есть возможно задавать приращение между отчетами по оси Х, в Chart такого нет. Можно попробовать программное масштабирование, но это приведет к избыточности короткого сигнала. Грубо говоря, вместо нулей вконце - у вас будут левые значения по всему сигналу. Отсчеты же нужно откуда-то брать :crazy:
Вложения
Result.png
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Две задачи в один Chart

Сообщение jane_wild »

Грубо говоря, вместо нулей вконце - у вас будут левые значения по всему сигналу. Отсчеты же нужно откуда-то брать
Я думаю что недостающие точки можно вычислить, и не в конце, а по ходу всего массива. Могу ошибаться, но по моему здесь нужно использовать интерполяцию. Между двумя точками "медленной" частоты, нужно добавить еще две с половиной точки(или просто две, для лучшего понимания), что бы выровнять массивы и как будто бы частота дискретизации была выше в 2.5 раза.. Только вот в теории как бы понимаю, а на практике к сожалению не получается у меня :dntknw:
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Две задачи в один Chart

Сообщение Vitekkz88 »

jane_wild, я про это и говорю - у вас будут левые значения по всему сигналу, а не в конце сплошные нули. Кроме того, оригинальные значения поле интерполяции так же изменятся. Это нормально будет? Чтобы наглядно это увидеть, откройте пример пример на Interpolate 1D array.vi.

upd: тип интерполяции и другие настройки подбирайте как требуется Вам, рисунок - для примера.
Вложения
Интерполяция.png
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Две задачи в один Chart

Сообщение Blackman »

Смотрите здесь :wink:
http://zone.ni.com/reference/en-XX/help ... data_sets/
Displaying Large Data Sets
Не помешает посмотреть здесь :wink:
http://www.ni.com/tutorial/3625/en/#toc1
Здесь есть пример реализации min-max decimation в http://ftp.ni.com/pub/devzone/tut/giga_labview.llb
На картинке что должно получиться.
Вложения
DecimationFP.png
Decimation.png
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Две задачи в один Chart

Сообщение jane_wild »

я про это и говорю - у вас будут левые значения по всему сигналу
Почему левые? Если уж совсем просто: Между двумя точками (отсчетами) абсолютно прямая линия. Если я на этой линии поставлю точку точно по середине, то сигнал не измениться верно? Как была прямая линия так и осталась. А вот частота отсчетов (sample rate) увеличилась в два раза! Вот я и думаю придумать алгоритм, что бы можно было "увеличивать" эту частоту, только не на целое число а на дробное, в моем случае 2.5,о не трогая сигнала с высокой частотой. Зачем мне это нужно - В cDAQ установлены два модуля NI9205 к одному подключены 21 канал, поэтому выбран sample rate 10000. У второго модуля только 9 каналов и rate выбран 25000, потому как поступающий на него сигнал около 3000 Гц. В случае с дискретизацией в 10000, получиться всего три точки. Это худший из сценариев, в основном ко второму модулю будет подключено 3 канала и частоту дискретизации можно будет увеличить.
Аватара пользователя
jane_wild
master
master
Сообщения: 459
Зарегистрирован: 30 июн 2016, 02:11
Версия LabVIEW: 2020
Благодарил (а): 83 раза
Поблагодарили: 15 раз
Контактная информация:

Re: Две задачи в один Chart

Сообщение jane_wild »

Blackman, Не могли бы Вы сохранить снипет для LV2016, что бы лучше понять алгоритм. Спасибо
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Две задачи в один Chart

Сообщение Blackman »

Это VI показанный на блок диаграмме. :wink:
Вложения
Min-Max Decimation (2D DBL).zip
Version LabVIEW 2013
(43.62 КБ) 77 скачиваний
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Две задачи в один Chart

Сообщение Юрий »

Если правильно понял задачу, то вот такой вариант. Примеры не смог открыть, поскольку LV15
2019-04-20_224238.png
Chart.png
Вложения
Chart.vi
(23.56 КБ) 73 скачивания
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Две задачи в один Chart

Сообщение Borjomy_1 »

В Waveform Chart можно совершенно спокойно отображать тренды с разным dt. Для этого вы подаете массив Waveforms (соответственно числу каналов), а не просто массивы. Для правильного отображения t0 и dt должны быть корректно заданы. Естественно (для ваше задачи, но, в принципе, необязательно), t0 одинаковый, а dt - согласно числу точек на замер. Единственное замечание: обратите внимание, что этот компонент, принимая Waveform на вход, может начать жрать память.
Вложения
массивы с разным шагом.png
массивы с разным шагом.png (32.17 КБ) 2685 просмотров
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»