Window Function

Вычислите и примените окно к входному сигналу

  • Библиотека:
  • Системный тулбокс DSP/сигнальные операции

  • Window Function block

Описание

У Функционального блока Окна есть три режима работы, которые позволяют Вам применить окно, или вычислить окно, или вычислить и применить окно к входному сигналу. Вы можете выбрать режим через параметр Operation. В каждом режиме блок сначала создает вектор окна w путем выборки окна, заданного в параметре Window type.

Порты

Вход

расширить все

Входной сигнал, заданный как вектор, матрица или N-D массив. Когда вход является фиксированной точкой, он может быть подписан только.

Этот порт включен только, когда вы задаете Operation Apply window to input или Generate and apply window.

Этот порт не называется, когда вы задаете Operation Apply window to input.

Типы данных: single | double | int8 | int16 | int32 | fixed point

Выход

расширить все

Выходной сигнал, возвращенный в виде вектора, матрицы или N-D массива.

Порт Out активируется только, когда Operation установлено на:

  • Apply window to input - Блок вычисляет вектор <reservedrangesplaceholder4>-by-1 окна w и применяет его к M N вход, где M - количество строк во входном сигнале.

  • Generate and apply window -- Блок генерирует вектор окна M -by-1 w и применяет его к входу.

Сигнал выхода имеет те же размерности, что и входной сигнал. Для получения дополнительной информации см. Операцию.

Типы данных: single | double | int8 | int16 | int32 | fixed point

Выход окна, возвращенный как вектор. Когда Operation установлено на Apply window to input или Generate and apply windowвектор окна имеет ту же длину, что и количество строк в входном сигнале. Когда Operation установлено на Generate windowдлина вектора окна определяется параметром Window length.

Типы данных: single | double | int8 | int16 | int32 | fixed point

Параметры

расширить все

Главный

Блок Window Function имеет три режима работы, которые можно выбрать через параметр 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
    

    Окно всегда применяется к первой размерности:

    y(i,j,...,k)=w(i)*u(i,j,...,k)       i=1,...,M,  j=1,...,N,  ...,  k=1,...,P

    Длинно- M неориентированный векторный вход обрабатывается как вектор M-на-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
    

    Окно всегда применяется к первой размерности:

    y(i,j,...,k)=w(i)*u(i,j,...,k)       i=1,...,M,  j=1,...,N,  ...,  k=1,...,P

    Векторный вход M 1-D длины обрабатывается как вектор M -by-1.

В этой таблице перечислены доступные типы окон.

Тип окнаОписание

Бартлетт

Вычисляет окно Бартлетта.

w = bartlett(M)

Блэкмен

Вычисляет окно Блэкмана.

w = blackman(M)

Товарный вагон

Вычисляет прямоугольное окно.

w = rectwin(M)

Чебышев

Вычисляет окно Чебышева с пульсацией стоповой полосы R.

w = chebwin(M,R)

Хэмминг

Вычисляет окно Хэмминга.

w = hamming(M)

Hann

Вычисляет окно Ханна (также известное как окно Ханнинга).

w = hann(M)

Хеннинг

Устарел. Этот тип окна включен только для совместимости со старыми моделями. Используйте Hann Window type вместо Hanning по возможности.

Кайзер

Вычисляет окно Кайзера с параметром Кайзера beta.

w = kaiser(M,beta)

Тейлор

Вычисляет окно Тейлора.

w = taylorwin(M)

Трян

Вычисляет треугольное окно.

w = triang(M)

Определяемый пользователем

Вычисляет пользовательскую функцию окна, заданную записью в параметре Window function name, usrwin.

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)

Настраиваемый (Simulink) только в симуляции.

Зависимости

Этот параметр видим только, когда вы выбираете Blackman, Hamming, Hann, или Hanning для параметра Window type.

Задайте режим расчета для блока, Continuous или Discrete, когда это в Generate window режим. В Apply window to input и Generate and apply window режимы, блок наследует режим расчета от своего ведущего блока.

Зависимости

Этот параметр видим только, когда вы выбираете Generate window для параметра Operation.

Задайте шаг расчета для блока, когда Operation задано значение Generate window и Sample mode установлено на Discrete. Когда Operation установлено на Apply window to input и Generate and apply window, блок наследует шаг расчета от своего ведущего блока.

Зависимости

Этот параметр видим только, когда вы задаете Sample mode Discrete.

Задайте длину применяемого окна.

