Создание синусоидальной волны с использованием времени моделирования в качестве источника времени
Симулинк/источники
Блок синусоидальной волны выдает синусоидальный сигнал. Блок может работать в режиме на основе времени или выборки.
Примечание
Этот блок совпадает с блоком функции синусоидальной волны, который появляется в библиотеке математических операций. При выборе Use external signal для параметра Time (Время) в диалоговом окне block (Блок) получается блок Sine Wave Function (Синусоидальная функция).
Блок вычисляет выходной сигнал.
фаза) + смещение.
В основанном на времени режиме значение параметра Sample time определяет, работает ли блок в непрерывном или дискретном режиме.
0 (по умолчанию) приводит к работе блока в непрерывном режиме.
>0 приводит к работе блока в дискретном режиме.
Дополнительные сведения см. в разделе Указание времени образца.
При работе в непрерывном режиме блок синусоидальной волны может стать неточным из-за потери точности, поскольку время становится очень большим.
Значение параметра времени выборки больше нуля приводит к тому, что блок ведет себя так, как если бы он управлял блоком удержания нулевого порядка, для которого установлено значение времени выборки.
Таким образом, можно построить модели с источниками синусоидальных волн, которые являются чисто дискретными, а не гибридными непрерывными/дискретными системами. Гибридные системы по своей сути более сложны и в результате требуют больше времени для моделирования.
В дискретном режиме этот блок использует дифференциальный инкрементный алгоритм вместо алгоритма, основанного на абсолютном времени. В результате блок может быть полезен в моделях, предназначенных для работы в течение неопределенного периода времени, например, при испытании на вибрацию или усталость.
Дифференциальный инкрементный алгоритм вычисляет синус на основе значения, вычисленного в предыдущее время выборки. Этот метод использует следующие тригонометрические идентичности:
cos (Δt) − sin (t) sin (Δt)
В матричной форме этими тождествами являются:
Δt)] [sin (t) cos (t)]
Поскольку Δt является константой, следующее выражение является константой:
cos (Δt)]
Поэтому задача становится одной из матричного умножения значения ) на постоянную матрицу для получения Δt).
Дискретный режим уменьшает, но не исключает накопление ошибок округления, например, (4*eps). Это накопление может произойти, потому что вычисление блочного выходного сигнала на каждом временном шаге зависит от значения выходного сигнала на предыдущем временном шаге.
Для обработки ошибок округления, когда блок синусоидальной волны работает в дискретном режиме на основе времени, используйте один из этих методов.
| Метод | Объяснение |
|---|---|
|
Вставьте блок насыщения непосредственно за блоком синусоидальной волны. |
Установив пределы насыщения на выходе блока синусоидальной волны, можно удалить переполнение из-за накопления ошибок округления. |
|
Настройка блока синусоидальной волны для использования
|
|
Режим на основе образца использует эту формулу для вычисления выходного сигнала блока синусоидальной волны.
)/p) + b
А - амплитуда синусоидальной волны.
p - количество отсчетов времени за период синусоидальной волны.
k - повторяющееся целое число в диапазоне от 0 до p-1.
o - смещение (сдвиг фазы) сигнала.
b - смещение сигнала.
В этом режиме Simulink ® устанавливает k равным 0 на первом шаге времени и вычисляет выходной сигнал блока по формуле. На следующем шаге времени Simulink увеличивает k и повторно вычисляет выходной сигнал блока. Когда k достигает p, Simulink сбрасывает k до 0 перед вычислением вывода блока. Этот процесс продолжается до конца моделирования.
Основанный на выборке способ вычисления блочного выхода на данном временном шаге не зависит от выхода предыдущих временных шагов. Поэтому этот режим позволяет избежать накопления ошибок округления. Режим на основе образцов поддерживает семантику сброса в подсистемах, которые ее предлагают. Например, если блок синусоидальной волны находится в переустановляемой подсистеме, которая получает триггер сброса, повторяющееся целое число k сбрасывается, а выходной сигнал блока сбрасывается в исходное состояние.
Типы данных |
|
Прямой проход |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулей |
|