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единственный, или 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