comm.RaisedCosineTransmitFilter

Примените формирование импульса путем интерполяции сигнала с помощью повышенного фильтра косинуса

Описание

Raised Cosine Transmit Filter Система object™ применяет формирование импульса путем интерполяции входного сигнала с помощью повышенного КИХ-фильтра косинуса.

Интерполировать входной сигнал:

  1. Задайте и настройте свой повышенный объект фильтра передачи косинуса. Смотрите Конструкцию.

  2. Вызовите step интерполировать входной сигнал согласно свойствам comm.RaisedCosineTransmitFilter. Поведение step характерно для каждого объекта в тулбоксе.

Примечание

Запуск в R2016b, вместо того, чтобы использовать step метод, чтобы выполнить операцию, заданную Системным объектом, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполните эквивалентные операции.

Конструкция

H = comm.RaisedCosineTransmitFilter возвращается повышенная передача косинуса фильтруют Системный объект, H, который интерполирует входной сигнал с помощью повышенного КИХ-фильтра косинуса. Фильтр использует эффективную многофазную КИХ-структуру интерполяции и имеет модульную энергию.

H = comm.RaisedCosineTransmitFilter(PropertyName,PropertyValue, ...) возвращается повышенный косинус передают объект фильтра, H, с каждым заданным набором свойств к заданному значению.

Свойства

Shape

Отфильтруйте форму

Задайте форму фильтра как один из Normal или Square root. Значением по умолчанию является Square root.

RolloffFactor

Фактор спада

Задайте фактор спада как скаляр между 0 и 1. Значением по умолчанию является 0.2.

FilterSpanInSymbols

Отфильтруйте промежуток в символах

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

OutputSamplesPerSymbol

Выведите выборки на символ

Задайте количество выходных выборок для каждого вводимого символа. Значением по умолчанию является 8. Это свойство принимает значение положительной скалярной величины с целочисленным знаком. Повышенный фильтр косинуса имеет (FilterSpanInSymbols x OutputSamplesPerSymbol + 1) касания.

Gain

Усиление линейного фильтра

Задайте линейное усиление фильтра в виде положительного числа. Значением по умолчанию является 1. Объект проектирует повышенный фильтр косинуса, который имеет модульную энергию, и затем применяет линейное усиление, чтобы получить итоговые значения касания.

Методы

coefsВозвращает коэффициенты для фильтров
сбросСбросьте внутренние состояния Системного объекта
шагВыведите интерполированные значения входного сигнала
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

развернуть все

В этом примере показано, как интерполировать сигнал с помощью comm.RaisedCosineTransmitFilter Системный объект и отобразить его спектр.

Создайте повышенный объект фильтра передачи косинуса квадратного корня квадратного корня. Вы видите, что его настройки по умолчанию таковы, что фильтр имеет форму квадратного корня и что существует 8 выборок на символ.

txfilter = comm.RaisedCosineTransmitFilter
txfilter = 

  comm.RaisedCosineTransmitFilter with properties:

                     Shape: 'Square root'
             RolloffFactor: 0.2000
       FilterSpanInSymbols: 10
    OutputSamplesPerSymbol: 8
                      Gain: 1

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

data = 2*randi([0 1],10000,1) - 1;

Отфильтруйте данные при помощи фильтра RRC.

filteredData = txfilter(data);

Чтобы просмотреть спектр отфильтрованного сигнала, создайте спектр объект анализатора с частотой дискретизации 1 000 Гц.

spectrumAnalyzer = dsp.SpectrumAnalyzer('SampleRate',1000);

Просмотрите спектр отфильтрованного сигнала с помощью спектра анализатор.

spectrumAnalyzer(filteredData)

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

Создайте повышенный фильтр косинуса и установите FilterSpanInSymbols к 6. Объект обрезает импульсную характеристику до шести символов.

txfilter = comm.RaisedCosineTransmitFilter('FilterSpanInSymbols',6);

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

fvtool(txfilter)

Сгенерируйте случайные данные, содержащие положительные и отрицательные значения и передайте его через фильтр.

x = 2*randi([0 1],96,1) - 1;
y = txfilter(x);

Постройте интерполированный сигнал.

plot(y)
grid on

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

Сгенерируйте фильтр с модульной энергией. Можно получить коэффициенты фильтра с помощью coeffs функция.

txfilter = comm.RaisedCosineTransmitFilter;
b = coeffs(txfilter);

Постройте ответ фильтра. Вы видите, что его усиление больше единицы (больше чем 0 дБ).

fvtool(txfilter)

Фильтр с усилением полосы пропускания единицы имеет коэффициенты фильтра та сумма к 1. Установите Gain свойство к инверсии суммы b.Numerator

txfilter.Gain = 1/sum(b.Numerator);

Проверьте, что получившиеся коэффициенты фильтра суммируют к 1.

bNorm = coeffs(txfilter);
sum(bNorm.Numerator)
ans = 1.0000

Постройте частотную характеристику фильтра. Обратите внимание на то, что это показывает усиление полосы пропускания 0 дБ.

fvtool(txfilter)

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

Смотрите также

|

Введенный в R2013b