Вычислите и/или примените окно к входному сигналу
Операции сигнала
dspsigops
Функциональный блок Окна вычисляет окно и/или применяет окно к входному сигналу. Входной сигнал может быть матрицей или массивом N-D.
Функциональный блок Окна имеет три режима работы, которые можно выбрать через параметр Operation. В каждом режиме блок сначала создает вектор окна w путем выборки окна, заданного в параметре Window type в дискретных точках M. Режимы работы:
Apply window to input
В этом режиме блок вычисляет M-by-1 вектор окна w и применяет его к входу. Вывод y всегда имеет ту же размерность как вход.
Когда входом является M-by-N матричный u, окно умножается поэлементное с каждым из каналов N во входной матрице u. Это эквивалентно следующему коду MATLAB®:
y = repmat(w,1,N) .* u % Equivalent MATLAB code
Окно всегда применяется к первой размерности:
Длина-M, неориентированная на векторный вход, обработана как M-by-1 матрица.
Generate window
В этом режиме блок генерирует неориентированный вектор окна w с длиной M, заданный параметром Window length. Порт In отключен для этого режима.
Generate and apply window
В этом режиме блок генерирует M-by-1 вектор окна w и применяет его к входу. Блок производит два выходных параметров:
В порте Out блок приводит к результату умножения y, который имеет ту же размерность как вход.
В порте Win блок производит M-by-1 вектор окна w.
Когда входом является M-by-N матричный u, окно умножается поэлементное с каждым из каналов N во входной матрице u. Это эквивалентно следующему коду MATLAB:
y = repmat(w,1,N) .* u % Equivalent MATLAB code
Окно всегда применяется к первой размерности:
Длина-M 1D векторный вход обработана как M-by-1 матрица.
В следующей таблице перечислены доступные типы окна. Для полной информации о функциях окна консультируйтесь с документацией Signal Processing Toolbox™.
Тип окна | Описание |
---|---|
Вычисляет окно Бартлетта. w = | |
Вычисляет окно Блэкмена. w = | |
Вычисляет прямоугольное окно. w = | |
Вычисляет Окно Чебышева с пульсацией полосы задерживания w = | |
Вычисляет Окно Хэмминга. w = | |
Вычисляет окно Hann (также известный как окно Хеннинга). w = | |
Хеннинг | Устаревший. Этот тип окна включен только для совместимости с более старыми моделями. Используйте
Window type |
Вычисляет окно Kaiser с параметром Кайзера w = | |
Вычисляет окно Тейлора. w = | |
Вычисляет треугольное окно. w = | |
Определяемый пользователем | Вычисляет пользовательскую функцию окна, заданную записью в параметре Window function name, w = usrwin(M) % Window takes no extra parameters w = usrwin(M,x1,...,xn) % Window takes extra parameters {x1 ... xn} |
Для окон сделанного вывод косинуса (Blackman
, Hamming
, Hann
и Hanning
), параметр Sampling определяет, вычисляются ли выборки окна в периодическом или симметричном способе. Например, когда Sampling установлен в Symmetric
, Окно Хэмминга длины, M вычисляется как
w = hamming(M) % Symmetric (aperiodic) window
Когда Sampling установлен в Periodic
, то же окно вычисляется как
w = hamming(M+1) % Periodic (asymmetric) window w = w(1:M)
Следующая схема показывает типы данных, используемые в Функциональном блоке Окна для сигналов фиксированной точки для каждого из этих трех рабочих режимов.
Можно установить окно, продукт вывод и типы выходных данных в диалоговом окне блока. Для получения дополнительной информации смотрите раздел Dialog Box.
Следующая модель использует Функциональный блок Окна, чтобы сгенерировать и применить Окно Хэмминга к 3-мерному входному массиву.
В этом примере, устанавливает режим Operation Функционального блока Окна к Generate and apply window
, таким образом, блок обеспечивает два выходных параметров: вектор окна Window в порте Win и результат умножения simout в порте Out.
Откройте модель путем ввода ex_windowfunction_ref
в командной строке MATLAB и запустите его.
Длина первой размерности входного массива равняется 10, таким образом, Функциональный блок Окна генерирует и выводит вектор Окна Хэмминга длины 10. Чтобы видеть вектор окна, сгенерированный Функциональным блоком Окна, введите Window
в командной строке MATLAB.
Чтобы видеть результат умножения, введите simout
в командной строке MATLAB.
Панель Main диалогового окна Функционального блока Окна появляется можно следующим образом.
Задайте операцию блока, как обсуждено в Режимах работы. Конфигурация порта блока обновляется, чтобы совпадать с установкой этого параметра.
Задайте тип окна, чтобы применяться, как перечислено в Типе Окна. Настраиваемый (Simulink) в симуляции только.
Задайте выборку окна для окон сделанного вывод косинуса. Этот параметр только видим, когда вы выбираете Blackman
, Hamming
, Hann
или Hanning
для параметра Window type. Настраиваемый (Simulink) в симуляции только.
Задайте демонстрационный режим для блока, Continuous
или Discrete
, когда это будет в режиме Generate Window
. В режимах Apply window to output
и Generate and apply window
блок наследовал шаг расчета от своего ведущего блока. Поэтому этот параметр только видим, когда вы выбираете Generate window
для параметра Operation.
Задайте шаг расчета для блока, когда это будет в режимах Generate window
и Discrete
. В режимах Apply window to output
и Generate and apply window
блок наследовал шаг расчета от своего ведущего блока. Этот параметр только видим, когда вы выбираете Discrete
для параметра Sample Mode.
Задайте длину окна, чтобы применяться. Этот параметр только видим, когда вы выбираете Generate window
для параметра Operation. В противном случае длина вектора окна вычисляется, чтобы совпадать с длиной первой размерности входа.
Задайте уровень затухания полосы задерживания, R s, в децибелах. Этот параметр только видим, когда вы выбираете Chebyshev
для параметра Window type. Настраиваемый (Simulink) в симуляции только.
Задайте окно Kaiser
параметр β. Увеличение β расширяет mainlobe и уменьшает амплитуду боковых лепестков окна в ответе значения частоты окна. Этот параметр только видим, когда вы выбираете Kaiser
для параметра Window type. Настраиваемый (Simulink) в симуляции только.
Задайте количество боковых лепестков как скалярное целочисленное значение, больше, чем нуль. Этот параметр только видим, когда вы выбираете Taylor
для параметра Window type.
Задайте, в децибелах, максимальном уровне бокового лепестка относительно mainlobe. Этот параметр должен быть скаляром, меньше чем или равным нулю. Значение по умолчанию –30 производит боковые лепестки с peaks 30 дБ вниз от пика mainlobe. Этот параметр только видим, когда вы выбираете Taylor
для параметра Window type.
Задайте имя пользовательской функции окна, которая будет вычислена блоком. Этот параметр только видим, когда вы выбираете User defined
для параметра Window type.
Выберите, чтобы включить параметр Cell array of additional arguments, когда пользовательское окно потребует параметров кроме длины окна. Этот параметр только видим, когда вы выбираете User defined
для параметра Window type.
Задайте дополнительные параметры, требуемые пользовательской функцией окна помимо длины окна. Этот параметр только доступен, когда вы выбираете параметр Specify additional arguments to the hamming function. Запись должна быть массивом ячеек.
Панель Data Types диалогового окна Функционального блока Окна обсуждена в следующих разделах:
Параметры для генерируют окно только режим
Параметры для применяют режимы окна
Панель Data Types диалогового окна Функционального блока Окна появляется можно следующим образом, когда параметр Operation устанавливается на Generate window
.
Задайте тип данных окна одним из следующих способов:
Выберите double
или single
из списка.
Выберите Fixed-point
, чтобы задать тип данных окна и масштабирующийся в Signed, Word length, Set fraction length in output to и параметрах Fraction length.
Выберите User-defined
, чтобы задать тип данных окна и масштабирующийся в User-defined data type, Set fraction length in output to и параметрах Fraction length.
Выберите Inherit via back propagation
, чтобы установить тип данных окна и масштабирующийся совпадать со следующим блоком.
Выберите, чтобы вывести сигнал фиксированной точки со знаком. В противном случае сигнал без знака.
Задайте размер слова, в битах, типа данных окна фиксированной точки. Этот параметр только видим, когда вы выбираете Fixed-point
для параметра Window.
Задайте любого встроенного или тип данных с фиксированной точкой. Можно задать типы данных с фиксированной точкой с помощью функций Fixed-Point Designer™ sfix
, ufix
, sint
, uint
, sfrac
и ufrac
. Этот параметр только видим, когда вы выбираете User-defined
для параметра Window.
Задайте масштабирование типа данных окна фиксированной точки любым из следующих двух методов:
Выберите Best precision
, чтобы иметь тип данных окна, масштабирующийся автоматически, установил таким образом, что выходной сигнал имеет самую лучшую точность.
Выберите User-defined
, чтобы задать тип данных окна, масштабирующийся в параметре Fraction length .
Этот параметр только видим, когда вы выбираете Fixed-point
или User-defined
для параметра Window, и когда заданный тип данных окна является типом данных с фиксированной точкой.
Задайте дробную длину, в битах, типа данных окна фиксированной точки. Этот параметр только видим, когда вы выбираете Fixed-point
или User-defined
для параметра Window и User-defined
для параметра Set fraction length in output to.
Панель Data Types диалогового окна Функционального блока Окна появляется можно следующим образом, когда параметр Operation устанавливается или на Apply window to input
или на Generate and apply window
.
Выберите округляющийся режим для операций фиксированной точки.
Вектор окна w не повинуется этому параметру; это всегда округляется к Nearest
.
Настройки Rounding mode и Overflow mode не имеют никакого эффекта на числовые результаты, когда оба из следующих условий существуют:
Product output является Inherit via internal rule
Output является Same as product output
С этими настройками типа данных блок эффективно действует в режиме максимальной точности.
Выберите режим переполнения для операций фиксированной точки.
Вектор окна w не повинуется этому параметру; это всегда насыщается.
Выберите, как вы задаете размер слова и дробную длину вектора окна w.
Когда вы выбираете Same word length as input
, размер слова элементов вектора окна совпадает с размером слова входа. Дробная длина автоматически установлена в лучшую возможную точность.
Когда вы выбираете Specify word length
, можно ввести размер слова элементов вектора окна в битах. Дробная длина автоматически установлена в лучшую возможную точность.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробную длину элементов вектора окна в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне элементов вектора окна. Этот блок требует наклона степени двойки и смещения нуля.
Вектор окна не повинуется параметры Overflow mode и Rounding mode; это всегда насыщается и округляется к Nearest
.
Используйте этот параметр, чтобы задать, как вы хотите назвать продукт выходным словом и дробными длинами.
Когда вы выбираете Inherit via internal rule
, продукт, выходной размер слова и дробная длина вычисляются автоматически. Для получения информации о том, как продукт вывел слово, и дробные длины вычисляются, когда внутреннее правило использовано, смотрите, Наследовались через Внутреннее Правило.
Когда вы выбираете Same as input
, эти характеристики совпадают с теми из входа к блоку.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробную длину продукта вывод в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне продукта вывод. Этот блок требует наклона степени двойки и смещения нуля.
Выберите, как вы задаете размер слова и дробная продолжительность вывода блока:
Когда вы выбираете Same as product output
, эти характеристики совпадают с теми из продукта вывод.
Когда вы выбираете Same as input
, эти характеристики совпадают с теми из входа к блоку.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробная продолжительность вывода в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне вывода. Этот блок требует наклона степени двойки и смещения нуля.
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока.
Порт | Поддерживаемые типы данных |
---|---|
Входной параметр |
|
Вывод |
|
Победа |
|