Степень спектральная плотность фильтра вывод, должный округлять шум
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 | Значение по умолчанию | Описание и действительные доступы |
---|---|---|
| 512 | Укажите, что количество БПФ указывает, чтобы использовать, чтобы вычислить PSD. |
|
| Определите, использовать ли нормированную частоту. Введите логическое значение |
|
| Задайте частоту дискретизации, чтобы использовать, когда вы установите |
|
| Задайте, как
|
|
| Переключите нулевую частотную составляющую в центр двухстороннего спектра.
|
Arithmetic | ARITH | Анализируйте Системный объект фильтра, на основе арифметики, заданной во входе ARITH . ARITH может быть установлен в double , single или fixed . Аналитический инструмент принимает фильтр с двойной точностью, когда арифметический вход не задан, и Системный объект фильтра находится в разблокированном состоянии. |
Если данные о спектре, которые вы задаете, вычисляются более чем половина интервала Найквиста, и вы не задаете соответствующий вектор частоты, вектор частоты по умолчанию принимает, что число точек в целом БПФ было ровно. Кроме того, опция графика, чтобы преобразовать в целый или двухсторонний спектр принимает, что исходная общая длина БПФ ровна.
noisepsd
требует знания типа входных данных. Анализ не может быть выполнен, если тип входных данных не доступен. Если вы не задаете параметр Arithmetic
, т.е. используете синтаксис [h,w] = noisepsd(sysobj)
, то следующие правила применяются к этому методу:
Состоянием Системного объекта является Unlocked
— noisepsd
выполняет анализ с двойной точностью.
Состоянием Системного объекта является Locked
— noisepsd
выполняет анализ на основе заблокированного типа входных данных.
Если вы действительно задаете параметр Arithmetic
, т.е. используете синтаксис [h,w] = noisepsd(sysobj,'Arithmetic', ARITH)
, рассматриваете следующие правила для этого метода. То, которое применяет правило, зависит от значения, которое вы устанавливаете для параметра Arithmetic
.
Value | Состояние системного объекта | Правило |
---|---|---|
ARITH = 'double' | Unlocked | noisepsd выполняет анализ с двойной точностью. |
Locked | noisepsd выполняет анализ с двойной точностью. | |
ARITH = 'single' | Unlocked | noisepsd выполняет анализ с одинарной точностью. |
Locked | noisepsd выполняет анализ с одинарной точностью. | |
ARITH = 'fixed' | Unlocked | noisepsd производит ошибку, потому что тип входных данных фиксированной точки неизвестен. |
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.
[1] Макклеллан, и др., Компьютерные Упражнения для Обработки сигналов Используя MATLAB 5. Верхний Сэддл-Ривер, Нью-Джерси: Prentice Hall, 1998.