exponenta event banner

noisepsd

Спектральная плотность мощности на выходе фильтра из-за шума округления

Описание

noisepsdOut = noisepsd(sysobj,L) вычисляет спектральную плотность мощности (PSD) выходного сигнала фильтра, возникающего из-за шума округления. Шум округления генерируется ошибками квантования в фильтре. PSD вычисляется как среднее значение по L судебные разбирательства.

noisepsdOut = noisepsd(___,Name,Value) указывает параметры, использующие один или несколько аргументов пары имя-значение в дополнение к входным аргументам в предыдущем синтаксисе.

noisepsdOut = noisepsd(sysobj,L,opts) использует объект options для указания необязательных входных параметров вместо указания пар имя-значение.

пример

noisepsdOut = noisepsd(sysobj,'Arithmetic',arithType) анализирует системный object™ фильтра на основе арифметики, указанной в arithType вход.

noisepsd(sysobj,___) без выходного аргумента запускает FVTool и показывает оценку PSD шума объекта System фильтра.

Примеры

свернуть все

Вычисляют PSD выходного шума, вызванного процессами квантования, в КИХ-фильтре с фиксированной точкой прямой формы. Входной сигнал имеет фиксированный тип данных. noisepsd функция выполняет анализ на основе типа данных заблокированного ввода.

b = firgr(27,[0 .4 .6 1],[1 1 0 0]);
firfilt = dsp.FIRFilter('Numerator',b); % Create the filter object.
data = fi(randn(15,16),1,16,3);
output = firfilt(data);

Квантовать фильтр в фиксированную точку. Постройте график hpsd данные. Это данные, полученные в результате вычисления PSD шума. Просмотреть данные можно в разделе hpsd.data.

hpsd = noisepsd(firfilt,'Arithmetic','fixed');
plot(hpsd)

Figure contains an axes. The axes with title Power Spectral Density contains an object of type line.

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

свернуть все

Число испытаний, использованных для вычисления среднего значения, указанного как положительное целое число. Чем больше значение L, тем точнее оценка спектральной плотности мощности, но за счет более длительного времени вычислений. Если не указано Lфункция устанавливает L в значение по умолчанию, равное 10 испытаниям.

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

Объект Options для указания необязательных входных параметров вместо указания пар имя-значение.

Создание opts объект с

opts = noisepsdopts(sysobj);

opts затем принимает noisepsd настройки из sysobj.

Поскольку opts является объектом, используйте set для изменения значений параметров в opts перед использованием с noisepsd функция. Например, можно указать новую частоту выборки с помощью

set(opts,'NormalizedFrequency',false,'Fs',48e3);

Арифметика, используемая в анализе, указанная как 'double', 'single', или 'Fixed'. Вы не можете использовать 'Arithmetic' аргумент, если не известен тип данных ввода. Если не указать 'Arithmetic' аргумент, то есть используется синтаксис noisepsdOut = noisepsd(sysobj), то noisepsd функция применяет следующие правила:

  • Если объект System имеет значение Unlocked- noisepsd выполняет анализ с двойной точностью.

  • Если объект System имеет значение Locked- noisepsd функция выполняет анализ на основе типа данных заблокированного ввода.

Если указать 'Arithmetic' аргумент, то есть используется синтаксис noisepsdOut = noisepsd(sysobj,'Arithmetic',arithType), noisepsd функция применяет эти правила в зависимости от значения, заданного для arithType.

ValueСостояние объекта системыПравило
arithType = 'double'Unlockednoisepsd выполняет анализ с двойной точностью.
Lockednoisepsd выполняет анализ с двойной точностью.
arithType = 'single'Unlockednoisepsd выполняет анализ с одной точностью.
Lockednoisepsd выполняет анализ с одной точностью.
arithType = 'fixed'Unlockednoisepsd приводит к ошибке, так как тип данных ввода с фиксированной точкой неизвестен.
LockedЕсли входной тип данных является двойным или одиночным, то noisepsd приводит к ошибке, так как тип данных ввода с фиксированной точкой неизвестен.
Если входные данные имеют фиксированный тип, noisepsd выполняет анализ на основе типа данных заблокированного ввода.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: b = firgr(27,[0 .4 .6 1],[1 1 0 0]); firfilt = dsp.FIRFilter('Numerator',b); noisepsdOut = noisepsd(firfilt);

Количество точек БПФ, используемых при вычислении PSD, указанных как положительное целое число. Это значение определяет длину вектора данных PSD, показанного в Data области noisepsdOut структура. Когда 'NFFT' имеет значение:

  • Нечетное целое число - длина данных PSD задается значением (NFFT + 1 )/2.

  • Чётное целое число - длина данных PSD задается (NFFT/2) + 1.

Если не указано, NFFT по умолчанию: 512.

Примечание

Если указанные данные спектра вычисляются в течение половины интервала Найквиста и не указан соответствующий вектор частоты, то вектор частоты по умолчанию предполагает, что количество точек во всем БПФ является четным. Кроме того, опция графика для преобразования в полный или двусторонний спектр предполагает, что исходная полная длина БПФ является равномерной.

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

Укажите, следует ли использовать нормированную частоту или линейную частоту:

  • true - Используйте нормированную частоту. Если не указано, функция по умолчанию имеет значение true.

  • false - Использовать линейную частоту. При указании false, необходимо указать частоту выборки Fs.

Частота дискретизации должна быть указана в Гц, когда 'NormalizedFrequency' имеет значение false. Когда 'NormalizedFrequency' имеет значение true, 'Fs' имеет значение 'Normalized'.

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

Тип спектра генерируемых данных ИПУ, указанный как:

  • 'Onesided' - Преобразует тип в спектр, который вычисляется за половину интервала Найквиста. Все свойства, на которые влияет новый диапазон частот, корректируются автоматически.

  • 'Twosided' - Преобразует тип в спектр, который вычисляется по всему интервалу Найквиста. Все свойства, на которые влияет новый диапазон частот, корректируются автоматически. При выборе двустороннего вычисления можно также выбрать 'CenterDC' как true. В противном случае 'CenterDC' должно быть false.

Сместите нулевую частотную составляющую в центр двустороннего спектра.

  • При установке 'SpectrumType' кому 'Onesided', он изменяется на 'Twosided' и данные преобразуются в двусторонний спектр.

  • Настройка 'CenterDC' кому false сдвигает данные и значения частоты в объекте таким образом, что DC находится в левом крае спектра. Эта операция не влияет на 'SpectrumType' параметр свойства.

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

свернуть все

Объект данных, содержащий данные PSD, возвращенные как psd объект. Извлечение вектора PSD из noisepsdOutвведите в командной строке MATLAB ® следующее:

get(noisepsdOut,'data')

Постройте график данных PSD с помощью plot(noisepsdOut). Средняя мощность выходного шума (интеграл PSD) может быть вычислена с помощью avgpower, способ dspdata объекты:

avgpwr = avgpower(hpsd)

Ссылки

[1] Макклеллан, Джеймс Х., редактор. Компьютерные упражнения по обработке сигналов с использованием MATLAB 5. Прентис-Холл, 1998.

См. также

Функции

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