Две задачи в один Chart
- jane_wild
- master
- Сообщения: 459
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 83 раза
- Поблагодарили: 15 раз
- Контактная информация:
Две задачи в один Chart
Ребята возник вопрос. Имеются две задачи с различным sample rate, но с одинаковой частотой чтения 100mS. В итоге, за эти 100mS получаюстя два массива с различным количеством элементов. Вопрос - как их объеденить в один Chart что бы время отображалось корректно. Посмотрите вложенный VI, будет понятнее, что я имею ввиду.
Два массива один 1000 элементов, второй 2500, при их объединении в один, первый дополняется до второго нулями. Если я правильно понимаю то первый, тот который 1000 элементов, нужно плавно "растянуть" до второго, что бы количество элементов было одинаково и потом вывести на график. Вот собственно я не могу сообразить как это сделать? Спасибо-
ladik
- developer
- Сообщения: 275
- Зарегистрирован: 18 ноя 2014, 11:45
- Награды: 1
- Версия LabVIEW: 2015, 2019
- Откуда: Екатеринбург
- Благодарил (а): 4 раза
- Поблагодарили: 3 раза
- Контактная информация:
Re: Две задачи в один Chart
Используйте Waveform Graph. Он на вход принимает тип данных Waveform, который включает в себя массив с отсчётами, t0 и dt.
Дорогу осилит идущий.
- jane_wild
- master
- Сообщения: 459
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 83 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Две задачи в один Chart
Нужен chart, поскольку это планируется добавить в существующий проектИспользуйте Waveform Graph
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Две задачи в один Chart
Накладывайте один график на другой(рисунок приложил). Для работы с палитрой графиков нужно будет добавить пару тройку событий чтоб всё красиво было при работе с инструментами графика.
Поместить в один chart массивы разной длинные получится, но только как Вы уже показали. Для того, чтобы размещать данные различной длинны на графиках требуется масштабирование. В случае с Waveform - есть возможно задавать приращение между отчетами по оси Х, в Chart такого нет. Можно попробовать программное масштабирование, но это приведет к избыточности короткого сигнала. Грубо говоря, вместо нулей вконце - у вас будут левые значения по всему сигналу. Отсчеты же нужно откуда-то брать
Поместить в один chart массивы разной длинные получится, но только как Вы уже показали. Для того, чтобы размещать данные различной длинны на графиках требуется масштабирование. В случае с Waveform - есть возможно задавать приращение между отчетами по оси Х, в Chart такого нет. Можно попробовать программное масштабирование, но это приведет к избыточности короткого сигнала. Грубо говоря, вместо нулей вконце - у вас будут левые значения по всему сигналу. Отсчеты же нужно откуда-то брать
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
- jane_wild
- master
- Сообщения: 459
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 83 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Две задачи в один Chart
Я думаю что недостающие точки можно вычислить, и не в конце, а по ходу всего массива. Могу ошибаться, но по моему здесь нужно использовать интерполяцию. Между двумя точками "медленной" частоты, нужно добавить еще две с половиной точки(или просто две, для лучшего понимания), что бы выровнять массивы и как будто бы частота дискретизации была выше в 2.5 раза.. Только вот в теории как бы понимаю, а на практике к сожалению не получается у меняГрубо говоря, вместо нулей вконце - у вас будут левые значения по всему сигналу. Отсчеты же нужно откуда-то брать
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Две задачи в один Chart
jane_wild, я про это и говорю - у вас будут левые значения по всему сигналу, а не в конце сплошные нули. Кроме того, оригинальные значения поле интерполяции так же изменятся. Это нормально будет? Чтобы наглядно это увидеть, откройте пример пример на Interpolate 1D array.vi.
upd: тип интерполяции и другие настройки подбирайте как требуется Вам, рисунок - для примера.
upd: тип интерполяции и другие настройки подбирайте как требуется Вам, рисунок - для примера.
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Две задачи в один Chart
Смотрите здесь
http://zone.ni.com/reference/en-XX/help ... data_sets/
Displaying Large Data Sets
Не помешает посмотреть здесь
http://www.ni.com/tutorial/3625/en/#toc1
Здесь есть пример реализации min-max decimation в http://ftp.ni.com/pub/devzone/tut/giga_labview.llb
На картинке что должно получиться.
http://zone.ni.com/reference/en-XX/help ... data_sets/
Displaying Large Data Sets
Не помешает посмотреть здесь
http://www.ni.com/tutorial/3625/en/#toc1
Здесь есть пример реализации min-max decimation в http://ftp.ni.com/pub/devzone/tut/giga_labview.llb
На картинке что должно получиться.
- jane_wild
- master
- Сообщения: 459
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 83 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Две задачи в один Chart
Почему левые? Если уж совсем просто: Между двумя точками (отсчетами) абсолютно прямая линия. Если я на этой линии поставлю точку точно по середине, то сигнал не измениться верно? Как была прямая линия так и осталась. А вот частота отсчетов (sample rate) увеличилась в два раза! Вот я и думаю придумать алгоритм, что бы можно было "увеличивать" эту частоту, только не на целое число а на дробное, в моем случае 2.5,о не трогая сигнала с высокой частотой. Зачем мне это нужно - В cDAQ установлены два модуля NI9205 к одному подключены 21 канал, поэтому выбран sample rate 10000. У второго модуля только 9 каналов и rate выбран 25000, потому как поступающий на него сигнал около 3000 Гц. В случае с дискретизацией в 10000, получиться всего три точки. Это худший из сценариев, в основном ко второму модулю будет подключено 3 канала и частоту дискретизации можно будет увеличить.я про это и говорю - у вас будут левые значения по всему сигналу
- jane_wild
- master
- Сообщения: 459
- Зарегистрирован: 30 июн 2016, 02:11
- Версия LabVIEW: 2020
- Благодарил (а): 83 раза
- Поблагодарили: 15 раз
- Контактная информация:
Re: Две задачи в один Chart
Blackman, Не могли бы Вы сохранить снипет для LV2016, что бы лучше понять алгоритм. Спасибо
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Две задачи в один Chart
Это VI показанный на блок диаграмме.
- Вложения
-
- Min-Max Decimation (2D DBL).zip
- Version LabVIEW 2013
- (43.62 КБ) 78 скачиваний
-
- leader
- Сообщения: 526
- Зарегистрирован: 28 фев 2010, 18:04
- Версия LabVIEW: LV2018
- Благодарил (а): 10 раз
- Поблагодарили: 18 раз
- Контактная информация:
Re: Две задачи в один Chart
Если правильно понял задачу, то вот такой вариант. Примеры не смог открыть, поскольку LV15
- Вложения
-
- Chart.vi
- (23.56 КБ) 74 скачивания
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Две задачи в один Chart
В Waveform Chart можно совершенно спокойно отображать тренды с разным dt. Для этого вы подаете массив Waveforms (соответственно числу каналов), а не просто массивы. Для правильного отображения t0 и dt должны быть корректно заданы. Естественно (для ваше задачи, но, в принципе, необязательно), t0 одинаковый, а dt - согласно числу точек на замер. Единственное замечание: обратите внимание, что этот компонент, принимая Waveform на вход, может начать жрать память.
- Вложения
-
- массивы с разным шагом.png (32.17 КБ) 2704 просмотра
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение