MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем
 

Обработка сигналов и изображений\Communications Toolbox

Список функций CommunicationsToolbox: Специальные фильтры

  В оглавление \ К следующему разделу \ К предыдущему разделу

RCOSFLT
Интерполяция сигнала фильтром
с косинусоидальным сглаживанием АЧХ

Синтаксис:

y = rcosflt(x,Fd,Fs);
y = rcosflt(x,Fd,Fs,'filter_type',r,delay,tol);
y = rcosflt(x,Fd,Fs,'filter_type/Fs',r,delay,tol);
y = rcosflt(x,Fd,Fs,'filter_type/filter',num,den);
y = rcosflt(x,Fd,Fs,'filter_type/filter',num,den,delay);
y = rcosflt(x,Fd,Fs,'filter_type/filter/Fs',num,den...);
[y,t] = rcosflt(...);

Необязательные входные параметры:

Параметр Значение по умолчанию
filter_type fir/normal
r 0.5
delay 3
tol 0.01
den 1

Описание:

Функция rcosflt выполняет интерполяцию входного цифрового сигнала, пропуская его через фильтр с косинусоидальным сглаживанием АЧХ. При этом можно дать функции rcosflt рассчитать фильтр автоматически либо задать его параметры в явном виде.

Автоматический расчет фильтра:

  • y = rcosflt(x,Fd,Fs)

Рассчитывает нерекурсивный фильтр с косинусоидальным сглаживанием АЧХ и интерполирует с его помощью входной сигнал x. Частота дискретизации входного цифрового сигнала x равна Fd, частота дискретизации выходного сигнала y равна Fs. Отношение Fs/Fd должно быть положительным целым числом. В процессе работы функция rcosflt повышает частоту дискретизации сигнала в Fs/Fd раз, вставляя между отсчетами соответствующее количество нулей. Полученный сигнал пропускается через интерполирующий фильтр, порядок которого равен 1+2*delay*Fs/Fd, где задержка delay по умолчанию равна 3. Если x — вектор, то размеры векторов x и y связаны следующим соотношением:

length(y) = (length(x) + 2 * delay)*Fs/Fd

Если же x — матрица, то y — тоже матрица, каждый из столбцов которой является результатом интерполяции соответствующего столбца x.

  • y = rcosflt(x,Fd,Fs,'filter_type',r,delay,tol)

Рассчитывает рекурсивный или нерекурсивный фильтр с косинусоидальным сглаживанием АЧХ и выполняет с его помощью интерполяцию входного сигнала x. Отношение Fs/Fd должно быть положительным целым числом. Параметр r — коэффициент сглаживания АЧХ, который должен быть вещественным числом в диапазоне [0, 1]. Параметр delay — вносимая фильтром групповая задержка, измеряемая в символах входного цифрового сигнала. В единицах времени групповая задержка равна delay/Fd секунд. Параметр tol задает допуск, используемый при синтезе рекурсивных фильтров. При расчете нерекурсивных фильтров этот параметр игнорируется.

Параметры x, Fd, Fs и y имеют тот же смысл, что и ранее.

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

Таблица: Типы фильтров и соответствующие значения параметра filter_type:

Тип фильтра Значение параметра filter_type
Нерекурсивный фильтр 'default', 'fir' или 'fir/normal'
Рекурсивный фильтр 'iir' или 'iir/normal'
Нерекурсивный фильтр, sqrt-вариант 'sqrt' или 'fir/sqrt'
Рекурсивный фильтр, sqrt-вариант 'iir/sqrt'
  • y = rcosflt(x,Fd,Fs,'filter_type/Fs',r,delay,tol)

То же, что предыдущий вариант синтаксиса, но предполагается, что входной сигнал x имеет частоту дискретизации Fs. При этом производится простая фильтрация, без интерполяции. Параметр Fd используется только для расчета фильтра. Если x — вектор, то размеры векторов x и y связаны следующим соотношением:

length(y) = length(x) + (2 * delay * Fs/Fd)

Как обычно, если x — матрица, то y — тоже матрица, каждый столбец которой является результатом обработки соответствующего столбца матрицы x.

Задание фильтра в явном виде:

  • y = rcosflt(x,Fd,Fs,'filter_type/filter',num,den)

Интерполирует входной сигнал x с использованием фильтра, числитель и знаменатель функции передачи которого заданы соответственно векторами num и den. Если строка filter_type содержит fir, подразумевается нерекурсивный фильтр и указывать параметр den не нужно. Смысл параметров x, Fd, Fs и filter_type тот же, что и раньше.

  • y = rcosflt(x,Fd,Fs,'filter_type/filter',num,den,delay)

Использует параметр delay аналогично тому, как это делает функция rcosine. В этом варианте синтаксиса предполагается, что фильтр, описываемый параметрами num, den и delay, рассчитан с помощью функции rcosine.

Как обычно, если x — матрица, то y — тоже матрица, каждый столбец которой является результатом обработки соответствующего столбца матрицы x.

  • y = rcosflt(x,Fd,Fs,'filter_type/filter/Fs',num,den...)

То же, что предыдущие варианты синтаксиса, но предполагается, что входной сигнал x имеет частоту дискретизации Fs. При этом производится простая фильтрация, без интерполяции. Если x — вектор, то размеры векторов x и y связаны следующим соотношением:

length(y) = length(x) + (2 * delay * Fs/Fd)

Дополнительный выходной параметр:

  • [y,t] = rcosflt(...)

Данный вариант вызова дополнительно возвращает вектор t, содержащий значения времени, соответствующие отсчетам сигнала y.

Сопутствующие функции: rcosfir, rcosiir, rcosine, rcosdemo, grpdelay (Signal Processing Toolbox).

Литература:

Korn, Israel. Digital Communications. New York: Van Nostrand Reinhold, 1985.

  В оглавление \ К следующему разделу \ К предыдущему разделу

 

Поиск по сайту:

Система Orphus

Яндекс.Метрика