enbw
Эквивалентная шумовая полоса.
| Библиотека |
|
Аргументы
Входные аргументы
#
window —
вектор окна
вещественный вектор-строка | вещественный вектор-столбец
Details
Равномерно дискретизированный вектор окна, заданный как вектор-строка или вектор-столбец с вещественными элементами.
| Типы данных |
|
#
fs —
частота дискретизации
положительный скаляр
Details
Частота дискретизации, заданная как положительный скаляр.
Выходные аргументы
#
bw —
эквивалентная шумовая полоса
положительный скаляр
Details
Эквивалентная шумовая полоса, возвращаемая в виде положительного скаляра.
| Типы данных |
|
Примеры
Эквивалентная шумовая полоса окна Хэмминга
Details
Определим эквивалентную шумовую полосу окна Хэмминга длиной 1000 отсчетов.
import EngeeDSP.Functions: enbw, hamming
bw = enbw(hamming(1000))
1.3638074449828943
Эквивалентная шумовая полоса окна с плоской вершиной
Details
Определим эквивалентную шумовую полосу (в Гц) окна с плоской вершиной длиной 10000 отсчетов. Частота дискретизации составляет 44.1 кГц.
import EngeeDSP.Functions: enbw, flattopwin
bw = enbw(flattopwin(10000), 44.1e3)
16.62845617599036
Эквивалентная ширина полосы прямоугольного шума
Details
Определим эквивалентную ширину полосы пропускания прямоугольного шума окна Ханна с 128 отсчетами.
Сгенерируем окно и вычислим его дискретное преобразование Фурье по 2048 частотам. Сдвинем преобразование так, чтобы оно центрировалось на нулевой частоте, и вычислим квадрат его модуля.
import EngeeDSP.Functions: hann, fftshift, fft
lw = 128
win = hann(lw)
lt = 2048
windft = fftshift(fft(win, lt))
ad = abs.(windft).^2
mg = maximum(ad)
Укажем частоту дискретизации 1 кГц. Используем функцию enbw для вычисления эквивалентной шумовой полосы окна и убедимся, что значение
соответствует определению.
import EngeeDSP.Functions: enbw
fs = 1000
bw = enbw(win, fs)
11.811023622047246
bdef = sum(win.^2) / sum(win)^2 * fs
11.811023622047246
Построим график квадрата модуля окна. Наложим прямоугольник высотой, равной пику квадрата амплитуды, и шириной, равной эквивалентной шумовой полосе.
freq = range(-fs/2, fs/2 - fs/lt, length=lt)
plot(freq, ad, xlims=(-bw, bw), grid=false)
plot!(bw/2 * [-1, -1, 1, 1], mg * [0, 1, 1, 0], linestyle=:dash)
Убедимся, что площадь прямоугольника имеет ту же полную мощность, что и окно.
using Pkg
Pkg.add("NumericalIntegration")
using NumericalIntegration
Adiff = integrate(freq, ad) - bw * mg
-1.4551915228366852e-11
Повторим вычисление, используя нормализованные частоты. Найдем эквивалентную шумовую полосу окна. Убедимся, что enbw дает то же значение, что и определение.
bw = enbw(win)
1.5118110236220474
bdef = sum(win.^2) / sum(win)^2 * lw
1.5118110236220474
Построим график квадрата модуля окна. Наложим прямоугольник высотой, равной пику квадрата амплитуды, и шириной, равной эквивалентной шумовой полосе.
freqn = range(-1/2, 1/2 - 1/lt, length=lt)
plot(freqn, ad, xlims=(-bw/lw, bw/lw), grid=false)
plot!((bw/2 * [-1, -1, 1, 1]) / lw, mg * [0, 1, 1, 0], linestyle=:dash)
Убедимся, что площадь прямоугольника имеет ту же полную мощность, что и окно.
Adiff = integrate(freqn, ad) - bw * mg / lw
-1.4210854715202004e-14
Дополнительно
Эквивалентная шумовая полоса
Details
Полная мощность, содержащаяся в окне, — это площадь под кривой, образованной квадратом модуля преобразования Фурье окна. Эквивалентная шумовая полоса окна — это ширина прямоугольника, высота которого равна пику квадрата модуля преобразования Фурье, а площадь — полной мощности.
Теорема Парсеваля утверждает, что полная энергия окна из отсчетов равна сумме квадратов модулей отсчетов окна во временной области или интегралу по частоте квадрата модуля преобразования Фурье окна:
Спектр мощности окна имеет пиковую амплитуду при :
Чтобы найти ширину эквивалентного прямоугольника и, следовательно, эквивалентную шумовую полосу, разделите площадь на высоту:
Если задана частота дискретизации enbw возвращает предыдущее выражение, умноженное на
Для нормализованных частот функция делится на ширину бина,
См. пример Эквивалентная ширина полосы прямоугольного шума, который для заданного окна
-
сравнивает результат
enbwс определением для заданной частоты дискретизации и нормализованных частот; -
строит график эквивалентной прямоугольной полосы пропускания по спектру амплитуд окна;
-
проверяет, что общая мощность, содержащаяся в окне, совпадает с мощностью, содержащейся в прямоугольнике, высота которого равна квадрату пиковой амплитуды преобразования Фурье окна, а ширина равна эквивалентной шумовой полосе.