Ideal Rectangular Pulse Filter

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

Библиотека

Comm-фильтры

  • Ideal Rectangular Pulse Filter block

Описание

Идеальный Прямоугольный Импульсный Фильтр переключается и формирует входной сигнал с помощью прямоугольных импульсов. Блок повторяет каждую входную выборку N раз, где N является Pulse length параметром. После воспроизведения входных выборок блок может также нормализовать выходной сигнал и/или применить линейный коэффициент усиления амплитуды.

Если параметр Pulse delay ненулевой, то блок выводит это количество нулей в начале симуляции, прежде чем начинать тиражировать любое из входных значений.

Этот блок принимает скаляр, вектор-столбец или матричный входной сигнал. Для получения дополнительной информации о типах данных, которые поддерживает каждый порт блока см. таблицу Поддерживаемый тип данных на этой странице.

Размер вектора, длина импульса и задержка импульса взаимно независимы. Они не должны удовлетворять каким-либо условиям в отношении друг друга.

Односкоростная обработка

Когда вы устанавливаете параметр Rate options равным Enforce single-rate processingвход и выход блока имеют одинаковую частоту дискретизации. Чтобы сгенерировать вывод при сохранении входной скорости дискретизации, блок повторно собирает данные в каждом столбце входного сигнала таким образом, чтобы размер кадра выходного сигнала (Mo) был в L раз больше, чем размер входного сигнала (Mo = Mi * L), где L является Pulse length (number of samples) значением параметра.

Многократная обработка

Когда вы устанавливаете параметр Rate options равным Allow multirate processingВходы и выход блока совпадают по размеру. Однако скорость дискретизации выхода в L раза быстрее, чем скорость дискретизации входа (т.е. шаг расчета в 1/N раза превышает входный шаг расчета). Когда блок находится в многоразовом режиме обработки, вы также должны задать значение для параметра Input processing:

  • Когда вы устанавливаете параметр Input processing равным Elements as channels (sample based)блок обрабатывает входной параметр M -by N матрицы как M * N независимых каналов и обрабатывает каждый канал с течением времени. Период выходной выборки (Tso) в L раза короче, чем период входной выборки (Tso = Tsi/ L), в то время как входной и выходной размеры остаются идентичными.

  • Когда вы устанавливаете параметр Input processing равным Columns as channels (frame based)блок обрабатывает Mi -by N матричный вход как N независимых каналов. Блок обрабатывает каждый столбец входа с течением времени, сохраняя формат кадра постоянным (Mi = Mo), при этом делая выход период кадра (Tfo) L более коротким, чем период входного кадра (Tfo = Tfi / L).

Методы нормализации

Нормализационное поведение блока определяется с помощью параметров Normalize output signal и Linear amplitude gain.

  • Если вы Normalize output signal очистите, то блок умножает набор реплицированных значений на параметр Linear amplitude gain. Этот параметр должен быть скаляром.

  • Если вы выбираете Normalize output signal, то появляется параметр Normalization method. Блок масштабирует набор реплицированных значений так, чтобы одно из следующих условий было верным:

    • Сумма выборок в каждом импульсе равна исходному входному значению, которое реплицировал блок.

    • Энергия в каждом импульсе равна энергии исходного входного значения, которое реплицировал блок. То есть сумма квадратов выборок в каждом импульсе равна квадрату входа значения.

После того, как блок применяет масштабирование, заданное в параметре Normalization method, он умножает масштабированный сигнал на постоянное скалярное значение, заданное в параметре Linear amplitude gain.

Масштабирование выхода осуществляется N. Если выход этого блока подает вход на AWGN Channel блок, задайте параметр степени сигнала AWGN, который будет 1/N.

Параметры

Pulse length (number of samples)

Количество выборок в каждом выходном импульсе; то есть, количество раз, когда блок повторяет каждый вход значение при создании сигнала выхода.

Pulse delay (number of samples)

Количество нулей, которые появляются в выходе в начале симуляции, перед тем, как блок реплицирует какие-либо входные значения.

Input processing

Задайте, как блок обрабатывает входной сигнал. Можно задать для этого параметра одну из следующих опций:

  • Columns as channels (frame based) - Когда вы выбираете эту опцию, блок обрабатывает каждый столбец входа как отдельный канал.

  • Elements as channels (sample based) - Когда вы выбираете эту опцию, блок обрабатывает каждый элемент входа как отдельный канал.

Rate options

Задайте метод, которым блок должен усилить и сформировать входной сигнал. Можно выбрать один из следующих опций:

  • Enforce single-rate processing - Когда вы выбираете эту опцию, блок поддерживает входную частоту выборки и обрабатывает сигнал, увеличивая размер выходного кадра в L раз. Чтобы выбрать эту опцию, вы должны задать параметр Input processing равным Columns as channels (frame based).

  • Allow multirate processing - Когда вы выбираете эту опцию, блок обрабатывает сигнал таким образом, чтобы выходная частота выборки была в L раза быстрее, чем входная частота выборки.

Normalize output signal

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

Normalization method

Количество, которое учитывается блоком при масштабировании набора реплицированных значений. Варианты Sum of samples и Energy per pulse. Это поле появляется только при выборе Normalize method.

Linear amplitude gain

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

Rounding mode

Используйте этот параметр, чтобы задать метод округления, который будет использоваться, когда результат вычисления с фиксированной точкой не точно сопоставлен с числом, представленным типом данных и масштабированием, сохраняющим результат. Коэффициенты фильтра не подчиняются этому параметру; они всегда округляются до Nearest.

Для получения дополнительной информации смотрите Режимы округления или Режим округления: самый простой (Fixed-Point Designer).

Saturate on integer overflow

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

Coefficients

Выберите, как вы задаете размер слова и длину дроби коэффициентов фильтра (числитель и/или знаменатель). Смотрите Filter Structure Diagrams in DSP System Toolbox™ Reference Guide для рисунков, описывающих использование типов данных коэффициентов в этом блоке:

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

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

  • Когда вы выбираете Binary point scaling, вы можете ввести размер слова и длину дроби коэффициентов, в битах. Если применимо, можно ввести отдельные длины дробей для коэффициентов числителя и знаменателя.

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

  • Коэффициенты фильтра не подчиняются параметрам Rounding mode и Saturate on integer overflow; они всегда насыщены и округлены до Nearest.

Product output

Используйте этот параметр, чтобы указать, как вы хотите обозначить выходное слово продукта и длины дроби. Смотрите Диаграммы Структуры Фильтра и Типы Данных Умножения в DSP System Toolbox Ссылки Руководства для рисунков, описывающих использование продукта выхода типа данных в этом блоке:

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

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

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

Accumulator

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

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

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

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

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

Output

Выберите, как вы задаете выход размера слова и длину дроби:

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

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

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

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

Lock scaling against changes by the autoscaling tool

Установите этот флажок, чтобы предотвратить переопределение любого масштаба фиксированной точки, заданного в маске блока, инструментом автомасштабирования в Fixed-Point Tool.

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

ПортПоддерживаемые типы данных
В
  • Плавающая точка двойной точности

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

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

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

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

  • Подписанная фиксированная точка

Примеры

Если Pulse length 4 и Pulse delay является скалярным 3, затем в таблице ниже показано, как блок обрабатывает начало пандуса (1, 2, 3,...) в нескольких ситуациях. (Значения, показанные в таблице, не отражают размеры вектора, а просто указывают на числовые значения.)

Метод нормализации, если таковой имеетсяЛинейное усиление амплитудыПервые несколько выходных значений
Нет (Normalize output signal сброшено) 1 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,...
Нет (Normalize output signal сброшено) 10 0, 0, 0, 10, 10, 10, 10, 20, 20, 20, 20, 30, 30, 30, 30,...
Sum of samples 1 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.5, 0.5, 0.5, 0.5, 0.75, 0.75, 0.75, 0.75,..., где 0.25*4=1
Sum of samples 10 0, 0, 0, 2.5, 2.5, 2.5, 2.5, 5, 5, 5, 5, 7.5, 7.5, 7.5, 7.5, ...
Energy per pulse 1 0, 0, 0, 0.5, 0.5, 0.5, 0.5, 1.0, 1.0, 1.0, 1.0, 1.5, 1.5, 1.5, 1.5,..., где (0.5)^2*4=1^2
Energy per pulse 10 0, 0, 0, 5, 5, 5, 5, 10, 10, 10, 10, 15, 15, 15, 15,...

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.

См. также

Блоки

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