Моделирование сигнала определенного типа

Простейшие вопросы в области инженерной разработки
Данил333
interested
interested
Сообщения: 4
Зарегистрирован: 03 ноя 2016, 16:05
Версия LabVIEW: 2012
Контактная информация:

Моделирование сигнала определенного типа

Сообщение Данил333 »

Пожалуйста помогите написать программу реализующую моделирование сигнала: тип сигнала треугольный, описывается системой(картинка во вложении).
Вложения
Безымянный.png
Безымянный.png (4.61 КБ) 7628 просмотров
Artem.spb

Activity Автор
professor
professor
Сообщения: 3404
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 175 раз
Контактная информация:

Re: Моделирование сигнала определенного типа

Сообщение Artem.spb »

в чём помощь? в решении за вас домашки?
Данил333
interested
interested
Сообщения: 4
Зарегистрирован: 03 ноя 2016, 16:05
Версия LabVIEW: 2012
Контактная информация:

Re: Моделирование сигнала определенного типа

Сообщение Данил333 »

Не знаю какой функцией воспользоваться, одну функцию могу смоделировать, но вот систему да еще и с диапазонами не получается.Пожалуйста,хоть намекните... :) Я же не просил скинуть готовое решение.
Borjomy_1

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

Re: Моделирование сигнала определенного типа

Сообщение Borjomy_1 »

Самое простое. Берете Case и создаете в нем 3 фрейма. В первом (вместо значения 0, Default) указываете 0..8, во втором 9..24, третьем 25..64. Какой- то из них назначаете дефолтным. Приведение t к целому, для подачи на вход case, через Round To +Infinity, если для числа 8.0000000 выполняется первая строка. Если вторая, то нужен Round To -Infinity. В каждом фрейме производите соответствующие вычисления.
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Моделирование сигнала определенного типа

Сообщение Kosist »

Данил333 писал(а):Не знаю какой функцией воспользоваться, одну функцию могу смоделировать, но вот систему да еще и с диапазонами не получается.Пожалуйста,хоть намекните... :) Я же не просил скинуть готовое решение.
Можно также идти "в лоб", и использовать In Range and Coerce; тогда t может принимать и дробные значения (в отличии от сортировки Case Structure).
Example.png
Мы делили апельсин - много наших полегло...
Borjomy_1

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

Re: Моделирование сигнала определенного типа

Сообщение Borjomy_1 »

Можно также идти "в лоб", и использовать In Range and Coerce; тогда t может принимать и дробные значения (в отличии от сортировки Case Structure)
Все равно необходимо принимать решение, к какому условию относятся целые значения на границе диапазонов
Artem.spb

Activity Автор
professor
professor
Сообщения: 3404
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 175 раз
Контактная информация:

Re: Моделирование сигнала определенного типа

Сообщение Artem.spb »

Странно вы мудрите на мой взгляд, коллеги.
Зачем кейсы и прочее?
я бы так сделал (без проверки границ, это надо подкорректировать)
xy.png
Данил333
interested
interested
Сообщения: 4
Зарегистрирован: 03 ноя 2016, 16:05
Версия LabVIEW: 2012
Контактная информация:

Re: Моделирование сигнала определенного типа

Сообщение Данил333 »

Большое спасибо, опробовал оба способа(Case и In Rage and Coerce), все получилось...огромное спасибо!!!
Данил333
interested
interested
Сообщения: 4
Зарегистрирован: 03 ноя 2016, 16:05
Версия LabVIEW: 2012
Контактная информация:

Re: Моделирование сигнала определенного типа

Сообщение Данил333 »

Спасибо большое, Artem.spb, завтра утром опробую ваш вариант,сейчас спать. В лицее изучал Pascale, пытался решить данную задачу через if else , в Formula Node...без успешно. :dntknw:
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Моделирование сигнала определенного типа

Сообщение Kosist »

Artem.spb писал(а):Странно вы мудрите на мой взгляд, коллеги.
Зачем кейсы и прочее?
я бы так сделал (без проверки границ, это надо подкорректировать)
Проверки границ - что Вы имеете ввиду? Включать или исключать крайнюю границу из отрезка?
Но, коллега, Ваш код не работает.. Если Step = 6, например; то первый цикл выполнится 1 раз, второй - 3 раза, а третий - 7 раз; итого: 11 значений Y для 1 X... Как по мне, то что-то здесь не так - или я чего-то не понимаю... :dntknw:
Мы делили апельсин - много наших полегло...
Blackman

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

