Проблема с Быстрым преобразованием Фурье

Обсуждение вопросов, связанных с Simulink

Модератор: Admin

ain41
Пользователь
Сообщения: 17
Зарегистрирован: Пн ноя 04, 2013 10:57 am

Проблема с Быстрым преобразованием Фурье

Сообщение ain41 » Вт окт 22, 2019 2:54 pm

Прошу помочь - уже "сломал голову".
В сложной дискретной модели хочу увидеть частотный спектр одной из переменных (скаляр, double). Командой power_fftscope вызываю из Matlab-а Powergui FFT Analysis Tool. Переменную отправляю в Workspace (блок Tu Workspace). Формат Structure With Time.
В результате прогона в рабочей области формируется массив, который Powergui не читает. Смотрю - моя переменная в массиве почему-то имеет измерение (dimensions) [1 1]. Хотя еще раз подчеркиваю - величина скалярная.
Делаю примитивную задачку: сумма двух синусоид разных частот плюс Tu Workspace. Величина в сохраненном массиве одномерная, Powergui функционирует.
Смотрю лист конфигурации параметров обеих моделей, подправляю настройки целевой модели к модели упрощенной. Проблема в целевой модели остается без изменений.
Тупик.
Буду благодарен за помощь.
Александр
Екатеринбург

Дополнение от 23.10.2019:
Продолжил поиск: установил в модели два идентичных блока To Workspace с именами True (для переменной, которая пишется в рабочее пространство правильно - скаляр, и с ней Powergui FFT работает) и False (переменная пишется в рабочее пространство вектором (?) и, похоже, столбцом, Powergui FFT работать с ней отказывается).
На рисунке 1 осциллограмма этих переменных: True - ломаная из модели объекта, False - вычисленная с циклом 1 миллисекунда из модели измерителя, по замерам которого (с циклом 20 микросекунд) вычисляется текущее значение ломаной. Выглядит дико, но так реализовано в аппаратуре, а моя задача - показать наглядно разработчикам недостатки такого решения.
На рисунке 2 - информация из окна Matlab-а - характеристики и содержание массивов переменных, записанных в рабочем пространстве. Слева переменная True - скаляр, привязанный к номеру точки записи. Справа - переменная False - вектор-столбец (?) c номером точки на последнем месте. Плюс значение извлечённого из вектора по номеру точки записанного сигнала, с которым должен, но отказывается работать Powergui FFT.
Что нужно подкорректировать, чтобы сигнал False записывался аналогично сигналу True, для меня загадка.
Прошу помочь!
Александр

Еще и здесь проблема - файлы с рисунками не прикрепляются (достигнут максимальный объем. Это двести-то килобайт!).