comm.RaisedCosineTransmitFilter

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

Описание

comm.RaisedCosineTransmitFilter Система object™ применяет формирование импульса путем интерполяции входного сигнала с помощью повышенного фильтра конечной импульсной характеристики (FIR) косинуса. КИХ-фильтр имеет (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

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

Типы данных: 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-by-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