Simulink® модели могут обрабатывать как сигналы дискретного времени, так и сигналы непрерывного времени. Модели, созданные с помощью DSP System Toolbox™, предназначены только для обработки сигналов дискретного времени. Сигнал в дискретном времени является последовательностью значений, которые соответствуют конкретным моментам во времени. Моменты времени, в которые задан сигнал, являются шагами расчета сигнала, и сопоставленные значения сигналов являются выборками сигнала. Традиционно сигнал дискретного времени рассматривается неопределенным в точках времени между шагами расчета. Для периодически дискретизируемого сигнала равный интервал между любыми парами последовательных шагов расчета является периодом дискретизации Ts сигнала. Fs скорости дискретизации является обратным периоду дискретизации, или 1/ Ts. Частота дискретизации является количеством выборок в сигнале в секунду.
Этот 7,5-секундный сегмент треугольной волны имеет период дискретизации 0,5 секунды и шаги расчета 0,0, 0,5, 1,0, 1,5,..., 7,5. Поэтому скорость дискретизации последовательности составляет 1/0,5 или 2 Гц.
Для описания характеристик сигналов дискретного времени, обнаруженных в моделях Simulink, используется ряд различных терминов. В этой таблице перечислены термины, которые часто используются, чтобы описать, как различные блоки работают с сигналами, основанными на дискретизации и основанными на кадрах.
Термин | Символ | Модули | Примечания |
---|---|---|---|
Период дискретизации | Ts | Секунды | Временной интервал между последовательными выборками в последовательности, как вход в блок (Tsi) или выход из блока (Tso). |
Период системы координат | Tf | Секунды | Временной интервал между последовательными системами координат в последовательности, как вход в блок (Tfi) или выход из блока (Tfo). |
Период сигнала | T | Секунды | Время, прошедшее во время одного повторения периодического сигнала. |
Частота дискретизации | Fs | Гц (выборки в секунду) | Количество выборок в единицу времени, Fs = 1/Ts. |
Частота | f | Гц (обороты в секунду) | Количество повторений в модуле времени периодического сигнала или сигнального компонента, f = 1/T. |
Nyquist rate | Гц (обороты в секунду) | Минимальная частота дискретизации, которая избегает сглаживания, обычно в два раза выше самой высокой частоты в дискретизируемом сигнале. | |
Частота Нюквиста | fnyq | Гц (обороты в секунду) | Вдвое больше самой высокой частоты в сигнале. |
Нормированная частота | fn | Два цикла на выборку | Частота (линейная) из периодического сигнала, нормализованного к половине частоты дискретизации, <reservedrangesplaceholder1> n = ω/π = 2 фс <reservedrangesplaceholder0>/. |
Угловая частота | Ω | Радианы в секунду | Частота периодического сигнала в угловых единицах, Ω = 2π f. |
Цифровая (нормированная угловая) частота | ω | Радианы на выборку | Частота (угловая) из периодического сигнала, нормализованного к частоте дискретизации, ω = Ω / Fs = π <reservedrangesplaceholder0>. |
Примечание
В блок диалогах термин шага расчета используется для обозначения периода дискретизации Ts. Для примера параметр Sample time в блоке Signal From Workspace задает период дискретизации импортированного сигнала.
Simulink позволяет вам выбрать из нескольких различных алгоритмов решателя симуляции. Вы можете получить доступ к этим алгоритмам решателя из модели Simulink:
На вкладке Modeling нажмите Model Settings. Откроется диалоговое окно Configuration Parameters.
Выбор, который вы делаете на панели Solver, определяет, как сигналы дискретного времени обрабатываются в Simulink. Рекомендуемые настройки Solver для симуляций обработки сигналов:
Type: Fixed-step
Solver: Discrete (no continuous states)
Fixed-step size (fundamental sample time): auto
Treat each discrete rate as a separate task: Off
Можно автоматически задать эти опции решателя для всех новых моделей с помощью шаблонов модели DSP Simulink. Для получения дополнительной информации смотрите Настройте окружение Simulink для моделей обработки сигналов.
Когда для типа решателя задано значение Fixed-step
Simulink работает в двух режимах постановки задач:
Однозадачный режим
Многозадачный режим
На вкладке Modeling нажмите Model Settings. Откроется диалоговое окно Configuration Parameters. На панели Solver выберите Type > Fixed-step
. Разверните раздел Детали решателя. Чтобы задать многозадачный режим, выберите Treat each discrete rate as a separate task. Чтобы задать однозадачный режим, снимите Treat each discrete rate as a separate task.
Если вы выбираете параметр Treat each discrete rate as a separate task, однозадачный режим все еще используется в следующих случаях:
Если ваша модель содержит один шаг расчета
Если ваша модель содержит непрерывный и дискретный шаг расчета, и размер фиксированного шага равен дискретному шагу расчета
Для типовой модели, которая работает с одной скоростью, Simulink выбирает однозадачный режим.
На однозадачный режим шаге сигналы дискретного времени отличаются от прототипа, описанного во Временной и Частотной Терминологии, оставаясь заданными между шагами расчета. Например, представление волны треугольника в дискретном времени выглядит следующим образом.
Значение этого сигнала в t = 3.112
секунд совпадает со значением сигнала в t = 3
секунд. На однозадачный режим с фиксированным шагом шагов расчета сигнала являются моментами, где сигналу разрешено изменять значения, а не там, где сигнал задан. Между шагами расчета сигнал принимает значение в предыдущий шаг расчета.
В результате на однозадачный режим с фиксированным шагом Simulink разрешает операции с перекрестной скоростью, такие как сложения двух сигналов с различными скоростями. Это объясняется далее в операциях с перекрестными ставками.
Полезно знать, как другие опции решателя, доступные в Simulink, влияют на сигналы дискретного времени. В частности, вы должны быть осведомлены о свойствах сигналов дискретного времени при этих настройках:
<reservedrangesplaceholder1> <reservedrangesplaceholder0>Выберите Treat each discrete rate as a separate task, чтобы включить многозадачный режим.
Когда выбран решатель с фиксированным шагом в многозадачном режиме, дискретные сигналы в Simulink не определены между шагами расчета. Simulink генерирует ошибку, когда операции пытаются ссылаться на неопределенную область сигнала, как, например, когда добавляются сигналы с различными скоростями дискретизации.
<reservedrangesplaceholder1> <reservedrangesplaceholder0>
(решатель по умолчанию Simulink)
Когда Variable-step
выбирают решатель, сигналы дискретного времени остаются заданными между шагами расчета, так же как в случае с фиксированным шагом, однозадачном случае, описанном в Рекомендуемых Настройках для Симуляций Дискретного Времени. Когда Variable-step
выбран решатель, операции перекрестной скорости разрешены Simulink.
Для типовой модели, содержащей несколько скоростей, Simulink выбирает многозадачный режим.
Когда выбран решатель с фиксированным шагом в многозадачном режиме, дискретные сигналы в Simulink не определены между шагами расчета. Поэтому, чтобы выполнить операции с перекрестной скоростью, такие как сложение двух сигналов с различными скоростями дискретизации, вы должны преобразовать эти два сигнала в общую частоту дискретизации. Несколько блоков в библиотеках Операции и Многоскоростные Фильтры могут выполнить эту задачу. Смотрите Преобразование выборки и систем координат в Simulink для получения дополнительной информации. Изменение скорости может происходить неявно в зависимости от настроек диагностики. Однако это не рекомендуется. Смотрите Multitask data transfer (Simulink), Single task data transfer (Simulink). Требуя явных преобразований скорости для операций с перекрестной скоростью в дискретном режиме, Simulink помогает вам идентифицировать проблемы преобразования частоты дискретизации в начале процесса проекта.
Когда Variable-step
выбирают решатель или решатель с фиксированным шагом, однозадачный решатель, сигналы дискретного времени остаются заданными между шагами расчета. Поэтому, если вы дискретизируете сигнал со скоростью или фазой, которая отличается от собственной скорости и фазы сигнала, вы все еще будете измерять значимые значения:
В MATLAB® в командной строке введите ex_sum_tut1
.
Откроется модель Cross-Rate Sum Example. Эта модель добавляет два сигнала с различными периодами дискретизации.
Дважды кликните верхний блок Signal From Workspace. Откроется диалоговое окно Block Parameters: Signal From Workspace.
Установите параметр Sample time равным 1
.
Это создает быстрый сигнал (Ts = 1) с временами дискретизации 1, 2, 3,...
Дважды кликните нижний блок Signal From Workspace.
Установите параметр Sample time равным 2
.
Это создает медленный сигнал (Ts = 2) с временами дискретизации 1, 3, 5,...
На вкладке Debug выберите Information Overlays > Colors.
Выбор Colors позволяет вам видеть различные частоты дискретизации в действии. Для получения дополнительной информации о расцветке шагов расчета смотрите Просмотр информации о сроке расчета (Simulink).
Запустите модель.
Примечание
Использование шаблонов модели DSP Simulink с операциями с перекрестной скоростью генерирует ошибки, хотя выбран решатель с фиксированным шагом и одной задачей. Это связано с тем, что Single task data transfer установлено на error
на панели Sample Time раздела Diagnostics диалогового окна Configuration Parameters.
В командной строке MATLAB введите dsp_examples_yout
.
Отображается следующий выход:
dsp_examples_yout = 1 1 2 2 1 3 3 2 5 4 2 6 5 3 8 6 3 9 7 4 11 8 4 12 9 5 14 10 5 15 0 6 6
Первый столбец матрицы является быстрым сигналом (Ts = 1). Второй столбец матрицы является медленным сигналом (Ts = 2). Третий столбец является суммой двух сигналов. Как ожидалось, медленный сигнал изменяется один раз в 2 секунды, вдвое чаще, чем быстрый сигнал. Тем не менее, медленный сигнал задается в каждый момент, потому что Simulink удерживает предыдущее значение более медленного сигнала во время образцов, когда блок не запускается.
В общем, для Variable-step
и фиксированный шаг, однозадачные режимы, когда вы измеряете значение дискретного сигнала между шагами расчета, вы наблюдаете значение сигнала на предыдущих шагах расчета.