Сверхдискретизируйте, отфильтруйте и проредите входные сигналы
DSP System Toolbox / Фильтрующий / Многоскоростные фильтры
Блок FIR Rate Conversion передискретизирует вход дискретного времени, таким образом, что его периодом расчета является K/L времена входной период расчета (СИ T). K является целочисленным значением, которое вы задаете для параметра Decimation factor, и L является целочисленным значением, которое вы задаете для параметра Interpolation factor.
Блок обрабатывает каждый столбец входа как отдельный канал и передискретизирует данные в каждом канале независимо в зависимости от времени. Для этого блок реализует многофазную структуру фильтра и выполняет следующие операции:
Сверхдискретизировал вход к более высокому уровню путем вставки L −1
нули между входными выборками.
Передает сверхдискретизированные данные через прямую форму II, транспонируют КИХ-фильтр.
Downsample отфильтрованные данные к более низкому уровню путем отбрасывания K-1
последовательные выборки после каждой выборки, которую сохраняет блок.
Многофазная реализация фильтра более эффективна, чем прямой алгоритм "сверхдискретизировал фильтр, десятикратно уменьшают". Смотрите Orfanidis [1] для получения дополнительной информации.
Port_1(In1)
— Входной сигналВходной сигнал в виде вектора или матрицы.
Когда вход блока является фиксированной точкой, все внутренние типы данных являются подписанной фиксированной точкой.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Поддержка комплексного числа: Да
Port_1(Out1)
— Уровень преобразованный сигналУровень преобразованный сигнал, возвращенный как вектор или матрица.
Когда параметр Rate options устанавливается на:
Enforce single-rate processing
– Выходной формат кадра Mo является L/K времена размер входного кадра Mi, где L является коэффициентом интерполяции и K, является фактором децимации.
Mo = (L/K) ×Mi
Уровень выходного сигнала в Simulink® равняется уровню входного сигнала.
Fo = Fi
Allow multirate processing
– Выходной формат кадра равняется размеру входного кадра.
Mo = Mi
Уровнем выходного сигнала в Simulink является L/K времена уровень входного сигнала.
Fo = (L/K) ×Fi
Все блоки, соединенные с выходом, действуют в Fo, и все блоки, соединенные с входом, действуют в Fi.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Поддержка комплексного числа: Да
Coefficient source
— Режим работыБлок FIR Rate Conversion может действовать в трех различных режимах. Выберите режим в групповом блоке Coefficient source.
Dialog parameters — Введите информацию о фильтре, таком как КИХ-коэффициенты фильтра в диалоговом окне блока.
Filter object — Задайте фильтр с помощью dsp.FIRRateConverter
Система object™.
Auto (значение по умолчанию) — Блок определяет коэффициенты фильтра.
Настройки в диалоговом окне блока FIR Rate Conversion изменяются на основе выбранного режима.
Interpolation factor
— Коэффициент интерполяции
(значение по умолчанию) | положительное целое числоЗадайте коэффициент интерполяции, L, как положительное целое число. Блок сверхдискретизировал сигнал этим значением прежде, чем отфильтровать его.
Чтобы включить этот параметр, установите Coefficient source или на Dialog parameters или на Auto.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
FIR filter coefficients
— КИХ-коэффициенты фильтраdesignMultirateFIR(3,2)
(значение по умолчанию) | векторЗадайте КИХ-коэффициенты фильтра в убывающих степенях z. По умолчанию блок использует designMultirateFIR(3,2)
функция, чтобы вычислить коэффициенты фильтра.
Чтобы включить этот параметр, установите Coefficient source на Dialog parameters.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Поддержка комплексного числа: Да
Decimation factor
— Фактор децимации
(значение по умолчанию) | положительное целое числоЗадайте фактор децимации, K, как положительное целое число. Блок прореживает сигнал этим значением после фильтрации его.
Чтобы включить этот параметр, установите Coefficient source или на Dialog parameters или на Auto.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Rate options
— Осуществите односкоростной или позвольте многоскоростную обработкуEnforce single-rate processing
(значение по умолчанию) | Allow multirate processing
Задайте, осуществить ли односкоростную обработку или позволить многоскоростную обработку.
Enforce single-rate processing
– Выходной формат кадра Mo является L/K времена размер входного кадра Mi, где L является коэффициентом интерполяции и K, является фактором децимации.
Mo = (L/K) ×Mi
Уровень выходного сигнала в Simulink равняется уровню входного сигнала.
Fo = Fi
Allow multirate processing
– Выходной формат кадра равняется размеру входного кадра.
Mo = Mi
Уровнем выходного сигнала в Simulink является L/K времена уровень входного сигнала.
Fo = (L/K) ×Fi
Все блоки, соединенные с выходом, действуют в Fo, и все блоки, соединенные с входом, действуют в Fi.
Filter object
— Объект фильтраFRC
(значение по умолчанию) | dsp.FIRRateConverter
Системный объектУкажите, что многоскоростной фильтр возражает, что вы хотите, чтобы блок реализовал. Заданным объектом фильтра должен быть dsp.FIRRateConverter
Системный объект.
Можно задать Системный объект в маске блока или в переменной рабочей области MATLAB®.
Для получения информации о создании Системных объектов смотрите, Задают Объекты Базовой системы.
Этот параметр появляется, когда Coefficient source установлен в Filter object.
View Filter Response
— Визуализируйте ответ фильтраВыберите этот параметр, чтобы открыть Инструмент Визуализации Фильтра, fvtool
, и отобразите ответ величины КИХ-фильтра. Ответ основан на параметрах, выбранных в диалоговом окне блока. Изменения внесены в эти параметры обновление fvtool
.
Обновить ответ величины в то время как fvtool
запускается, измените параметры блоков и нажмите Apply.
Чтобы просмотреть ответ величины и фазовый отклик одновременно, нажмите кнопку Magnitude and Phase responses на панели инструментов.
Когда Coefficient source установлен в Filter object, настройки фиксированной точки объекта фильтра, заданного на Main tab, отображены на Data Types tab. Вы не можете изменить эти настройки непосредственно на диалоговом окне блока. Чтобы изменить настройки фиксированной точки, необходимо отредактировать объект фильтра.
Для получения дополнительной информации о Системных объектах смотрите, Что такое Системные объекты?.
Когда Coefficient source установлен в Auto, блок выбирает коэффициенты фильтра автоматически. Для получения дополнительной информации об алгоритме создания фильтра, который использует блок, смотрите, Задают КИХ-Коэффициенты Фильтра.
Rounding mode
— Округление методаFloor
(значение по умолчанию) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
Задайте округляющийся режим для операций фиксированной точки как:
Floor
Ceiling
Convergent
Nearest
Round
Simplest
Zero
Для получения дополнительной информации смотрите Округление Режимов.
Коэффициенты фильтра не выполняют этот параметр и всегда вокруг к Nearest
.
Примечание
Rounding mode и параметры Saturate on integer overflow не оказывают влияния на числовые результаты, когда все эти условия соблюдают:
Типом данных Product output является Inherit: Inherit via internal rule
.
Типом данных Accumulator является Inherit: Inherit via internal rule
.
Типом данных Output является Inherit: Same as accumulator
.
С этими настройками типа данных блок действует в режиме максимальной точности.
Чтобы включить этот параметр, установите Coefficient source или на Dialog parameters или на Auto.
Saturate on integer overflow
— Переполните метода обработкиВыберите этот параметр, чтобы насыщать результат операции фиксированной точки. Очистите этот параметр, чтобы перенести результат операции фиксированной точки. Для получения дополнительной информации на насыщайте и переносите, смотрите, что Переполнение Обрабатывает для операций фиксированной точки.
Примечание
Rounding mode и параметры Saturate on integer overflow не оказывают влияния на числовые результаты, когда все эти условия соблюдают:
Типом данных Product output является Inherit: Inherit via internal rule
.
Типом данных Accumulator является Inherit: Inherit via internal rule
.
С этими настройками типа данных блок действует в режиме максимальной точности.
Этот параметр доступен для редактирования только, когда Coefficient source установлен или в Dialog parameters или в Auto.
Coefficients
— Содействующий тип данныхInherit: Same word length as input
(значение по умолчанию) | fixdt(1,16)
| fixdt(1,16,0)
Coefficients задает тип данных коэффициентов фильтра.
Inherit: Same word length as input
– Блок наследовал размер слова коэффициентов от входа фиксированной точки. Дробная длина определяется на основе содействующих значений для того, чтобы получить самую лучшую точность.
fixdt(1,16)
– Содействующий тип данных является двоичной точкой со знаком, масштабируемой, тип данных с фиксированной точкой с размером слова 16 битов.
fixdt(1,16,0)
– Содействующий тип данных является двоичной точкой со знаком, масштабируемой, тип данных с фиксированной точкой с размером слова 16 битов и дробной длиной 0.
В качестве альтернативы можно установить тип данных Coefficients при помощи Data Type Assistant. Чтобы использовать ассистент, нажмите кнопку Show data type assistant.
Для получения дополнительной информации об ассистенте типа данных смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).
Для схематического представления того, как этот блок использует содействующий тип данных фильтра, смотрите Фиксированную точку.
Этот параметр доступен для редактирования только, когда Coefficient source установлен или в Dialog parameters или в Auto.
Coefficients Minimum
— Минимальное значение коэффициентов фильтра[]
(значение по умолчанию) | скалярЗадайте минимальное значение коэффициентов фильтра. Simulink использует это минимальное значение, чтобы выполнить автоматическое масштабирование типов данных с фиксированной точкой.
Coefficients Maximum
— Максимальное значение коэффициентов фильтра[]
(значение по умолчанию) | скалярЗадайте максимальное значение коэффициентов фильтра. Simulink использует это максимальное значение, чтобы выполнить автоматическое масштабирование типов данных с фиксированной точкой.
Product output
— Тип выходных данных продуктаInherit: Inherit via internal rule
(значение по умолчанию) | Inherit: Same as input
| fixdt(1,16,0)
Product output задает тип данных выхода операции продукта в блоке FIR Rate Conversion.
Inherit: Inherit via internal rule
— Блок наследовал тип выходных данных продукта на основе внутреннего правила. Для получения дополнительной информации об этом правиле смотрите, Наследовались через Внутреннее Правило.
Inherit: Same as input
— Блок задает тип выходных данных продукта, чтобы совпасть с типом входных данных.
fixdt(1,16,0)
— Блок задает двоичную точку со знаком, масштабируемую, тип данных с фиксированной точкой с размером слова 16 битов и дробной длиной 0.
В качестве альтернативы можно установить тип данных Product output при помощи Data Type Assistant. Чтобы использовать ассистент, нажмите кнопку Show data type assistant.
Для получения дополнительной информации об ассистенте типа данных смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).
Для схематического представления того, как этот блок использует тип выходных данных продукта, смотрите Фиксированную точку.
Этот параметр доступен для редактирования только, когда Coefficient source установлен или в Dialog parameters или в Auto.
Accumulator
— Тип данных аккумулятораInherit: Inherit via internal rule
(значение по умолчанию) | Inherit: Same as input
| Inherit: Same as product output
| fixdt(1,16,0)
Accumulator задает тип данных выхода операции накопления в блоке FIR Rate Conversion. Для рисунков о том, как этот блок использует тип данных аккумулятора, смотрите Фиксированную точку.
Inherit: Inherit via internal rule
— Блок наследовал тип данных аккумулятора на основе внутреннего правила. Для получения дополнительной информации об этом правиле смотрите, Наследовались через Внутреннее Правило.
Inherit: Same as input
— Блок задает тип данных аккумулятора, чтобы совпасть с типом входных данных.
Inherit: Same as product output
— Блок задает тип данных аккумулятора, чтобы совпасть с типом выходных данных продукта.
fixdt(1,16,0)
— Блок задает двоичную точку со знаком, масштабируемую, тип данных с фиксированной точкой с размером слова 16 битов и дробной длиной 0.
В качестве альтернативы можно установить тип данных Accumulator при помощи Data Type Assistant. Чтобы использовать ассистент, нажмите кнопку Show data type assistant.
Для получения дополнительной информации об ассистенте типа данных смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).
Этот параметр доступен для редактирования только, когда Coefficient source установлен или в Dialog parameters или в Auto.
Output
— Тип выходных данныхInherit: Same as accumulator
(значение по умолчанию) | Inherit: Same as input
| Inherit: Same as product output
| fixdt(1,16,0)
Output задает тип данных выхода блока FIR Rate Conversion.
Inherit: Same as input
— Блок задает тип выходных данных, чтобы совпасть с типом входных данных.
Inherit: Same as product output
— Блок задает тип выходных данных, чтобы совпасть с типом выходных данных продукта.
Inherit: Same as accumulator
— Блок задает тип выходных данных, чтобы совпасть с типом данных аккумулятора.
fixdt(1,16,0)
— Блок задает двоичную точку со знаком, масштабируемую, тип данных с фиксированной точкой с размером слова 16 битов и дробной длиной 0.
В качестве альтернативы можно установить тип данных Output при помощи Data Type Assistant. Чтобы использовать ассистент, нажмите кнопку Show data type assistant.
Для получения дополнительной информации об ассистенте типа данных смотрите, Задают Типы данных Используя Ассистент Типа данных (Simulink).
Для схематического представления того, как этот блок использует тип выходных данных, смотрите Фиксированную точку.
Этот параметр доступен для редактирования только, когда Coefficient source установлен или в Dialog parameters или в Auto.
Output Minimum
— Минимальное значение блок может вывести[]
(значение по умолчанию) | скалярЗадайте минимальное значение, которое может вывести блок. Simulink использует это минимальное значение, чтобы выполнить:
Проверка диапазона симуляции. Для получения дополнительной информации смотрите, Указывают Диапазоны сигнала (Simulink).
Автоматическое масштабирование типов данных с фиксированной точкой.
Output Maximum
— Блок максимального значения может вывести[]
(значение по умолчанию) | скалярЗадайте максимальное значение, которое может вывести блок. Simulink использует это максимальное значение, чтобы выполнить:
Проверка диапазона симуляции. Для получения дополнительной информации смотрите, Указывают Диапазоны сигнала (Simulink).
Автоматическое масштабирование типов данных с фиксированной точкой.
Lock data type settings against changes by the fixed-point tools
— Препятствуйте тому, чтобы Fixed-Point Tool заменили типы данныхoff
(значение по умолчанию) | on
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на диалоговом окне блока.
Этот параметр появляется только, когда Coefficient source установлен или в Dialog parameters или в Auto.
Типы данных |
|
Прямое сквозное соединение |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
Обнаружение пересечения нулем |
|
Когда вы выбираете опцию Dialog parameters, вы используете параметр FIR filter coefficients, чтобы задать коэффициенты числителя КИХ-передаточной функции фильтра H (z).
Можно сгенерировать КИХ-вектор коэффициентов фильтра, [b(1) b(2) ... b(m)]
, использование одного из создания фильтра DSP System Toolbox™ функционирует такой как designMultirateFIR
, firnyquist
, firhalfband
, firgr
, или firceqrip
.
Вектор коэффициентов, который вы задаете, должен иметь длину, больше, чем коэффициент интерполяции (m> L). КИХ-фильтр должен быть фильтром lowpass с нормированной частотой среза, не больше, чем min
(1/L, 1/K). Блок внутренне инициализирует все состояния фильтра, чтобы обнулить.
Когда вы выбираете режим Auto, блочные конструкции КИХ-многоскоростной фильтр с фактором децимации, заданным в Decimation factor и коэффициенте интерполяции, заданном в Interpolation factor. designMultirateFIR
функционируйте проектирует фильтр и возвращает коэффициенты, используемые блоком. Для получения дополнительной информации об алгоритме создания фильтра смотрите Orfanidis [1].
Этот раздел применяется только к односкоростному режиму обработки, когда параметр Rate options устанавливается на Enforce single-rate processing
.
Вы задаете уровень передискретизации блока FIR Rate Conversion с помощью параметров Interpolation factor и Decimation factor. Для M i-by-N матричный вход, Decimation factor K и Interpolation factor L должен удовлетворить этим требованиям:
K и L должны быть относительно главными целыми числами. Таким образом, отношение K/L не может уменьшаться до отношения меньших целых чисел.
, где M i и M o является целочисленными форматами кадра ввода и вывода, соответственно.
Можно удовлетворить второму требованию, установив Decimation factor, K, равняться размеру входного кадра M i. Когда вы делаете так, выходной формат кадра, M o равняется Interpolation factor L.
Путем изменения формата кадра таким образом, блок может содержать постоянный период системы координат (Tfi = Tfo) и достигнуть желаемого преобразования периода расчета, такого что
где Tso является выходным периодом расчета.
Этот рисунок показывает, как блок FIR Rate Conversion преобразует 4
- 1
введите с периодом расчета 3
/4 к
3
- 1
выведите с периодом расчета 1
. Период системы координат (T f) 3 остается постоянным.
[1] Orfanidis, Софокл Дж. Введение в обработку сигналов. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1996.
Сгенерированный код использует memcpy
или memset
функции (string.h
) при определенных обстоятельствах.
Эта схема показывает типы данных, используемые в блоке FIR Rate Conversion для сигналов фиксированной точки.
Можно установить коэффициент, продукт выход, аккумулятор и типы выходных данных в диалоговом окне блока. Схема показывает, что входные данные хранятся во входном буфере в совпадающем типе данных и масштабирующийся как вход. Фильтрованные данные находятся в буфере вывода в типе выходных данных и масштабировании, которое вы устанавливаете в диалоговом окне блока. Блок хранит любые начальные условия в буфере вывода с помощью типа выходных данных, и масштабируя это вы устанавливаете в диалоговом окне блока.
Выход множителя находится в типе выходных данных продукта, когда по крайней мере одни из входных параметров ко множителю действительны. Когда оба, входные параметры ко множителю являются комплексными, результат умножения, находятся в типе данных аккумулятора. Для получения дополнительной информации о том, как комплексное умножение выполняется в блоке, смотрите Типы данных Умножения.
Примечание
Когда вход блока является фиксированной точкой, все внутренние типы данных являются подписанной фиксированной точкой.
firceqrip
| firgr
| firhalfband
| firnyquist
dsp.CICCompensationDecimator
| dsp.CICCompensationInterpolator
| dsp.FIRDecimator
| dsp.FIRHalfbandDecimator
| dsp.FIRHalfbandInterpolator
| dsp.FIRInterpolator
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.