comm.DiscreteTimeVCO

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

Описание

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.

Методы

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

Позвольте изменения значения свойства Системного объекта

Примеры

свернуть все

Создайте исходную Систему сигнала 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')

Алгоритмы

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

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

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

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

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

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

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

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

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