Сверхдискретизируйте, отфильтруйте и субдискретизируйте входные сигналы
Фильтрация / Многоскоростные фильтры
dspmlti4
Блок FIR Rate Conversion передискретизирует вход дискретного времени, таким образом, что его демонстрационным периодом является K/L времена входной демонстрационный период (СИ T). K является целочисленным значением, которое вы задаете для параметра Decimation factor, и L является целочисленным значением, которое вы задаете для параметра Interpolation factor.
Блок обрабатывает каждый столбец входа как отдельный канал и передискретизирует данные в каждом канале независимо в зависимости от времени. Для этого блок реализует многофазную структуру фильтра и выполняет следующие операции:
Сверхдискретизировал вход к более высокому уровню путем вставки L-1
нули между входными выборками.
Передает сверхдискретизированные данные через прямую форму II, транспонируют КИХ-фильтр.
Субдискретизирует отфильтрованные данные к более низкому уровню путем отбрасывания K-1
последовательные выборки после каждой выборки, которую сохраняет блок.
Многофазная реализация фильтра более эффективна, чем прямой алгоритм "сверхдискретизировал фильтр, десятикратно уменьшают". Смотрите Orfanidis [1] для получения дополнительной информации.
Вы задаете уровень передискретизации блока 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.
Путем изменения формата кадра таким образом, блок может содержать постоянный период кадра (T fi = T fo) и достигнуть желаемого преобразования демонстрационного периода, такого что
где T так является выходным демонстрационным периодом.
Чтобы задать коэффициенты фильтра, выберите режим, в котором вы хотите, чтобы блок FIR Rate Conversion действовал. Выберите режим в групповом блоке Coefficient source.
Dialog parameters — Введите информацию о фильтре, таком как коэффициенты, в диалоговом окне блока.
Filter object — Задайте фильтр с помощью Системы dsp.FIRRateConverter
object™.
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].
Следующая схема показывает типы данных, используемые в блоке FIR Rate Conversion для сигналов фиксированной точки.
Можно установить коэффициент, продукт вывод, аккумулятор и типы выходных данных в диалоговом окне блока, как обсуждено в Диалоговом окне. Схема показывает, что входные данные хранятся во входном буфере в совпадающем типе данных и масштабирующийся как вход. Фильтрованные данные находятся в буфере вывода в типе выходных данных и масштабировании, которое вы устанавливаете в диалоговом окне блока. Блок хранит любые начальные условия в буфере вывода с помощью типа выходных данных, и масштабируя это вы устанавливаете в диалоговом окне блока.
Вывод множителя находится в типе выходных данных продукта, когда по крайней мере одни из входных параметров ко множителю действительны. Когда оба из входных параметров ко множителю являются комплексными, результат умножения находится в типе данных аккумулятора. Для получения дополнительной информации на комплексном выполняемом умножении, смотрите Типы данных Умножения.
Когда вход блока является фиксированной точкой, все внутренние типы данных являются подписанной фиксированной точкой.
Следующие данные показывают, как блок FIR Rate Conversion преобразовывает 4
-by-1
вход с демонстрационным периодом 3
/4
к 3
-by-1
вывод с демонстрационным периодом 1
. Период кадра (T f) 3 остается постоянным.
Модель ex_audio_frc
приводит простой пример одного способа преобразовать речевой сигнал от одной частоты дискретизации до другого. В этой модели данные сначала выбираются на уровне 22 050 Гц и затем передискретизируются на уровне 8 000 Гц. Если вы слушаете вывод, можно услышать, что высокочастотное содержимое было удалено из сигнала, несмотря на то, что речь звучит в основном как то же самое.
Блок FIR Rate Conversion может действовать в трех различных режимах. Выберите режим в групповом блоке Coefficient source.
Dialog parameters — Введите информацию о фильтре, таком как коэффициенты, в маске блока.
Filter object — Задайте фильтр с помощью Системного объекта dsp.FIRRateConverter
.
Auto (значение по умолчанию) — Выбирает коэффициенты фильтра автоматически.
Различные элементы появляются на диалоговом окне блока FIR Rate Conversion в зависимости от того, выбираете ли вы Dialog parameters, Filter object или Auto в групповом блоке Coefficient source.
Задайте характеристики фильтра в диалоговом окне
[1] Orfanidis, Софокл Дж. Введение в обработку сигналов. Верхний Сэддл-Ривер, NJ: Prentice Hall, 1996.
Порт | Поддерживаемые типы данных |
---|---|
Входной параметр |
|
Вывод |
|
Субдискретизировать | DSP System Toolbox |
Сверхдискретизировать | DSP System Toolbox |
КИХ-десятикратное уменьшение | DSP System Toolbox |
КИХ-интерполяция | DSP System Toolbox |
Десятикратное уменьшение CIC | DSP System Toolbox |
Интерполяция CIC | DSP System Toolbox |
КИХ-интерполятор полуполосы | DSP System Toolbox |
КИХ-полуполоса Decimator | DSP System Toolbox |
БИХ-интерполятор полуполосы | DSP System Toolbox |
БИХ-полуполоса Decimator | DSP System Toolbox |
Интерполятор компенсации CIC | DSP System Toolbox |
Компенсация CIC Decimator | DSP System Toolbox |
dsp.CICCompensationDecimator | DSP System Toolbox |
dsp.CICCompensationInterpolator | DSP System Toolbox |
dsp.FIRHalfbandDecimator | DSP System Toolbox |
dsp.FIRHalfbandInterpolator | DSP System Toolbox |
dsp.FIRDecimator | DSP System Toolbox |
dsp.FIRInterpolator | DSP System Toolbox |
firnyquist | DSP System Toolbox |
firhalfband | DSP System Toolbox |
firgr | DSP System Toolbox |
firceqrip | DSP System Toolbox |
Смотрите следующие разделы для сопутствующей информации: