powermeter

Измерьте степень сигнала напряжения

Описание

powermeter Система object™ вычисляет измерения мощности сигнала напряжения. Измерения мощности включают среднюю степень, пиковую мощность и отношение степени пика к среднему значению. Объект использует метод раздвижного окна, чтобы вычислить эти измерения. Для получения дополнительной информации см. Алгоритмы.

Измерять степень сигнала напряжения:

  1. Создайте powermeter объект и набор его свойства.

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

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

Создание

Описание

meter = powermeter(len) возвращает объект метра степени с WindowLength набор свойств к len.

пример

meter = powermeter(Name,Value) возвращает объект метра степени с каждым заданным набором свойств к заданному значению. Заключите каждое имя свойства в кавычки. Можно использовать этот синтаксис с предыдущим входным параметром.

Свойства

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

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

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

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

Желаемое измерение мощности в виде одного из следующего:

  • 'Average power' (значение по умолчанию)

  • 'Peak power'

  • 'Peak-to-average power ratio'

  • 'All'

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

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

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

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

Модули измеренных значений степени в виде одного из следующего:

  • 'dBm'

  • 'dBW'

  • 'Watts'

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

Описание

пример

avgpwr = meter(x) вычисляет среднюю степень входного сигнала x когда Measurement свойство установлено в 'Average power'. Каждый столбец x независимый канал. Объект вычисляет среднюю степень каждого канала входного сигнала независимо.

peakpwr = meter(x) вычисляет пиковую мощность входного сигнала x когда Measurement свойство установлено в 'Peak power'. Каждый столбец x независимый канал. Объект вычисляет пиковую мощность каждого канала входного сигнала независимо.

papr = meter(x) вычисляет отношение степени пика к среднему значению входного сигнала x когда Measurement свойство установлено в 'Peak-to-average power ratio'. Каждый столбец x независимый канал. Объект вычисляет отношение степени пика к среднему значению каждого канала входного сигнала независимо.

пример

[avgpwr,peakpwr,papr] = meter(x) вычисляет среднюю степень, пиковую мощность и отношение степени пика к среднему значению входного сигнала x когда Measurement свойство установлено в 'All'. Каждый столбец x независимый канал. Объект вычисляет измерения мощности каждого канала входного сигнала независимо.

Входные параметры

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

Сигнал входного напряжения в виде вектора или матрицы, и измеренный в вольтах. Если x матрица, каждый столбец обработан как независимый канал. Измерение мощности вычисляется вдоль каждого канала с помощью Метода Раздвижного окна.

Объект также принимает входные параметры переменного размера. Таким образом, если объект заблокирован, можно изменить размер каждого входного канала, но вы не можете изменить количество каналов.

Типы данных: single | double
Поддержка комплексного числа: Да

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

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

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

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

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

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

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

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

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

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

release(obj)

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

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

Примеры

свернуть все

Вычислите измерения мощности шумного синусоидального сигнала с помощью метра степени. Эти измерения включают среднюю степень, пиковую мощность и отношение степени пика к среднему значению.

Примите максимальное напряжение сигнала быть 100 В. Мгновенные значения синусоидальной формы волны даны уравнением Vi=Vmax×sin(2πft), гдеVi мгновенное значение, Vmax максимальное напряжение сигнала, и f частота сигнала в Гц.

Инициализация

Входной сигнал является суммой двух синусоид с набором частот к 1 кГц и 10 кГц, соответственно. Длина системы координат и частота дискретизации сгенерированного сигнала являются 512 выборками и 44,1 кГц, соответственно.

Чтобы измерить степень в этом сигнале, создайте powermeter объект. Установите 'Measurement' к 'All'. Эта установка включает объекту измерить среднюю степень, пиковую мощность и отношение степени пика к среднему значению. Установите длину раздвижного окна к 16 выборкам и ссылочной загрузке в 50 Ohms. Используйте этот объект измерить степень в dBm модули. Визуализируйте измерения мощности с помощью timescope объект.

FrameLength = 512;
Fs = 44.1e3;
A = 100;
sine1 = dsp.SineWave('Amplitude',A,'Frequency',1e3,'SampleRate',44.1e3,'SamplesPerFrame',FrameLength);
sine2 = dsp.SineWave('Amplitude',A,'Frequency',10e3,'SampleRate',44.1e3,'SamplesPerFrame',FrameLength);
pm  = powermeter(16, 'Measurement', 'All', ...
                     'ReferenceLoad', 50, ...
                     'PowerUnits', 'dBm');
scope  = timescope('NumInputPorts',4,'SampleRate',Fs,...
                   'TimeSpanSource','property',...
                   'TimeSpan',96,...
                   'YLabel','dBm',...
                   'YLimits',[-30 90]);
title = 'Power Measurements';
scope.ChannelNames = {'Average power','Peak power','Peak-to-average power ratio','Expected Average Power'};
scope.Title = title;

Вычислите измерения мощности

Добавьте нулевой средний белый Гауссов шум со стандартным отклонением 0,001 к сумме синусоид. Варьируйтесь амплитуда синусоид. Измерьте среднюю степень, пиковую мощность и отношение степени пика к среднему значению этого шумного синусоидального сигнала, который имеет различную амплитуду. Для получения дополнительной информации о том, как объект измеряет эти значения степени, см. Алгоритмы. Сравните измеренные значения с ожидаемым значением средней степени.

Ожидаемое значение средней степени P из шумного синусоидального сигнала дан следующим уравнением.

P=A122R+A222R+var(noise),

где,

  • A1 амплитуда первого синусоидального сигнала.

  • A2 амплитуда второго синусоидального сигнала.

  • R ссылочная загрузка в Омах.

В dBm, ожидаемая степень вычисляется с помощью следующего уравнения:

expPwrdBm=10log10(P)+30.

Сравните ожидаемое значение со значением, вычисленным объектом. Все значения находятся в dBm. Эти значения соответствуют очень тесно. Чтобы проверить, просмотрите вычисленные измерения с помощью timescope объект.

Vect = [1/8 1/2 1 2 1 1/2 1/8 1/16 1/32];
for index = 1:length(Vect)
    V = Vect(index);
    for i = 1:1000
        x = V*sine1()+V*sine2()+0.001.*randn(FrameLength,1);
        P = (((V*A)^2)/100)+(((V*A)^2)/100)+(0.001)^2;
        expPwr = (10*log10(P)+30)*ones(FrameLength,1);
        [avgPwr,pkPwr,papr] = pm(x);
        scope(avgPwr,pkPwr,papr,expPwr);
    end
end

Алгоритмы

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

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

Введенный в R2021a