Форум кафедры Техники и Электрофизики Высоких Напряжений

Онлайн-сообщество ТВНщиков
Гостям форума:

Добро пожаловать на форум по технике высоких напряжений!
Для получения доступа ко всем разделам необходимо зарегистрироваться


Текущее время: 19 окт 2018, 23:02

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
СообщениеДобавлено: 24 мар 2018, 19:09 
Не в сети

Зарегистрирован: 30 сен 2016, 19:20
Сообщения: 24
Извините, не знаю к чему отнести эту тему: к Матлабу или к Симулинку. На всякий случай продублирую в обоих топиках.
Здравствуйте!
Имеется модель длинной линии в Simulink. Для измерения эффективных значений (RMS Values) напряжения прикосновения пользуюсь подпрограммой "Steady-State Voltages and Currents" из блока Continuous. Хочу чтобы значения этого напряжения помимо монитора сразу сохранялись в матрицу, с которой потом я бы мог работать. Я знаю, что есть команда sps = power_steadystate('ModelName'), позволяющая получить структуру, которая содержит все поля и значения из этого окна интерфейса. Однако значение напряжения, полученное, используя эту команду, представляет из себя комплексное число. Его модуль значительно отличается как от Peak Value, так и от RMS Value, которое я вижу на мониторе, используя интерфейс. Я откровенно плаваю в алгебре и мне сложно понять, как было рассчитано это комплексное число и как получить из него нужную величину, будь то пиковая или эффективная (RMS).
Пример:
в окне интерфейса во вкладке RMS Values вижу результат: 55 Вольт. Обозначен как выход с вольтметра.
Введя команду sps = power_steadystate('ModelName') и обратившись к структуре sps, получаю величину, которая соответствует ячейке структуры, отвечающей результату измерения напряжения блоком вольтметра:U = 1.0e+05 * (-0.0004 - 0.0004i).
Манипуляции типа abs(U) или сохранения всего сигнала с вольтметра и преобразования его с помощью отдельного блока RMS ни к чему не привели. Значения сильно разнятся. Но ведь я понимаю, что программа как-то рассчитывает эти 55 Вольт и выводит их мне на монитор в окне интерфейса! Как мне добраться до этого значения вручную и сохранить его в матрицу?
Любые советы и предложения приветствуются!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 24 мар 2018, 20:42 
Не в сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4256
Откуда: Д-3
Версия Матлаб какая?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 24 мар 2018, 20:45 
Не в сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4256
Откуда: Д-3
>> abs(1.0e+05 * (-0.0004 - 0.0004i))

ans =

56.5685

"Значения сильно разнятся" - это о разнице между 56,6 и 55 В?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 25 мар 2018, 00:54 
Не в сети

Зарегистрирован: 30 сен 2016, 19:20
Сообщения: 24
Даниил Анатольевич, т.е. вы хотите сказать, что я правильно мыслю, вычисляя модуль этого комплексного значения? Это должно быть искомомой RMS величиной для меня? Версия Матлаба у меня R2014b. Почему тогда я не могу получить число, которое рассчитывает сам Матлаю и выводит мне на экран в Steady State? Боюсь я этой разницы...А как в таком случае я могу получить пиковую величину? В этом примере Steady State выдает пиковое значение 34 В. Или Матлаб эти 55 вольт просто округляет?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 25 мар 2018, 02:23 
Не в сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4256
Откуда: Д-3
TikhonovPD писал(а):
Пример:
в окне интерфейса во вкладке RMS Values вижу результат: 55 Вольт. Обозначен как выход с вольтметра.
Введя команду sps = power_steadystate('ModelName') и обратившись к структуре sps, получаю величину, которая соответствует ячейке структуры, отвечающей результату измерения напряжения блоком вольтметра:U = 1.0e+05 * (-0.0004 - 0.0004i).

Здесь величина в ячейке выведена с очень низкой точностью – приведена только одна значащая цифра. Это может быть и 1.0e+05 * (-0.00036 - 0.00036i) и 1.0e+05 * (-0.00044 - 0.00044i). По модулю им соответствуют значения 50,9 и 62,2 В соответственно.
Амплитудное это значение или RMS – зависит от настроек вывода.
Когда я отвечал на предыдущее сообщение, мне все казалось простым и понятным, но теперь добавилась новая информация - амплитудное значение 34 В. Такого не может быть, чтобы синусоида имела амплитуду 34 В и RMS 55 В. Скиньте модель (можно в самом упрощенном виде), где можно увидеть это своими глазами.

Еще один момент – я понимаю, что стажировка обязывает начать мыслить на иностранном языке, но на всякий случай спрошу. Вы точно понимаете, что пиковое значение - амплитудное, а эффективное (RMS, Root-Mean-Square) - действующее, оно же среднеквадратичное? И то, что для синусоиды они отличаются примерно в 1,41 раз?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 25 мар 2018, 16:41 
Не в сети

Зарегистрирован: 30 сен 2016, 19:20
Сообщения: 24
Да, я понимаю эту разницу и перевод. Вы правы, я вспомнил это соотношение между амплитудной и среднеквадратической величинами. Я ошибся в моем примере, потому что назвал числа по памяти и перепутал их, запутав этим сам себя. Я запустил модель еще раз и все проверил. Среднеквадратическое значение 39.25 В. Амплитудное 55.51 В. Ячейка структуры выдает значение 1e5*(-0.0004 - 0.0004i) и его модуль соответственно равен 55.5. Т.е. таким образом я получаю величину, приближенно равную амплитудному значению, т.к. дело заключается в разных степенях точности расчета. И, если я хочу получить теперь среднеквадратическое, я просто делю мой результат на корень из двух, что дает мне 39.24.
Таким образом, вместо нажатия на кнопку интерфейса, я ввожу команду на запуск Sdeady State, выделяю соответствующую ячейку в структуре, сохраняю ее значение в матрицу, делю его на корень из двух и получаю нужное мне RMS значение. Его я могу поместить в другую матрицу, а уж из нее хоть в ексель. Думаю, что проблема решена. Все оказалось очевидным, если бы я себя и Вас не путал... Спасибо!


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
СообщениеДобавлено: 25 мар 2018, 19:13 
Не в сети
Site Admin

Зарегистрирован: 03 сен 2008, 16:09
Сообщения: 4256
Откуда: Д-3
Поздравлямба )

Один момент:
TikhonovPD писал(а):
Ячейка структуры выдает значение 1e5*(-0.0004 - 0.0004i) и его модуль соответственно равен 55.5. Т.е. таким образом я получаю величину, приближенно равную амплитудному значению, т.к. дело заключается в разных степенях точности расчета.
Полагаю, что дело не в разных степенях точности расчета, а в точности представления расчетного значения в ячейке. Посмотрите значение в ячейке, предварительно дав команду format long, - увидите более точную цифру. Или откройте ячейку в редакторе переменных (дважды щелкнув по ней в окне Workspace) и посмотрите там.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB