comm.RaisedCosineTransmitFilter

Примените формирование импульса путем интерполяции сигнала с помощью фильтра конечной импульсной характеристики приподнятого косинуса

Описание

The comm.RaisedCosineTransmitFilter Система object™ применяет формирование импульса путем интерполяции входного сигнала с помощью фильтр с приподнятой косинусоидальной конечной импульсной характеристикой (КИХ). Фильтр конечной импульсной характеристики имеет (FilterSpanInSymbols × OutputSamplesPerSymbol + 1) коэффициенты касания.

Для применения формирования импульсов путем интерполяции входного сигнала с помощью фильтр конечной импульсной характеристики приподнятого косинуса:

  1. Создайте comm.RaisedCosineTransmitFilter Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

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

пример

txfilter = comm.RaisedCosineTransmitFilter(Name,Value) устанавливает свойства с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, comm.RaisedCosineTransmitFilter('FilterSpanInSymbols',15) конфигурирует фильтр передачи приподнятого косинуса с Системным объектом диапазона фильтра, установленным на 15 символов.

Свойства

расширить все

Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release функция разблокирует их.

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Форма фильтра, заданная как 'Square root' или 'Normal'.

Типы данных: char | string

Коэффициент отката, заданный как скаляр в области значений [0, 1].

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

Фильтрация диапазона в символах в виде положительного целого числа. Объект обрезает бесконечную импульсную характеристику (БИХ) идеального фильтр приподнятого косинуса до импульсной характеристики, которая охватывает количество символов, заданное этим свойством.

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

Выход выборок на символ, заданный как положительное целое число.

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

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

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

Использование

Синтаксис

Описание

пример

y = txfilter(x) применяет формирование импульсов путем интерполяции входного сигнала с помощью приподнятой конечной импульсной характеристики фильтра косинуса. Выход состоит из интерполированных значений сигналов.

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

расширить все

Входной сигнал, заданный как вектор-столбец или K матрица i-by N. K i - количество входных выборок на канал сигнала, и N - количество каналов сигнала.

Для K i-by- N матричного входа объект обрабатывает столбцы входной матрицы как N независимых каналов.

Типы данных: double | single
Поддержка комплексного числа: Да

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

расширить все

Выходной сигнал, возвращенный как вектор-столбец или K матрица o-by N. K o равно K i × OutputSamplesPerSymbol. K i - количество входных выборок на канал сигнала, и N - количество каналов сигнала.

Объект интерполирует и фильтрует каждый канал по первой размерности, а затем генерирует K выходную матрицу o- N. Выходной сигнал является совпадающим типом данных, что и входной сигнал.

Функции объекта

Чтобы использовать функцию объекта, задайте системный объект в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

coeffsКоэффициенты для фильтров
infoИнформация о фильтре Системный объект
orderПорядок дискретного времени фильтра Системного объекта
stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Интерполируйте сигнал с помощью объекта передающего фильтра SRRC и отобразите спектр фильтрованного сигнала.

Создайте случайные биполярные символы со скоростью символов 1e6 символов в секунду.

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

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

txfilter = comm.RaisedCosineTransmitFilter
txfilter = 
  comm.RaisedCosineTransmitFilter with properties:

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

Фильтрация данных осуществляется с помощью фильтра SRRC.

filteredData = txfilter(data);

Создайте объект спектрального анализатора с частотой дискретизации 8e6. Эта частота дискретизации совпадает со скоростью дискретизации фильтрованного сигнала.

spectrumAnalyzer = dsp.SpectrumAnalyzer('SampleRate',8e6);

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

spectrumAnalyzer(filteredData)

Figure Spectrum Analyzer contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes contains an object of type line. This object represents Channel 1.

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

Создайте объекты фильтра SRRC, задав различные диапазоны фильтров. Используйте coeffs функция объекта для получения коэффициентов фильтра.

txfilt2 = comm.RaisedCosineTransmitFilter('FilterSpanInSymbols',2);
txfilt4 = comm.RaisedCosineTransmitFilter('FilterSpanInSymbols',4);
txfilt6 = comm.RaisedCosineTransmitFilter('FilterSpanInSymbols',6);
txfilt8 = comm.RaisedCosineTransmitFilter('FilterSpanInSymbols',8);
txfilt16 = comm.RaisedCosineTransmitFilter('FilterSpanInSymbols',16);

taps2 = coeffs(txfilt2).Numerator;
taps4 = coeffs(txfilt4).Numerator;
taps6 = coeffs(txfilt6).Numerator;
taps8 = coeffs(txfilt8).Numerator;
taps16 = coeffs(txfilt16).Numerator;

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

h = fvtool(taps2,1,taps4,1,taps8,1,taps16,1);
h.Fs = 1e3;
h.FrequencyRange = '[-Fs/2, Fs/2)';
legend('Span 2 symbols','Span 4 symbols','Span 8 symbols','Span 10 symbols')
title('Magnitude Response (dB) for Various Filter Spans')

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) for Various Filter Spans contains 4 objects of type line. These objects represent Span 2 symbols, Span 4 symbols, Span 8 symbols, Span 10 symbols.

Создайте объект передающего фильтра SRRC. Используйте FVTool, чтобы построить график отклика фильтра. Результаты показывают, что линейный коэффициент усиления фильтра больше единицы. В частности, коэффициент усиления полосы пропускания превышает 0 дБ.

txfilter = comm.RaisedCosineTransmitFilter;
fvtool(txfilter)

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains an object of type line.

Используйте coeffs функция объекта, чтобы получить коэффициенты фильтра и настроить коэффициент усиления фильтра на единичную энергию.

b = coeffs(txfilter);

Поскольку фильтр с единичным коэффициентом усиления полосы пропускания должен иметь коэффициенты фильтра, которые равны 1, установите коэффициент усиления линейного фильтра в обратное значение суммы коэффициентов отвода фильтра, b.Numerator.

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

Проверьте, что результирующие коэффициенты фильтра равны 1.

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

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

fvtool(txfilter)

Figure Filter Visualization Tool - Magnitude Response (dB) contains an axes and other objects of type uitoolbar, uimenu. The axes with title Magnitude Response (dB) contains an object of type line.

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

.

См. также

Объекты

Функции

Введенный в R2013b