dsp. SineWave

Сгенерируйте дискретную синусоиду

Описание

Система dsp.SineWave object™ генерирует действительный или комплексный, многоканальный синусоидальный сигнал с независимой амплитудой, частотой и фазой в каждом выходном канале.

И для действительных и для комплексных синусоид, Амплитуды, Частоты и свойств PhaseOffset могут быть скаляры или векторы длины-N, где N является количеством каналов в выводе. Когда вы задаете по крайней мере одно из этих свойств как вектор длины-N, скалярные значения, заданные для других свойств, применяются к каждому из каналов N.

Сгенерировать дискретное время синусоидальный сигнал:

  1. Создайте объект dsp.SineWave и установите его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Синтаксис

sine = dsp.SineWave
sine = dsp.SineWave(Name,Value)
sine = dsp.SineWave(amp,freq,phase,Name,Value)

Описание

sine = dsp.SineWave создает объект синусоиды, который генерирует синусоиду с действительным знаком с амплитудой 1, частотой 100 Гц и смещением фазы 0. По умолчанию объект синусоиды генерирует только одну выборку.

sine = dsp.SineWave(Name,Value) создает объект синусоиды с каждым заданным набором свойств к заданному значению. Заключите каждое имя свойства в одинарные кавычки.

Пример: синус = dsp. SineWave ('Амплитуда', 2);

пример

sine = dsp.SineWave(amp,freq,phase,Name,Value) создает объект синусоиды с Амплитудным набором свойств к amp, набором свойств Частоты к freq, набором свойств PhaseOffset к phase, и anyother задал набор свойств к заданным значениям.

Свойства

развернуть все

Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и функция release разблокировала их.

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты (MATLAB).

Амплитуда синусоиды, заданной как одно из следующего:

  • скаляр – скаляр применяется ко всем каналам.

  • вектор – вектор длины-N содержит амплитуды синусоид в каждом N каналы вывода. Длина вектора должна быть эквивалентной, который задал для свойств Frequency и PhaseOffset.

Настраиваемый: да

Зависимости

Это свойство является настраиваемым только когда вы метод установки или для 'Trigonometric function' или для 'Differential'.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Частота синусоиды в Гц, заданном как одно из следующего:

  • скаляр – скаляр применяется ко всем каналам.

  • вектор – вектор длины-N содержит частоты синусоид в каждом N каналы вывода. Длина вектора должна быть эквивалентной, который задал для свойств Amplitude и PhaseOffset.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Смещение фазы синусоиды в радианах, заданных как одно из следующего:

  • скаляр – скаляр применяется ко всем каналам.

  • вектор – вектор длины-N содержит смещения фазы синусоид в каждом N каналы вывода. Длина вектора должна быть эквивалентной, который задал для свойств Amplitude и Frequency.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Отметьте, который указывает, является ли форма волны действительной или комплексной, задана как также:

  • ложь Форма волны вывод действительна.

  • tRUE Форма волны вывод является комплексной.

Метод раньше генерировал синусоиды, заданные как одно из следующего:

  • 'Trigonometric function' – Объект вычисляет синусоиду путем выборки непрерывно-разовой функции.

  • 'Table lookup' – Объект предварительно вычисляет уникальные выборки каждой выходной синусоиды в начале симуляции и вспоминает выборки из памяти по мере необходимости.

  • 'Differential' – Объект использует инкрементный алгоритм. Этот алгоритм вычисляет выходные выборки на основе выходных значений, вычисленных в предыдущем шаге расчета и предварительно вычисленных условиях обновления.

Оптимизируйте таблицу значений синуса для скорости или памяти, заданной как также:

  • 'Speed' – Таблица содержит элементы k, где k является количеством входных выборок в один полный период синусоиды. Период каждой синусоиды должен быть целочисленным кратным 1/Fs, где Fs является значением значения свойства SampleRate. Таким образом, каждый элемент свойства Frequency должен иметь форму Fs/m, где m является целым числом, больше, чем 1.

  • memory Таблица содержит k/4 элементы.

Зависимости

Это свойство применяется только, когда вы устанавливаете свойство Method на 'Table lookup'.

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

Пример: 44100

Пример: 22050

Количество последовательных выборок от каждой синусоиды, чтобы буферизовать в выходной кадр, заданный как положительное целое число.

Пример: 1000

Пример: 5000

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Тип данных синусоиды вывод, заданный как 'double', 'single' или 'Custom'.

Свойства фиксированной точки

Выведите слово и дробные длины, заданные как числовой тип автосо знаком с размером слова 16.

Пример: numerictype ([], 32,30)

Пример: numerictype ([], 16,15)

Зависимости

Это свойство применяется только, когда вы устанавливаете свойство Method на 'Table lookup' и свойство OutputDataType к 'Custom'.

Использование

Для версий ранее, чем R2016b, используйте функцию step, чтобы запустить алгоритм Системного объекта. Аргументы к step являются объектом, который вы создали, сопровождаемый аргументами, показанными в этом разделе.

Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Синтаксис

sineOut = sine()

Описание

пример

sineOut = sine() создает синусоиду вывод, sineOut.

Выходные аргументы

развернуть все

Синусоида выходной параметр, возвращенный как вектор или матрица. Свойство SamplesPerFrame определяет количество строк в выходной матрице. Если Частота или свойство PhaseOffset являются вектором, длина вектора определяет количество столбцов (каналы) в выходной матрице. Если Frequency или свойства PhaseOffset являются скаляром, то количество каналов в выходной матрице равняется 1.

Наборы свойств OutputDataType тип данных вывода.

Типы данных: single | double | fi

Функции объекта

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

развернуть все

stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Примеры

развернуть все

Примечание: Если вы используете R2016a или более ранний релиз, заменяете каждый вызов объекта с эквивалентным синтаксисом step . Например, obj(x) становится step(obj,x).

Сгенерируйте синусоиду с амплитудой 2, частотой 10 Гц и начальной фазой 0.

sine1 = dsp.SineWave(2,10);
sine1.SamplesPerFrame = 1000;
y = sine1();
plot(y)

Сгенерируйте две синусоиды, смещенные фазой радианов пи/2.

sine2 = dsp.SineWave;
sine2.Frequency = 10;
sine2.PhaseOffset = [0 pi/2];
sine2.SamplesPerFrame = 1000;
y = sine2();
plot(y)

Больше о

развернуть все

Алгоритмы

развернуть все

Расширенные возможности

Представленный в R2012a