Re: Моделирование сигнала определенного типа

Сообщение Blackman »

Действительно, что так все сложно :)
Вложения
Triangle Function BD.PNG
Triangle Function BD.PNG (7.52 КБ) 7571 просмотр
Example_Triangle Function FP.PNG
Blackman--Triangle Function.vi
(10.81 КБ) 85 скачиваний
Example_Triangle Function.vi
(13.11 КБ) 100 скачиваний
Artem.spb

Activity Автор
professor
professor
Сообщения: 3404
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 175 раз
Контактная информация:

Re: Моделирование сигнала определенного типа

Сообщение Artem.spb »

Kosist писал(а):
Artem.spb писал(а):Странно вы мудрите на мой взгляд, коллеги.
Зачем кейсы и прочее?
я бы так сделал (без проверки границ, это надо подкорректировать)
Проверки границ - что Вы имеете ввиду? Включать или исключать крайнюю границу из отрезка?
да, в моей версии оба соседствующих отрезка используют граничную точку, хотя в данном случае это не важно, т.к. значения совпадают.
Но, коллега, Ваш код не работает.. Если Step = 6, например; то первый цикл выполнится 1 раз, второй - 3 раза, а третий - 7 раз; итого: 11 значений Y для 1 X... Как по мне, то что-то здесь не так - или я чего-то не понимаю... :dntknw:
а вы не находите странным строить график или моделировать сигнал на отрезке 0..8 с шагом 6 :)
я предполагаю наличие здравого смысла и запуск программы с малым шагом. Чем меньше шаг, тем больше точек и тем точнее график, но тем дольше исполняется программа.
А если вы про недоделанный нижний массив, так это я оставил домашнее задание автору топика :)
просто мне было лень кодить оставшиеся две функции, я только обозначил, где и как создавать вычисление Y по имеющемуся X.
Blackman

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

Re: Моделирование сигнала определенного типа

Сообщение Blackman »

Artem.spb! Вообще то нужна функция Y = f(t) и не важно чему равно t: любое число в диапазоне от -inf до +inf :D
Юрий
leader
leader
Сообщения: 526
Зарегистрирован: 28 фев 2010, 18:04
Версия LabVIEW: LV2018
Благодарил (а): 10 раз
Поблагодарили: 18 раз
Контактная информация:

Re: Моделирование сигнала определенного типа

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

Для решения в лоб наиболее красивое решение у Blackman, Осмелюсь его ещё немного доукрасить.
Функц.png
Функц.png (3.11 КБ) 7547 просмотров
Подхватив лозунг Artemа.spb "Странно вы мудрите на мой взгляд, коллеги. Зачем кейсы и прочее?", выкладываю своё решение не в лоб. Суть его отображена в зелёном квадрате. А остальное это просто тело программы, которая иллюстрирует генерацию непрерывного периодического сигнала.
БлокСхема.png
БлокСхема.png (7.17 КБ) 7547 просмотров
Фронтпанель.png
Вложения
Моделир сигн.vi
(15.68 КБ) 87 скачиваний
Аватара пользователя
Kosist

Activity Gold
expert
expert
Сообщения: 1236
Зарегистрирован: 21 фев 2011, 23:44
Награды: 2
Версия LabVIEW: 2013-2020
Благодарил (а): 23 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Моделирование сигнала определенного типа

Сообщение Kosist »

Artem.spb писал(а): я предполагаю наличие здравого смысла и запуск программы с малым шагом. Чем меньше шаг, тем больше точек и тем точнее график, но тем дольше исполняется программа.
Теперь понятно - ведь я автоматически принял Step в качестве X. Ведь мы должны получать значения Y и для одной точки, которую может задать. А в Вашем случае - строится для отрезка значений, по заданному шагу. Как по мне, странно - т.к. в идеале пользователь должен задать массив точек, а на выходе получить значение Y. И значения могут быть любые - зачем задавать шаг? Это решает конкретную задачу, но не дает подход в целом...
Но идея интерестная, теперь полностью понятна.
Мы делили апельсин - много наших полегло...
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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