Моделирование сигнала определенного типа
-
- interested
- Сообщения: 4
- Зарегистрирован: 03 ноя 2016, 16:05
- Версия LabVIEW: 2012
- Контактная информация:
Моделирование сигнала определенного типа
Пожалуйста помогите написать программу реализующую моделирование сигнала: тип сигнала треугольный, описывается системой(картинка во вложении).
- Вложения
-
- Безымянный.png (4.61 КБ) 7630 просмотров
-
- interested
- Сообщения: 4
- Зарегистрирован: 03 ноя 2016, 16:05
- Версия LabVIEW: 2012
- Контактная информация:
Re: Моделирование сигнала определенного типа
Не знаю какой функцией воспользоваться, одну функцию могу смоделировать, но вот систему да еще и с диапазонами не получается.Пожалуйста,хоть намекните... :) Я же не просил скинуть готовое решение.
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Моделирование сигнала определенного типа
Самое простое. Берете Case и создаете в нем 3 фрейма. В первом (вместо значения 0, Default) указываете 0..8, во втором 9..24, третьем 25..64. Какой- то из них назначаете дефолтным. Приведение t к целому, для подачи на вход case, через Round To +Infinity, если для числа 8.0000000 выполняется первая строка. Если вторая, то нужен Round To -Infinity. В каждом фрейме производите соответствующие вычисления.
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Моделирование сигнала определенного типа
Можно также идти "в лоб", и использовать In Range and Coerce; тогда t может принимать и дробные значения (в отличии от сортировки Case Structure).Данил333 писал(а):Не знаю какой функцией воспользоваться, одну функцию могу смоделировать, но вот систему да еще и с диапазонами не получается.Пожалуйста,хоть намекните... :) Я же не просил скинуть готовое решение.
Мы делили апельсин - много наших полегло...
-
- doctor
- Сообщения: 2211
- Зарегистрирован: 28 июн 2012, 09:32
- Награды: 3
- Версия LabVIEW: 2009..2020
- Откуда: город семи холмов
- Благодарил (а): 27 раз
- Поблагодарили: 27 раз
Re: Моделирование сигнала определенного типа
Все равно необходимо принимать решение, к какому условию относятся целые значения на границе диапазоновМожно также идти "в лоб", и использовать In Range and Coerce; тогда t может принимать и дробные значения (в отличии от сортировки Case Structure)
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Моделирование сигнала определенного типа
Странно вы мудрите на мой взгляд, коллеги.
Зачем кейсы и прочее?
я бы так сделал (без проверки границ, это надо подкорректировать)
Зачем кейсы и прочее?
я бы так сделал (без проверки границ, это надо подкорректировать)
-
- interested
- Сообщения: 4
- Зарегистрирован: 03 ноя 2016, 16:05
- Версия LabVIEW: 2012
- Контактная информация:
Re: Моделирование сигнала определенного типа
Большое спасибо, опробовал оба способа(Case и In Rage and Coerce), все получилось...огромное спасибо!!!
-
- interested
- Сообщения: 4
- Зарегистрирован: 03 ноя 2016, 16:05
- Версия LabVIEW: 2012
- Контактная информация:
Re: Моделирование сигнала определенного типа
Спасибо большое, Artem.spb, завтра утром опробую ваш вариант,сейчас спать. В лицее изучал Pascale, пытался решить данную задачу через if else , в Formula Node...без успешно.
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Моделирование сигнала определенного типа
Проверки границ - что Вы имеете ввиду? Включать или исключать крайнюю границу из отрезка?Artem.spb писал(а):Странно вы мудрите на мой взгляд, коллеги.
Зачем кейсы и прочее?
я бы так сделал (без проверки границ, это надо подкорректировать)
Но, коллега, Ваш код не работает.. Если Step = 6, например; то первый цикл выполнится 1 раз, второй - 3 раза, а третий - 7 раз; итого: 11 значений Y для 1 X... Как по мне, то что-то здесь не так - или я чего-то не понимаю...
Мы делили апельсин - много наших полегло...
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Моделирование сигнала определенного типа
Действительно, что так все сложно :)
- Вложения
-
- Triangle Function BD.PNG (7.52 КБ) 7573 просмотра
-
- Blackman--Triangle Function.vi
- (10.81 КБ) 85 скачиваний
-
- Example_Triangle Function.vi
- (13.11 КБ) 100 скачиваний
-
- professor
- Сообщения: 3406
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Моделирование сигнала определенного типа
да, в моей версии оба соседствующих отрезка используют граничную точку, хотя в данном случае это не важно, т.к. значения совпадают.Kosist писал(а):Проверки границ - что Вы имеете ввиду? Включать или исключать крайнюю границу из отрезка?Artem.spb писал(а):Странно вы мудрите на мой взгляд, коллеги.
Зачем кейсы и прочее?
я бы так сделал (без проверки границ, это надо подкорректировать)
а вы не находите странным строить график или моделировать сигнал на отрезке 0..8 с шагом 6 :)Но, коллега, Ваш код не работает.. Если Step = 6, например; то первый цикл выполнится 1 раз, второй - 3 раза, а третий - 7 раз; итого: 11 значений Y для 1 X... Как по мне, то что-то здесь не так - или я чего-то не понимаю...
я предполагаю наличие здравого смысла и запуск программы с малым шагом. Чем меньше шаг, тем больше точек и тем точнее график, но тем дольше исполняется программа.
А если вы про недоделанный нижний массив, так это я оставил домашнее задание автору топика :)
просто мне было лень кодить оставшиеся две функции, я только обозначил, где и как создавать вычисление Y по имеющемуся X.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Моделирование сигнала определенного типа
Artem.spb! Вообще то нужна функция Y = f(t) и не важно чему равно t: любое число в диапазоне от -inf до +inf
-
- leader
- Сообщения: 526
- Зарегистрирован: 28 фев 2010, 18:04
- Версия LabVIEW: LV2018
- Благодарил (а): 10 раз
- Поблагодарили: 18 раз
- Контактная информация:
Re: Моделирование сигнала определенного типа
Для решения в лоб наиболее красивое решение у Blackman, Осмелюсь его ещё немного доукрасить.
Подхватив лозунг Artemа.spb "Странно вы мудрите на мой взгляд, коллеги. Зачем кейсы и прочее?", выкладываю своё решение не в лоб. Суть его отображена в зелёном квадрате. А остальное это просто тело программы, которая иллюстрирует генерацию непрерывного периодического сигнала.- Вложения
-
- Моделир сигн.vi
- (15.68 КБ) 87 скачиваний
-
Kosist
- expert
- Сообщения: 1236
- Зарегистрирован: 21 фев 2011, 23:44
- Награды: 2
- Версия LabVIEW: 2013-2020
- Благодарил (а): 23 раза
- Поблагодарили: 30 раз
- Контактная информация:
Re: Моделирование сигнала определенного типа
Теперь понятно - ведь я автоматически принял Step в качестве X. Ведь мы должны получать значения Y и для одной точки, которую может задать. А в Вашем случае - строится для отрезка значений, по заданному шагу. Как по мне, странно - т.к. в идеале пользователь должен задать массив точек, а на выходе получить значение Y. И значения могут быть любые - зачем задавать шаг? Это решает конкретную задачу, но не дает подход в целом...Artem.spb писал(а): я предполагаю наличие здравого смысла и запуск программы с малым шагом. Чем меньше шаг, тем больше точек и тем точнее график, но тем дольше исполняется программа.
Но идея интерестная, теперь полностью понятна.
Мы делили апельсин - много наших полегло...
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение