noisepsd

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

Описание

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

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

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

пример

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

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

Примеры

свернуть все

Вычислите 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 object. The axes object 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'единственный, или 'Fixed'. Вы не можете использовать 'Arithmetic' аргумент, если вы не знаете типа данных входа. Если вы не задаете 'Arithmetic' аргумент, то есть, вы используете синтаксис noisepsdOut = noisepsd(sysobj), затем noisepsd функция применяет эти правила:

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

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

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

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары 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

Тип спектра сгенерированных данных PSD в виде:

  • '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. Prentice Hall, 1998.

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

Функции

Введенный в R2011a