exponenta event banner

коммуникация. DiscreteTimeVCO

Генерировать синусоиду переменной частоты

Описание

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

Для генерации синусоиды переменной частоты:

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

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

Примечание

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

Строительство

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

H = comm.DiscreteTimeVCO(Name,Value) создает дискретный объект ГУН, 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.

Алгоритмы

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

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

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

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

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

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

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

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

.

См. также

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