Зависимости

Этот параметр видим только, когда вы выбираете Generate window для параметра Operation. В противном случае длина вектора окна вычисляется так, чтобы соответствовать длине первого измерения входной размерности.

Задайте уровень затухания в полосе задерживания R s в децибелах.

Настраиваемый (Simulink) только в симуляции.

Зависимости

Этот параметр видим только, когда вы выбираете Chebyshev для параметра Window type.

Задайте Kaiser параметр β окна. Увеличение β расширяет майнлобу и уменьшает амплитуду боковых элементов окна в характеристике амплитуды величины окна.

Настраиваемый (Simulink) только в симуляции.

Зависимости

Этот параметр видим только, когда вы выбираете Kaiser для параметра Window type.

Задайте количество боковых элементов как скаляр целое число значения больше нуля.

Зависимости

Этот параметр видим только, когда вы выбираете Taylor для параметра Window type.

Задайте в децибелах максимальный уровень бокового колеса относительно мейнлоба. Этот параметр должен быть скаляром, меньшим или равным нулю. Значение по умолчанию -30 производит боковые колеса с peaks 30 дБ вниз от пика мэнлоби.

Зависимости

Этот параметр видим только, когда вы выбираете Taylor для параметра Window type.

Укажите имя пользовательской функции окна, которая будет вычисляться блоком. Вектор выходного окна, возвращенный пользовательской функцией окна, должен быть типа данных double.

Зависимости

Этот параметр видим только, когда вы выбираете User defined для параметра Window type.

Выберите, чтобы включить параметр Cell array of additional arguments, когда определяемое пользователем окно требует параметров, отличных от длины окна.

Зависимости

Этот параметр видим только, когда вы выбираете User defined для параметра Window type.

Задайте дополнительные параметры, требуемые пользовательской функцией окна, кроме длины окна.

Зависимости

Этот параметр доступен только, когда вы выбираете параметр Specify additional arguments to the hamming function. Запись должна быть массивом ячеек.

Типы данных

Когда для параметра Operation на вкладке Main задано значение 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 - Чтобы задать тип данных окна и масштабирование, чтобы соответствовать следующему блоку.

Выберите для вывода сигнала с фиксированной точкой со знаком. В противном случае сигнал не подписан.

Зависимости

Этот параметр появляется только, когда вы задаете Window data type Fixed-point.

Указание размера слова для типа данных окна с фиксированной точкой в битах.

Зависимости

Этот параметр видим только, когда вы задаете Window data type Fixed-point.

Задает любой встроенный или тип данных с фиксированной точкой. Можно задать типы данных с фиксированной точкой с помощью функций Fixed-Point Designer™ sfix (Simulink), ufix (Simulink), sint (Simulink), uint (Simulink), sfrac (Simulink), и ufrac (Simulink).

Зависимости

Этот параметр видим только, когда вы задаете Window data type User-defined.

Задайте масштабирование типа данных окна с фиксированной точкой с помощью одного из следующих методов:

  • Выберите Best precision чтобы иметь окно данных тип масштабирования автоматически установлен таким образом, чтобы выход сигнал имел лучшую возможную точность.

  • Выберите User-defined для задания типа данных окна в параметре Fraction length.

Зависимости

Этот параметр видим только, когда вы задаете Window data type Fixed-point или User-definedи когда заданный тип данных окна является типом данных с фиксированной точкой.

Задайте длину дроби типа данных окна с фиксированной точкой в битах.

Зависимости

Этот параметр видим только, когда вы задаете Window data type Fixed-point или User-defined, и когда вы устанавливаете Set fraction length in output to равным User-defined.

Когда для параметра Operation на вкладке Main задано значение 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 - Можно ввести размер слова, в битах и наклон элементов вектора окна. Этот блок требует степени двойки и смещения нуля.

Вектор окна не подчиняется параметрам Rounding mode и Overflow 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 -- Можно ввести размер слова в битах и наклон выхода. Этот блок требует степени двойки и смещения нуля.

Выберите этот параметр, чтобы предотвратить переопределение инструментами с фиксированной точкой типов данных, заданных в диалоговом окне блока.

Характеристики блоков

Типы данных

double | fixed point | integer | single

Прямое сквозное соединение

no

Многомерные сигналы

no

Сигналы переменного размера

yes

Обнаружение пересечения нулем

no

Расширенные возможности

.

См. также

Функции

Блоки

Представлено до R2006a