Функция окна

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

Библиотека

Операции сигнала

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
    

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

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

    Длина-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
    

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

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

    Длина-M 1D векторный вход обработана как M-by-1 матрица.

Тип окна

В следующей таблице перечислены доступные типы окна. Для полной информации о функциях окна консультируйтесь с документацией Signal Processing Toolbox™.

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

Бартлетт

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

w = bartlett(M)

Блэкмен

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

w = blackman(M)

Серия длинных импульсов

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

w = rectwin(M)

Чебышев

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

w = chebwin(M,R)

Хэмминг

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

w = hamming(M)

Hann

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

w = hann(M)

Хеннинг

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

Кайзер

Вычисляет окно Kaiser с параметром Кайзера 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)

Типы данных с фиксированной точкой

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

Можно установить окно, продукт вывод и типы выходных данных в диалоговом окне блока. Для получения дополнительной информации смотрите раздел Dialog Box.

Примеры

Следующая модель использует Функциональный блок Окна, чтобы сгенерировать и применить Окно Хэмминга к 3-мерному входному массиву.

В этом примере, устанавливает режим Operation Функционального блока Окна к Generate and apply window, таким образом, блок обеспечивает два выходных параметров: вектор окна Window в порте Win и результат умножения simout в порте Out.

Откройте модель путем ввода ex_windowfunction_ref в командной строке MATLAB и запустите его.

  • Длина первой размерности входного массива равняется 10, таким образом, Функциональный блок Окна генерирует и выводит вектор Окна Хэмминга длины 10. Чтобы видеть вектор окна, сгенерированный Функциональным блоком Окна, введите Window в командной строке MATLAB.

  • Чтобы видеть результат умножения, введите simout в командной строке MATLAB.

Диалоговое окно

Панель Main диалогового окна Функционального блока Окна появляется можно следующим образом.

Operation

Задайте операцию блока, как обсуждено в Режимах работы. Конфигурация порта блока обновляется, чтобы совпадать с установкой этого параметра.

Window type

Задайте тип окна, чтобы применяться, как перечислено в Типе Окна. Настраиваемый (Simulink) в симуляции только.

Sampling

Задайте выборку окна для окон сделанного вывод косинуса. Этот параметр только видим, когда вы выбираете Blackman, Hamming, Hann или Hanning для параметра Window type. Настраиваемый (Simulink) в симуляции только.

Sample Mode

Задайте демонстрационный режим для блока, Continuous или Discrete, когда это будет в режиме Generate Window. В режимах Apply window to output и Generate and apply window блок наследовал шаг расчета от своего ведущего блока. Поэтому этот параметр только видим, когда вы выбираете Generate window для параметра Operation.

Sample time

Задайте шаг расчета для блока, когда это будет в режимах Generate window и Discrete. В режимах Apply window to output и Generate and apply window блок наследовал шаг расчета от своего ведущего блока. Этот параметр только видим, когда вы выбираете Discrete для параметра Sample Mode.

Window length

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

Stopband attenuation in dB

Задайте уровень затухания полосы задерживания, R s, в децибелах. Этот параметр только видим, когда вы выбираете Chebyshev для параметра Window type. Настраиваемый (Simulink) в симуляции только.

Beta

Задайте окно Kaiser параметр β. Увеличение β расширяет mainlobe и уменьшает амплитуду боковых лепестков окна в ответе значения частоты окна. Этот параметр только видим, когда вы выбираете Kaiser для параметра Window type. Настраиваемый (Simulink) в симуляции только.

Number of sidelobes

Задайте количество боковых лепестков как скалярное целочисленное значение, больше, чем нуль. Этот параметр только видим, когда вы выбираете Taylor для параметра Window type.

Maximum sidelobe level relative to mainlobe (dB)

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

Window function name

Задайте имя пользовательской функции окна, которая будет вычислена блоком. Этот параметр только видим, когда вы выбираете User defined для параметра Window type.

Specify additional arguments to the hamming function

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

Cell array of additional arguments

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

