rcosdesign

Создание формирующего импульс КИХ-фильтра приподнятого косинуса

Описание

пример

b = rcosdesign(beta,span,sps) возвращает коэффициенты, b, это соответствует КИХ-фильтру квадратного корня приподнятого косинуса с фактором спада, заданным beta. Фильтр является усеченным к span символы и каждый период символа содержат sps выборки. Порядок фильтра, sps*span, должен быть четным. Энергия фильтра равняется 1.

пример

b = rcosdesign(beta,span,sps,shape) возвращается квадратный корень повысил фильтр косинуса, когда вы устанавливаете shape к 'sqrt' и нормальный повышенный КИХ косинуса фильтрует, когда вы устанавливаете shape к 'normal'.

Примеры

свернуть все

Задайте фактор спада 0,25. Обрежьте фильтр до 6 символов и представляйте каждый символ 4 выборками. Проверьте тот 'sqrt' значение по умолчанию shape параметр.

h = rcosdesign(0.25,6,4);
mx = max(abs(h-rcosdesign(0.25,6,4,'sqrt')))
mx = 0
fvtool(h,'Analysis','impulse')

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

Создайте нормальный повышенный фильтр косинуса со спадом 0.25. Укажите, что этот фильтр охватывает 4 символа с 3 выборками на символ.

rf = 0.25;
span = 4;
sps = 3;

h1 = rcosdesign(rf,span,sps,'normal');
fvtool(h1,'impulse')

Нормальный фильтр имеет нулевые пересечения в целочисленных множителях sps. Это таким образом удовлетворяет критерию Найквиста нулевой интерференции межсимвола. Фильтр квадратного корня, однако, не делает:

h2 = rcosdesign(rf,span,sps,'sqrt');
fvtool(h2,'impulse')

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

h3 = conv(h2,h2);
p2 = ceil(length(h3)/2);
m2 = ceil(p2-length(h1)/2);
M2 = floor(p2+length(h1)/2);
ct = h3(m2:M2);

stem([h1/max(abs(h1));ct/max(abs(ct))]','filled')
xlabel('Samples')
ylabel('Normalized amplitude')
legend('h1','h2 * h2')

Ответ, к которому применяют операцию свертки, не совпадает с нормальным фильтром из-за своей конечной длины. Увеличьте span получить более близкое соглашение между ответами и лучшую податливость с критерием Найквиста.

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

Задайте параметры фильтра.

rolloff = 0.25;     % Rolloff factor
span = 6;           % Filter span in symbols
sps = 4;            % Samples per symbol

Сгенерируйте квадратный корень, повышенные коэффициенты фильтра косинуса.

b = rcosdesign(rolloff, span, sps);

Создайте вектор из данных, содержащих положительные и отрицательные значения.

d = 2*randi([0 1], 100, 1) - 1;

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

x = upfirdn(d, b, sps);

Добавьте шум.

r = x + randn(size(x))*0.01;

Отфильтруйте и проредите полученный сигнал для согласованной фильтрации.

y = upfirdn(r, b, 1, sps);

Для получения информации о том, как использовать квадратный корень, повышенные фильтры косинуса, чтобы интерполировать и десятикратно уменьшить сигналы, видеть, Интерполируют и Десятикратно уменьшают Используя Фильтр RRC (Communications Toolbox).

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

свернуть все

Фактор спада в виде действительного неотрицательного скаляра, не больше, чем 1. Фактор спада определяет избыточную пропускную способность фильтра. Нулевой спад соответствует фильтру кирпичной стены и модульному спаду к чистому повышенному косинусу.

Типы данных: double | single

Количество символов в виде положительного целочисленного скаляра.

Типы данных: double | single

Количество выборок на символ (сверхдискретизировавший фактор) в виде положительного целочисленного скаляра.

Типы данных: double | single

Форма повышенного окна косинуса в виде любого 'normal' или 'sqrt'.

Выходные аргументы

свернуть все

Повышенные коэффициенты фильтра косинуса, возвращенные как вектор-строка.

Типы данных: double | single

Советы

  • Если у вас есть лицензия на программное обеспечение Communications Toolbox™, можно выполнить многоскоростную повышенную фильтрацию косинуса с потоковой передачей поведения. Для этого используйте Систему object™ фильтры, comm.RaisedCosineTransmitFilter и comm.RaisedCosineReceiveFilter.

Ссылки

[1] Tranter, Уильям Х., К. Сэм Шэнмугэн, Теодор С. Рэппэпорт и Курт Л. Косбар. Принципы симуляции систем связи с приложениями беспроводной связи. Верхний Сэддл-Ривер, NJ: Prentice Hall, 2004.

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

Введенный в R2013b