Экспортируйте данные в MATLAB

Используйте для блока рабочей области

Этот раздел объясняет, как отправить данные из Simulink® модель к MATLAB® рабочая область, таким образом, можно анализировать результаты симуляций более подробно.

Можно использовать блок To Workspace (Simulink) от DSP System Toolbox™ / библиотека Sinks, чтобы отправить данные в рабочее пространство MATLAB как вектор. Например, можно отправить данные о коэффициенте ошибок из модели Кода Хемминга, описанной в разделе Reducing the Error Rate Using a Hamming Code. Чтобы вставить блок To Workspace (Simulink) в модель, выполните эти шаги:

  1. Чтобы открыть модель, в подсказке MATLAB, вводят doc_hamming.

  2. Чтобы добавить блок To Workspace (Simulink), начните вводить имя 'к рабочей области' в окне модели и выберите блок To Workspace из DSP System Toolbox / библиотека Sinks. Соедините его как показано.

Совет

Больше чем один блок To Workspace существует. Выберите блок To Workspace из подбиблиотеки DSP System Toolbox / Sinks.

Сконфигурируйте с блоком рабочей области

Чтобы сконфигурировать блок To Workspace (Simulink), выполните эти шаги:

  1. Дважды кликните блок, чтобы отобразить его диалоговое окно.

  2. Введите hammcode_BER в поле Variable name.

  3. Введите 1 в поле Limit data points to last. Это ограничивает выходной вектор значениями на итоговом временном шаге симуляции.

  4. Нажмите OK.

Когда вы запускаете симуляцию, модель отправляет выход блока Error Rate Calculation к рабочей области как вектор из размера 3, названный hamming_BER. Записи этого вектора совпадают с показанными блоком Error Rate Display.

Просмотрите данные о коэффициенте ошибок в рабочей области

После выполнения симуляции можно просмотреть вывод блока To Workspace (Simulink) путем ввода следующих команд в подсказке MATLAB:

format short e
hammcode_BER

Векторный выход следующий:

hammcode_BER =
5.4066e-003  1.0000e+002  1.8496e+004

Команда format short e отображает записи вектора в экспоненциальной форме. Записи следующие:

  • Первая запись является коэффициентом ошибок.

  • Вторая запись является общим количеством ошибок.

  • Третья запись является общим количеством сделанных сравнений.

Отправьте данные о сигнале и ошибке в рабочую область

Чтобы анализировать эффективность исправления ошибок Кода Хемминга, отправьте переданный сигнал, полученный сигнал и вектора ошибок, созданные блоком Binary Symmetric Channel, к рабочей области. Пример этого показывают в следующем рисунке.

  1. Введите doc_channel в командной строке MATLAB, чтобы открыть модель начинающего.

  2. Дважды кликните блок Binary Symmetric Channel, чтобы открыть его диалоговое окно и выбрать Output error vector. Это создает выходной порт для ошибочных данных.

  3. Переместите блоки, чтобы создать место так, чтобы можно было вставить блоки Hamming Decoder и Hamming Encoder. Чтобы найти их, начните вводить Hamming в окне модели. Выберите их из представленных опций. Они Hamming Encoder и блоки Hamming Decoder находятся в Communications Toolbox™ / Выявление ошибок и Коррекция / подбиблиотека Block.

  4. Добавьте три To Workspace (Simulink) блоки в окно модели и соедините их как показано на предыдущем рисунке.

    Совет

    Больше чем один блок To Workspace существует. Выберите блок To Workspace из подбиблиотеки DSP System Toolbox / Sinks.

  5. Дважды кликните левый блок To Workspace (Simulink).

    • Введите Tx в поле Variable name в диалоговом окне блока. Блок отправляет переданный сигнал в рабочую область как массив под названием Tx.

    • В поле Save 2-D signals as выберите 3-D array (concatenate along third dimension). Это сохраняет каждую систему координат как отдельный столбец массива Tx.

    • Нажмите OK.

  6. Дважды кликните средний блок To Workspace (Simulink):

    • Введите errors в поле Variable name.

    • В поле Save 2-D signals as выберите 3-D array (concatenate along third dimension). Это сохраняет каждую систему координат как отдельный столбец массива Tx.

    • Нажмите OK.

  7. Дважды кликните правильный блок To Workspace (Simulink):

    • Введите Rx в поле Variable name.

    • В поле Save 2-D signals as выберите 3-D array (concatenate along third dimension). Это сохраняет каждую систему координат как отдельный столбец массива Tx.

    • Нажмите OK.

Сигнал представления и ошибочные данные в рабочей области

После выполнения симуляции можно отобразить отдельные системы координат данных. Например, чтобы отобразить десятую систему координат Tx, в типе подсказки MATLAB

Tx(:,:,10)

Это возвращает вектор-столбец длины 4, соответствуя длине слова сообщения. Обычно, вы не должны вводить Tx отдельно, потому что это отображает целый переданный сигнал, который является очень большим.

Чтобы отобразить соответствующую систему координат ошибок, ввести

errors(:,:,10)

Это возвращает вектор-столбец длины 7, соответствуя длине кодовой комбинации.

Чтобы отобразить системы координат 1 - 5 из переданного сигнала, ввести

Tx(:,:,1:5)

Анализируйте данные о сигнале и ошибке

Можно использовать MATLAB, чтобы анализировать данные из симуляции. Например, чтобы идентифицировать различия между переданными и полученными сигналами, ввести

diffs = Tx~=Rx;

Векторный diffs XOR векторов Tx и Rx. 1 в diffs указывает на тот Tx и Rx отличайтесь в том положении.

Можно определить индексы систем координат, соответствующих, чтобы передать слова, которые неправильно декодируются со следующей командой MATLAB:

error_indices = find(diffs);

1 в векторном not_equal указывает, что существует по крайней мере одно различие между соответствующей системой координат Tx и Rx. Векторный error_indices записывает индексы где Tx и Rx отличаться. Чтобы просмотреть первое неправильно декодируемое слово, ввести

Tx(:,:,error_indices(1))

Чтобы просмотреть соответствующую систему координат ошибок, ввести

errors(:,:,error_indices(1))

Анализируйте эти данные, чтобы определить ошибочные шаблоны, которые приводят к неправильному декодированию.