Прежде, чем экспортировать данные - нужно их создать и просмотреть, и наметить ту часть сигнала, которую хотим выложить в отдельный файл.
Запоминаем временной диапазон, соответствующий одному периоду.
Теперь с нашей моделью нужно произвести манипуляции, а точнее: с блоком “To File”. Модернизируем его так, чтобы он записывал в файл интересующую информацию только в требуемом временном диапазоне. Если бы мы писали программу на каком-либо процедурном языке - это бы действие (запись в файл в интересуемом временном диапазоне) мы производили бы в ветви if( time >= lower_limit && time <= upper_limit) { /* write to file.mat */ }. А в Simulink самое простое решение ( принцип KISS рулит!! ) оказалось следующим: берем блоки Interval Test, Enabled Subsystem , Clock, блок To File и объединяем их всех в одну подсистему таким вот способом Create a Subsystem by Grouping Existing Blocks . За всеми подробностями - к рисунку.
Дальнейшие действия выполнять, как написано в этой статье с пункта 3 по 9 пункт.
Проделав их, получаем:
Для быстрого ликбеза по выше указанным шагам можно обратиться к статье Как в MatLab просмотреть сигнал, сформированный за все время моделирования? (где так же повествуется о записи данных в *.mat файл)
Я все делаю на примере одного из своих проектов. Мне нужно экспортировать из модели цифрового детектора один период продетектированной огибающей.
Мы уже научились работать с Time Series Plot. Поэтому с легкостью определяем часть сигнала для экспорта:
Запоминаем временной диапазон, соответствующий одному периоду.
Теперь с нашей моделью нужно произвести манипуляции, а точнее: с блоком “To File”. Модернизируем его так, чтобы он записывал в файл интересующую информацию только в требуемом временном диапазоне. Если бы мы писали программу на каком-либо процедурном языке - это бы действие (запись в файл в интересуемом временном диапазоне) мы производили бы в ветви if( time >= lower_limit && time <= upper_limit) { /* write to file.mat */ }. А в Simulink самое простое решение ( принцип KISS рулит!! ) оказалось следующим: берем блоки Interval Test, Enabled Subsystem , Clock, блок To File и объединяем их всех в одну подсистему таким вот способом Create a Subsystem by Grouping Existing Blocks . За всеми подробностями - к рисунку.
Дальнейшие действия выполнять, как написано в этой статье с пункта 3 по 9 пункт.
Проделав их, получаем:
Комментариев нет:
Отправить комментарий