Сгенерируйте непрерывную или дискретную синусоиду
DSP System Toolbox / Источники
Поддержка HDL DSP System Toolbox / источники
Блок Sine Wave генерирует многоканальное действительное, или объедините синусоидальный сигнал, с независимой амплитудой, частотой и фазой в каждом выходном канале. Блок поддерживает плавающую точку и подписанные типы данных с фиксированной точкой.
Блок генерирует действительный синусоидальный сигнал, когда вы устанавливаете параметр Output complexity на Real
. Действительный синусоидальный выход задан выражением типа
где вы задаете в параметре Amplitude, f в герц в параметре Frequency и ϕ в радианах в параметре Phase offset.
Блок генерирует сигнал комплексной экпоненты, когда вы устанавливаете параметр Output complexity на Complex
. Этот сигнал комплексной экпоненты задан выражением типа
И для действительных и для комплексных синусоид, Amplitude, Frequency и значений параметров Phase offset (A, f, и ϕ) могут быть скаляры или векторы длины-N, где N является желаемым количеством каналов в выходе. Когда вы задаете по крайней мере один из этих параметров как вектор длины-N, скалярные значения, заданные для других параметров, применяются к каждому каналу.
Например, чтобы сгенерировать выход с тремя каналами, содержащий следующие действительные синусоиды, установите параметры блоков как показано:
Output complexity = Real
Amplitude = [1 2 3]
Frequency = [1000 500 250]
Phase offset = [0 0 pi/2]
Port_1
— Синусоидальный сигналВыведите синусоидальный сигнал как скаляр или вектор. Для получения дополнительной информации о выходной сложности, см. Описание. Для получения информации о многоканальной поддержке смотрите Генерирующие Многоканальные Выходные параметры.
Чтобы вывести типы данных с фиксированной точкой, необходимо установить Sample mode на Discrete
и Computation method к Table lookup
.
Типы данных: single
| double
| fixed point
Поддержка комплексного числа: Да
Amplitude
— Амплитуда синусоид
(значение по умолчанию) | скаляр | векторВектор длины-N, содержащий амплитуды синусоид в каждом N каналы выхода или скаляр, который будет применен ко всем каналам N. Длина вектора должна быть эквивалентной, который задал для параметров Phase offset и Frequency.
Этот параметр является настраиваемым (Simulink) только, когда Computation method является Trigonometric fcn
или Differential
.
Настраиваемый: да
Frequency (Hz)
— Частота каждой синусоиды
(значение по умолчанию) | скаляр | векторВектор длины-N, содержащий частоты, в герц, синусоид в каждом N каналы выхода или скаляр, который будет применен ко всем каналам N. Длина вектора должна быть эквивалентной, который задал для параметров Phase offset и Amplitude. Можно задать положительный, нуль или отрицательные частоты.
Этот параметр является настраиваемым (Simulink), когда вы устанавливаете также:
Sample mode к Continuous
.
Sample mode к Discrete
и Computation method к Trigonometric fcn
.
Настраиваемый: да
Phase offset (rad)
— Фаза возмещена
(значение по умолчанию) | скаляр | векторВектор длины-N, содержащий смещения фазы, в радианах, синусоид в каждом N каналы выхода или скаляр, который будет применен ко всем каналам N. Длина вектора должна быть эквивалентной, который задал для параметров Frequency и Amplitude.
Этот параметр является настраиваемым (Simulink), когда вы устанавливаете также:
Sample mode к Continuous
.
Sample mode к Discrete
и Computation method к Trigonometric fcn
.
Настраиваемый: да
Sample mode
— Непрерывный или дискретный режим выборкиDiscrete
(значение по умолчанию) | Continuous
Задайте режим выборки как Continuous
или Discrete
:
Continuous
В непрерывном режиме синусоида в канале ith, yi, вычисляется как непрерывная функция,
и выход блока непрерывен. В этом режиме блок управляет тем же самым как блоком Simulink® Sine Wave с набором Sample time к 0
. Этот режим предлагает высокую точность, но требует оценок тригонометрической функции на каждом шаге симуляции, который является в вычислительном отношении дорогим. Кроме того, потому что этот метод отслеживает абсолютное время симуляции, разрыв в конечном счете произойдет, когда временная стоимость достигнет своего максимального предела.
Обратите внимание также, что много блоков DSP System Toolbox™ не принимают входные параметры непрерывного времени.
Discrete
В дискретном режиме блок может сгенерировать дискретное время, выведенное путем прямого выполнения тригонометрической функции поиском по таблице, или дифференциальным методом. Для получения дополнительной информации об этих методах расчета см. Алгоритмы.
Output complexity
— Действительная или комплексная форма волныReal
(значение по умолчанию) | Complex
Тип формы волны, чтобы сгенерировать: Real
задает действительную синусоиду, Complex
задает комплексную экпоненту.
Computation method
— Метод для вычисления синусоид дискретного времениTrigonometric fcn
(значение по умолчанию) | Table lookup
| Differential
Метод, которым сгенерированы синусоиды дискретного времени: Trigonometric fcn
, Table lookup
, или Differential
. Для получения дополнительной информации о каждом из доступных параметров см. Алгоритмы.
Этот параметр только отображается, когда вы устанавливаете Sample mode на Discrete
.
Чтобы сгенерировать синусоиды фиксированной точки, необходимо установить Computation method на Table lookup
.
Optimize table for
— Оптимизируйте для скорости или памятиSpeed
(значение по умолчанию) | Memory
Оптимизирует таблицу значений синуса для Speed
или Memory
. Когда оптимизировано для скорости, таблица содержит k элементы, и, когда оптимизировано для памяти, таблица содержит k/4 элементы, где k является количеством входных выборок в один полный период синусоиды.
Этот параметр только отображается, когда вы устанавливаете параметр Computation method на Table lookup
.
Sample time
— Период расчета
(значение по умолчанию) | скалярПериод, с которым синусоида производится, Ts, как конечный скаляр, больше, чем нуль. Выходным периодом системы координат блока является MTS, где вы задаете M в параметре Samples per frame.
Чтобы включить этот параметр, установите Sample mode на Discrete
.
Samples per frame
— Выборки на систему координат
(значение по умолчанию) | положительное целое числоКоличество последовательных выборок от каждой синусоиды, чтобы буферизовать в выходную систему координат, M, заданный как положительное скалярное целое число. Этот параметр не является настраиваемым.
Блоком выход является M-by-N матрица с периодом системы координат M T s, где вы задаете T s в параметре Sample time.
Чтобы включить этот параметр, установите Sample mode на Discrete
.
Resetting states when re-enabled
— Поведение состояния в активированных подсистемахRestart at time zero
(значение по умолчанию) | Catch up to simulation time
Этот параметр определяет поведение блока Sine Wave, когда активированная подсистема повторно включена. Блок может или сбросить себя к своему начальному состоянию (Restart at time zero
), или резюме, генерирующее синусоиду на основе текущего времени симуляции (Catch up to simulation time
).
Этот параметр только применяется, когда блок Sine Wave расположен в активированной подсистеме, и параметр States when enabling блока Enable устанавливается на reset
.
Output data type
— Тип выходных данныхdouble
(значение по умолчанию) | single
| fixdt(1,16)
| fixdt(1,16,0)
| <data type expression>
| Inherit:Inherit via back propagation
Выберите, как требуется задать свойства типа данных Output data type. Можно выбрать:
Inherit
— Позволяет вам задать правило для наследования типа данных, например, Inherit: Inherit via back propagation
Built in
— Позволяет вам задать созданный в типе данных, например, double
Fixed point
— Позволяет вам задать атрибуты фиксированной точки типа данных.
Expression
— Позволяет вам задать выражение, которое оценивает к допустимому типу данных, например, fixdt(1,16)
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Когда вы выбираете Discrete
от параметра Sample mode вторичный параметр Computation method предоставляет три возможности для генерации дискретной синусоиды: Trigonometric fcn
, Table lookup
, и Differential
.
Метод тригонометрической функции вычисляет синусоиду в канале ith, yi, путем выборки непрерывной функции
с периодом Ts, где вы задаете Ts в параметре Sample time. Этот режим работы обладает теми же преимуществами и обязательствами как Continuous
демонстрационный режим.
В каждом шаге расчета блок оценивает синусоидальную функцию при значении подходящего времени в первом цикле синусоиды. Путем ограничения тригонометрических оценок к первому циклу каждой синусоиды блок избегает неточности вычисления синуса очень больших количеств и устраняет возможность разрыва во время расширенных операций (когда абсолютное время переменное переполнение силы). Этот метод поэтому избегает требований памяти метода поиска по таблице за счет операций намного более с плавающей точкой.
Метод поиска по таблице предварительно вычисляет уникальные выборки каждой выходной синусоиды в начале симуляции и вспоминает выборки из памяти по мере необходимости. Поскольку таблица конечной длины может только быть создана, когда все выходное повторение последовательностей, метод требует, чтобы период каждой синусоиды в выходе был равномерно делимым к периоду расчета. Таким образом, 1 / (подгонки) = ki должен быть целочисленным значением для каждого канала i = 1, 2..., N.
Когда параметр Optimize table for устанавливается на Speed
, таблица, созданная для каждого канала, содержит ki элементы. Когда параметр Optimize table for устанавливается на Memory
, таблица, созданная для каждого канала, содержит ki/4 элементы.
Для длинных выходных последовательностей метод поиска по таблице требует гораздо меньшего количества операций с плавающей точкой, чем любой из других методов, но может потребовать значительно большей памяти, специально для высоких частот дискретизации (длинные таблицы). Этот метод рекомендуется для моделей, которые предназначаются, чтобы эмулировать или сгенерировать код для оборудования DSP, и это поэтому должно быть оптимизировано для скорости выполнения.
Интерполяционная таблица для этого блока создается из значений с плавающей точкой с двойной точностью. Таким образом, когда вы используете Table lookup
режим расчета, максимальная сумма точности, которой можно достигнуть в выходе, составляют 53 бита. Установка размера слова Output или типа данных User-defined к значениям, больше, чем 53 бита, не улучшает точность вашего выхода.
Чтобы сгенерировать синусоиды фиксированной точки, необходимо выбрать Table Lookup
.
Дифференциальный метод использует инкрементный алгоритм. Этот алгоритм вычисляет выходные выборки на основе выходных значений, вычисленных в предыдущем шаге расчета (и предварительно вычисленные условия обновления) при помощи следующих тождеств.
Уравнения обновления для синусоиды в канале ith, yi, могут поэтому быть написаны в матричной форме как
где вы задаете Ts в параметре Sample time. Поскольку Ts является постоянным, правая матрица является константой и может быть вычислена однажды в начале симуляции. Значение Aisin [2πfi (t+Ts) + ϕi] затем вычисляется из значений sin (2πfit +ϕi) и because(2πfit +ϕi) простым умножением матриц на каждом временном шаге.
Этот режим предложения уменьшал вычислительную загрузку, но подвергается дрейфу в зависимости от времени из-за совокупной ошибки квантования. Поскольку метод не зависит от абсолютной временной стоимости, нет никакой опасности разрыва во время расширенных операций (когда абсолютное время переменное переполнение силы).
Ссылки блока Sine Wave абсолютное время симуляции, когда сконфигурировано в режиме непрерывной выборки.
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Этот блок имеет одну, архитектуру HDL по умолчанию.
Для генерации HDL-кода необходимо выбрать следующие настройки блока Sine Wave:
Computation method: Table lookup
Sample mode: Discrete
Вывод :
Выходной порт не может иметь типов данных single
или double
.
Этот блок поддерживает генерацию кода для комплексных сигналов.
Если вход является фиксированной точкой, это должно быть целое число со знаком или подписанная фиксированная точка с наклоном степени двойки и нулевым смещением.
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.