noisepsd

Степень спектральная плотность фильтра вывод, должный округлять шум

Синтаксис

hpsd = noisepsd(sysobj,L)
hpsd = noisepsd(sysobj,L,param1,value1,param2,value2,...)
hpsd = noisepsd(sysobj,L,opts)
noisepsd(sysobj,...)

Описание

hpsd = noisepsd(sysobj,L) вычисляет степень спектральную плотность (PSD) при выводе Системы фильтра object™, sysobj, происходящий из-за шума округления. Этот шум производится ошибками квантования в фильтре. L является количеством испытаний, используемых, чтобы вычислить среднее значение. PSD вычисляется из среднего значения по испытаниям L. Чем больше испытаний вы задаете, тем лучше оценка, но за счет более длительного времени вычисления. Когда вы явным образом не задаете L, значением по умолчанию являются 10 испытаний.

hpsd является объектом данных psd. Чтобы извлечь вектор PSD (данные из PSD) от hpsd, войти

get(hpsd,'data')

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

avgpwr = avgpower(hpsd).

hpsd = noisepsd(sysobj,L,param1,value1,param2,value2,...) то, где sysobj является Системный объект фильтра, задает дополнительные параметры через propertyname/propertyvalue пары. Допустимые значения свойства объекта psd:

PropertyName

Значение по умолчанию

Описание и действительные доступы

Nfft

512

Укажите, что количество БПФ указывает, чтобы использовать, чтобы вычислить PSD.

NormalizedFrequency

true

Определите, использовать ли нормированную частоту. Введите логическое значение true или false. Поскольку это свойство является логическим значением, не заключайте одинарные кавычки.

Fs

normalized

Задайте частоту дискретизации, чтобы использовать, когда вы установите NormalizedFrequency на false. Используйте любое целочисленное значение, больше, чем 1. Введите значение в Гц.

SpectrumType

onesided

Задайте, как noisepsd должен сгенерировать PSD. Опциями является onesided или twosided. Если вы выбираете двухстороннее вычисление, можно также выбрать CenterDC = true. В противном случае CenterDC должен быть false.

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

  • twosided преобразовывает тип в спектр, который вычисляется на целом интервале Найквиста. Все свойства, затронутые новым частотным диапазоном, настроены автоматически.

CenterDC

false

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

  • Когда вы устанавливаете SpectrumType на onesided, он изменяется на twosided, и данные преобразованы в двухсторонний спектр.

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

ArithmeticARITHАнализируйте Системный объект фильтра, на основе арифметики, заданной во входе ARITH. ARITH может быть установлен в double, single или fixed. Аналитический инструмент принимает фильтр с двойной точностью, когда арифметический вход не задан, и Системный объект фильтра находится в разблокированном состоянии.

Примечание

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

noisepsd требует знания типа входных данных. Анализ не может быть выполнен, если тип входных данных не доступен. Если вы не задаете параметр Arithmetic, т.е. используете синтаксис [h,w] = noisepsd(sysobj), то следующие правила применяются к этому методу:

  • Состоянием Системного объекта является Unlockednoisepsd выполняет анализ с двойной точностью.

  • Состоянием Системного объекта является Lockednoisepsd выполняет анализ на основе заблокированного типа входных данных.

Если вы действительно задаете параметр Arithmetic, т.е. используете синтаксис [h,w] = noisepsd(sysobj,'Arithmetic', ARITH), рассматриваете следующие правила для этого метода. То, которое применяет правило, зависит от значения, которое вы устанавливаете для параметра Arithmetic.

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

Следующие Системные объекты Фильтра поддерживаются этой аналитической функцией:

hpsd = noisepsd(sysobj,L,opts) использует объект опций, opts, чтобы задать дополнительные входные параметры. Эта спецификация не сделана с помощью пар значения свойства в команде. Используйте opts = noisepsdopts(sysobj), чтобы создать объект. opts затем имеет настройки noisepsd от sysobj. После создания opts вы изменяете значения свойств прежде, чем вызвать noisepsd:

set(opts,'fs',48e3); % Set Fs to 48 kHz.

noisepsd(sysobj,...) без выходного аргумента запускает fvtool.

Примеры

свернуть все

Вычислите 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 = noisepsd(firfilt,'Arithmetic','fixed');
plot(hpsd)

hpsd выглядит подобным следующей фигуре - данные, следующие из шумового вычисления PSD. Можно рассмотреть данные в hpsd.data.

Ссылки

[1] Макклеллан, и др., Компьютерные Упражнения для Обработки сигналов Используя MATLAB 5. Верхний Сэддл-Ривер, Нью-Джерси: Prentice Hall, 1998.

Смотрите также

Функции

Введенный в R2011a