comm.DiscreteTimeVCO

Сгенерируйте синусоид переменной частоты

Описание

The DiscreteTimeVCO (управляемый напряжением осциллятор) генерирует сигнал, частотный сдвиг которого от свойства спокойной частоты пропорциональен входному сигналу. Входной сигнал интерпретируется как напряжение.

Чтобы сгенерировать синусоидальную переменную частоты:

  1. Определите и настройте объект дискретного управляемого напряжением генератора времени. См. «Конструкция».

  2. Функции step сгенерировать синусоиду переменной частоты согласно свойствам comm.DiscreteTimeVCO. Поведение step характерен для каждого объекта в тулбоксе.

Примечание

Начиная с R2016b, вместо использования step метод для выполнения операции, заданной Системной object™, можно вызвать объект с аргументами, как если бы это была функция. Для примера, y = step(obj,x) и y = obj(x) выполнять эквивалентные операции.

Конструкция

H = comm.DiscreteTimeVCO создает управляемый напряжением генератор Системного объекта (VCO) в дискретном времени, H. Этот объект генерирует синусоидальный сигнал с частотой, сдвинутой с заданной спокойной частоты на значение, пропорциональное входному сигналу.

H = comm.DiscreteTimeVCO(Name,Value) создает объект VCO в дискретном времени, H, с каждым заданным набором свойств до заданного значения. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

Свойства

OutputAmplitude

Амплитуда выхода сигнала

Задайте амплитуду выхода сигнала как скалярное значение двойной или одинарной точности. Значение по умолчанию является 1. Это свойство настраивается.

QuiescentFrequency

Частота выхода сигнала, когда вход равен нулю

Задайте спокойную частоту выходного сигнала в Герце, как двойную- или одинарное-точное, действительное, скалярное значение. Значение по умолчанию является 10. Это свойство настраивается.

Sensitivity

Чувствительность сдвига частоты выхода сигнала

Задайте чувствительность сдвига частоты выходного сигнала к входу в виде двойной или одинарной точности, действительного скалярного значения. Значение по умолчанию является 1. Это значение масштабирует входное напряжение и, следовательно, сдвиг от значения спокойной частоты. Свойство измеряет Чувствительность в Герце на вольт. Это свойство настраивается.

InitialPhase

Начальная фаза выхода сигнала

Задайте начальную фазу выходного сигнала в радианах как двойную или одинарную точность, действительное, скалярное значение. Значение по умолчанию является 0.

SampleRate

Частота дискретизации входов

Задайте частоту дискретизации входа в Герце как двойную- или одинарную точность, положительное, скалярное значение. Значение по умолчанию является 100.

Методы

шагСгенерируйте синусоид переменной частоты
Общий для всех системных объектов
release

Разрешить изменение значения свойства системного объекта

reset

Сброс внутренних состояний Системного объекта

Примеры

свернуть все

Создайте источник сигнала System object™.

reader = dsp.SignalSource;

Сгенерируйте случайные данные и примените прямоугольное импульсное формирование.

reader.Signal = randi([0 7],10,1);
reader.Signal = rectpulse(reader.Signal,100);

Создайте логгер сигналов и объекты системы VCO в дискретном времени.

logger = dsp.SignalSink;
discreteVCO = comm.DiscreteTimeVCO('OutputAmplitude',8,'QuiescentFrequency',1);

Сгенерируйте сигнал FSK.

while(~isDone(reader))
    sig = reader();
    y = discreteVCO(sig);
    logger(y);
end
oscsig = logger.Buffer;

Постройте график сгенерированного FSK сигнала.

t = (0:length(oscsig)-1)'/discreteVCO.SampleRate;
plot(t,reader.Signal,'--r', 'LineWidth',3)
hold on
plot(t,oscsig,'-b');
hold off
xlabel('Time (s)')
ylabel('Amplitude (V)')
legend('Input Signal','FSK Signal','location','se')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Input Signal, FSK Signal.

Алгоритмы

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

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

  • Можно задать SampleRate свойство объекта с одинарной точностью или двойной точностью. Блок не допускает этого.

  • В арифметических операциях с более чем двумя операндами со смешанными типами данных результат может отличаться в зависимости от порядка работы. Таким образом, следующее вычисление может также способствовать различию в выходе блока и объекта:

    входная * чувствительность * sampleTime

  • Блок выполняет это вычисление слева направо. Однако, поскольку чувствительность * sampleTime является одноразовым вычислением, объект вычисляет это следующим образом:

    входной * (чувствительность * sampleTime)

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

.

См. также

Введенный в R2012a