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

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

Модели 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) или выходом от блока (Цо).

Структурируйте период

Tf
Tfi
Tfo

Секунды

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

Период сигнала

T

Секунды

Время протекло во время одного повторения периодического сигнала.

Демонстрационная частота

Fs

Гц (выборки в секунду)

Количество выборок в единицу времени, Фс = 1/Ts.

Частота

f

Гц (циклы в секунду)

Количество повторений в единицу времени периодического компонента сигнала или сигнала, f = 1/T.

Уровень Найквиста

 

Гц (циклы в секунду)

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

Частота Найквиста

fnyq

Гц (циклы в секунду)

Дважды самая высокая частота, существующая в сигнале.

Нормированная частота

fn

Два цикла на выборку

Частота (линейная) из периодического сигнала, нормированного к половине частоты дискретизации, f n = ω/π = 2f/Fs.

Угловая частота

Ω

Радианы в секунду

Частота периодического сигнала в угловых единицах, Ω = 2πf.

Цифровой (нормировал угловой), частота

ω

Радианы на выборку

Частота (угловая) из периодического сигнала, нормированного к частоте дискретизации, ω = Ω/Fs = πfn.

Примечание

В диалоговых окнах блока термин шаг расчета используется, чтобы отослать к периоду расчета Ts. Например, параметр Sample time в блоке Signal From Workspace задает период расчета импортированного сигнала.

Рекомендуемые настройки для симуляций дискретного времени

Simulink позволяет вам выбирать из нескольких различных алгоритмов решателя симуляции. Можно получить доступ к этим алгоритмам решателя из модели Simulink:

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

  2. Выборы, которые вы делаете в панели Solver, определяют, как сигналы дискретного времени обрабатываются в Simulink. Рекомендуемые настройки Solver для симуляций обработки сигналов:

    • Ввод: 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-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, влияют на сигналы дискретного времени. В частности, необходимо знать о свойствах сигналов дискретного времени при этих настройках:

  • Type: Fixed-step, выберите Treat each discrete rate as a separate task, чтобы включить многозадачный режим.

    Когда фиксированный шаг, многозадачный решатель выбран, дискретные сигналы в Simulink не определены между шагами расчета. Simulink генерирует ошибку, когда операции пытаются сослаться на неопределенную область сигнала, как, например, когда сигналы с различными частотами дискретизации добавляются.

  • Type: Variable-step (решатель значения по умолчанию Simulink)

    Когда Variable-step решатель выбран, сигналы дискретного времени остаются заданными между шагами расчета, так же, как на фиксированном шаге, однозадачный случай, описанный в Рекомендуемых Настройках для Симуляций Дискретного времени. Когда Variable-step решатель выбран, операции кросс-курса позволены Simulink.

Для типичной модели, содержащей несколько уровней, Simulink выбирает многозадачный режим.

Операции кросс-курса

Когда фиксированный шаг, многозадачный решатель выбран, дискретные сигналы в Simulink не определены между шагами расчета. Поэтому, чтобы выполнить операции кросс-курса как сложение двух сигналов с различными частотами дискретизации, необходимо преобразовать два сигнала в общую частоту дискретизации. Несколько блоков в библиотеках Signal Operations и Multirate Filters могут выполнить эту задачу. Смотрите Преобразуют Частоты дискретизации и Частоту кадров в Simulink для получения дополнительной информации. Изменение уровня может произойти неявно в зависимости от диагностических настроек. Однако это не рекомендуется. Смотрите Многозадачную передачу данных (Simulink), Одна передача данных задачи (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 и фиксированный шаг, однозадачные режимы, когда вы измеряете значение дискретного сигнала между шагами расчета, вы наблюдаете значение сигнала в предыдущем шаге расчета.