Сгенерируйте синусоиду, с помощью внешнего сигнала в качестве источника времени
Simulink / Математические операции
Функциональный блок Синусоиды выводит синусоидальную форму волны. Блок может действовать в основанном на времени или основанном на выборке режиме.
Этот блок совпадает с блоком Sine Wave, который появляется в библиотеке Math Operations. Если вы выбираете Use simulation time
для параметра Времени в блочном диалоговом окне, вы получаете Функциональный блок Синусоиды.
Блок вычисляет выходную форму волны.
В основанном на времени режиме значение параметра Частоты дискретизации определяет, действует ли блок в непрерывном режиме или дискретном режиме.
0
(значение по умолчанию) заставляет блок, действуют в непрерывном режиме.
>0
заставляет блок, действуют в дискретном режиме.
Для получения дополнительной информации см. Настройку времени выборки.
При работе в непрерывном режиме блок Sine Wave может стать неточным из-за потери точности, как время становится очень большим.
Значение параметров Частоты дискретизации, больше, чем нуль, заставляет блок, ведут себя, как будто это управляло блоком Zero-Order Hold, частота дискретизации которого установлена в то значение.
Таким образом, можно создать модели с источниками синусоиды, которые чисто дискретны, а не модели, которые являются гибридными непрерывными/дискретными системами. Гибридные системы являются по сути более комплексными и в результате занимают больше времени, чтобы моделировать.
В дискретном режиме этот блок использует дифференциальный инкрементный алгоритм вместо одного на основе абсолютного времени. В результате блок может быть полезным в моделях, предназначенных, чтобы запуститься в течение неопределенного отрезка времени, такой как в тестировании усталости или вибрации.
Дифференциальный инкрементный алгоритм вычисляет синус на основе значения, вычисленного в предыдущей частоте дискретизации. Этот метод использует следующие тригонометрические тождества:
В матричной форме эти тождества:
Поскольку Δt является постоянным, следующее выражение является константой:
Поэтому проблема становится одним из умножения матриц значения постоянной матрицей, чтобы получить .
Дискретный режим уменьшает, но не устраняет накопление ошибок округления, например, (4*eps)
. Это накопление может произойти, потому что вычисление блока вывод на каждом временном шаге зависит от значения вывода на предыдущем временном шаге.
Чтобы обработать ошибки округления, когда блок Sine Wave будет действовать в основанном на времени дискретном режиме, используйте один из этих методов.
Метод | Объяснение |
---|---|
Вставьте блок Saturation, непосредственно нисходящий из блока Sine Wave. |
Путем установления пределов насыщенности для блока Sine Wave вывод можно удалить проскакивание из-за накопления ошибок округления. |
Настройте блок Sine Wave, чтобы использовать математическую библиотечную функцию
|
Математическая библиотечная функция |
Основанный на выборке режим использует эту формулу, чтобы вычислить вывод блока Sine Wave.
A является амплитудой синусоиды.
p является количеством выборок времени на период синусоиды.
k является повторяющимся целочисленным значением, которое колеблется от 0 до p–1.
o является смещением (сдвиг фазы) сигнала.
b является смещением сигнала.
В этом режиме Simulink® устанавливает k, равный 0
на первом временном шаге, и вычисляет блок вывод, с помощью формулы. На следующем временном шаге Simulink постепенно увеличивает k и повторно вычисляет вывод блока. Когда k достигает p, Simulink сбрасывает k к 0
прежде, чем вычислить блок вывод. Этот процесс продолжается до конца моделирования.
Основанный на выборке метод вычислительного блока, вывод в установленный срок продвигается, не зависит от вывода предыдущих временных шагов. Поэтому этот режим избегает накопления ошибок округления. Основанный на выборке режим поддерживает семантику сброса в подсистемах, которые предлагают его. Например, если блок Sine Wave находится в восстановленной подсистеме, которая получает триггер сброса, повторяющийся целочисленный сброс k
и блок выходной сброс к его начальному условию.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|