Панель Data Types диалогового окна Функционального блока Окна обсуждена в следующих разделах:

Параметры для генерируют окно только режим

Параметры для применяют режимы окна

Параметры для генерируют окно только режим

Панель Data Types диалогового окна Функционального блока Окна появляется можно следующим образом, когда параметр Operation устанавливается на Generate window.

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

Signed

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

Word length

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

User-defined data type

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

Set fraction length in output to

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

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

  • Выберите User-defined, чтобы задать тип данных окна, масштабирующийся в параметре Fraction length .

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

Fraction length

Задайте дробную длину, в битах, типа данных окна фиксированной точки. Этот параметр только видим, когда вы выбираете Fixed-point или User-defined для параметра Window и User-defined для параметра Set fraction length in output to.

Параметры для применяют режимы окна

Панель Data Types диалогового окна Функционального блока Окна появляется можно следующим образом, когда параметр Operation устанавливается или на Apply window to input или на Generate and apply window.

Rounding mode

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

Вектор окна w не повинуется этому параметру; это всегда округляется к Nearest.

Примечание

Настройки Rounding mode и Overflow mode не имеют никакого эффекта на числовые результаты, когда оба из следующих условий существуют:

  • Product output является Inherit via internal rule

  • Output является Same as product output

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

Overflow mode

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

Вектор окна w не повинуется этому параметру; это всегда насыщается.

Window

Выберите, как вы задаете размер слова и дробную длину вектора окна w.

Когда вы выбираете Same word length as input, размер слова элементов вектора окна совпадает с размером слова входа. Дробная длина автоматически установлена в лучшую возможную точность.

Когда вы выбираете Specify word length, можно ввести размер слова элементов вектора окна в битах. Дробная длина автоматически установлена в лучшую возможную точность.

Когда вы выбираете Binary point scaling, можно ввести размер слова и дробную длину элементов вектора окна в битах.

Когда вы выбираете Slope and bias scaling, можно ввести размер слова в битах и наклоне элементов вектора окна. Этот блок требует наклона степени двойки и смещения нуля.

Вектор окна не повинуется параметры Overflow mode и Rounding mode; это всегда насыщается и округляется к Nearest.

Product output

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

  • Когда вы выбираете Inherit via internal rule, продукт, выходной размер слова и дробная длина вычисляются автоматически. Для получения информации о том, как продукт вывел слово, и дробные длины вычисляются, когда внутреннее правило использовано, смотрите, Наследовались через Внутреннее Правило.

  • Когда вы выбираете Same as input, эти характеристики совпадают с теми из входа к блоку.

  • Когда вы выбираете Binary point scaling, можно ввести размер слова и дробную длину продукта вывод в битах.

  • Когда вы выбираете Slope and bias scaling, можно ввести размер слова в битах и наклоне продукта вывод. Этот блок требует наклона степени двойки и смещения нуля.

Output

Выберите, как вы задаете размер слова и дробная продолжительность вывода блока:

  • Когда вы выбираете Same as product output, эти характеристики совпадают с теми из продукта вывод.

  • Когда вы выбираете Same as input, эти характеристики совпадают с теми из входа к блоку.

  • Когда вы выбираете Binary point scaling, можно ввести размер слова и дробная продолжительность вывода в битах.

  • Когда вы выбираете Slope and bias scaling, можно ввести размер слова в битах и наклоне вывода. Этот блок требует наклона степени двойки и смещения нуля.

Lock data type settings against changes by the fixed-point tools

Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока.

Поддерживаемые типы данных

ПортПоддерживаемые типы данных

Входной параметр

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Фиксированная точка (подписался только),

  • 8-, 16-, и 32-битные целые числа со знаком

Вывод

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Фиксированная точка (подписался только),

  • 8-, 16-, и 32-битные целые числа со знаком

Победа

  • Плавающая точка двойной точности

  • Плавающая точка с одинарной точностью

  • Фиксированная точка

  • 8-, 16-, и 32-битные целые числа

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

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

Функции

Блоки

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