Сигналы дискретного времени

Терминология времени и частоты

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

Секунды

Временной интервал между последовательными выборками в последовательности, как вход в блок (Tsi) или выход из блока (Tso).

Период системы координат

Tf
Tfi
Tfo

Секунды

Временной интервал между последовательными системами координат в последовательности, как вход в блок (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:

  1. На вкладке Modeling нажмите Model Settings. Откроется диалоговое окно Configuration Parameters.

  2. Выбор, который вы делаете на панели 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 для моделей обработки сигналов.

Режимы задачи Simulink

Когда для типа решателя задано значение Fixed-stepSimulink работает в двух режимах постановки задач:

  • Однозадачный режим

  • Многозадачный режим

На вкладке 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 выбирают решатель или решатель с фиксированным шагом, однозадачный решатель, сигналы дискретного времени остаются заданными между шагами расчета. Поэтому, если вы дискретизируете сигнал со скоростью или фазой, которая отличается от собственной скорости и фазы сигнала, вы все еще будете измерять значимые значения:

  1. В MATLAB® в командной строке введите ex_sum_tut1.

    Откроется модель Cross-Rate Sum Example. Эта модель добавляет два сигнала с различными периодами дискретизации.

  2. Дважды кликните верхний блок Signal From Workspace. Откроется диалоговое окно Block Parameters: Signal From Workspace.

  3. Установите параметр Sample time равным 1.

    Это создает быстрый сигнал (Ts = 1) с временами дискретизации 1, 2, 3,...

  4. Дважды кликните нижний блок Signal From Workspace.

  5. Установите параметр Sample time равным 2.

    Это создает медленный сигнал (Ts = 2) с временами дискретизации 1, 3, 5,...

  6. На вкладке Debug выберите Information Overlays > Colors.

    Выбор Colors позволяет вам видеть различные частоты дискретизации в действии. Для получения дополнительной информации о расцветке шагов расчета смотрите Просмотр информации о сроке расчета (Simulink).

  7. Запустите модель.

    Примечание

    Использование шаблонов модели DSP Simulink с операциями с перекрестной скоростью генерирует ошибки, хотя выбран решатель с фиксированным шагом и одной задачей. Это связано с тем, что Single task data transfer установлено на error на панели Sample Time раздела Diagnostics диалогового окна Configuration Parameters.

  8. В командной строке 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 и фиксированный шаг, однозадачные режимы, когда вы измеряете значение дискретного сигнала между шагами расчета, вы наблюдаете значение сигнала на предыдущих шагах расчета.