channelDelay

Задержка синхронизации канала

Описание

пример

[delay,mag] = channelDelay(pathGains,pathFilters) вычисляет задержку синхронизации канала путем нахождения пика импульсной характеристики канала. Функция восстанавливает импульсную характеристику от массива усилений пути к каналу и матрицы импульсной характеристики фильтра пути. Функция возвращает задержку синхронизации канала выборок и величину импульсной характеристики канала. Для получения дополнительной информации смотрите Расчет Задержки и Величины Канала.

Примеры

свернуть все

Сконфигурируйте канал MIMO 2 на 2. Используйте info возразите функции, чтобы получить фильтры пути.

chan = comm.MIMOChannel('SampleRate',1000,'PathDelays',[0 1.5e-3], ...
    'AveragePathGains',[1 0.8],'RandomStream','mt19937ar with seed', ...
    'Seed',10,'PathGainsOutputPort',true); 
chanInfo = info(chan);
pathFilters = chanInfo.ChannelFilterCoefficients;

Вычислите усиления пути путем передачи импульса через канал.

[~,pathGains] = chan(ones(1,2));

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

delay = channelDelay(pathGains,pathFilters)
delay = 6

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

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

chan = comm.RayleighChannel;
chan.SampleRate = 1e3;
chan.PathDelays = [0 5.3e-3 10.1e-3];
chan.AveragePathGains = [0.1 1 0.5];
chan.PathGainsOutputPort = true;
chan.RandomStream = 'mt19937ar with seed';
chan.Seed = 1;
chan.Visualization = 'Impulse response';
chan.MaximumDopplerShift = 1;

Используйте info возразите функции, чтобы получить фильтры пути к каналу Рейли. В цикле передайте статический сигнал из всех единиц через канал Рейли. channelDelay функционируйте использует массив усилений пути к каналу от каждого, проходят через канал и коэффициенты фильтра пути, chanInfo.ChannelFilterCoefficients (возвращенный info функция), чтобы вычислить относительную задержку синхронизации канала. Импульсная характеристика варьируется для каждой итерации. Импульсную характеристику для последней итерации показывают здесь. delay вектор показывает относительную задержку синхронизации канала, вычисленную для каждой итерации.

chanInfo = info(chan);
numIter = 12;
delay = zeros(1,numIter);
for p=1:numIter
    [~,pg] = chan(ones(1e3,1));
    delay(p) = channelDelay(pg,chanInfo.ChannelFilterCoefficients);
end

Figure Impulse Response contains an axes object and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes object contains 3 objects of type stem, text. These objects represent Path Gain, Channel Filter Coefficient.

delay
delay = 1×12

    12     7    12     2    12     7    12     7     7     7     2     2

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

свернуть все

Путь к каналу получает в виде N cs Np Nt Nr массивом, где:

  • N cs является количеством снимков состояния канала.

  • N p является количеством путей.

  • N t является количеством передающих антенн.

  • N r является количеством, получают антенны.

Если любой элемент в pathGains isnan, функция принимает, что никакой путь не существует между передатчиком и приемником.

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

Импульсная характеристика фильтра пути в виде N p-by-Nh матрица. N p является количеством путей, и N h является количеством выборок импульсной характеристики.

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

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

свернуть все

Синхронизация канала задерживается в выборках, возвращенных как целое число. Это значение представляет количество отсчетов задержки относительно первой выборки импульсной характеристики канала, восстановленной от pathGains и pathFilters входные параметры. Функция вычисляет задержку синхронизации канала путем нахождения пика составной импульсной характеристики канала. Для получения дополнительной информации смотрите Расчет Задержки и Величины Канала.

Величина импульсной характеристики канала для каждого получает антенну, возвращенную как N h-by-Nr матрица. N h является количеством выборок импульсной характеристики, и N r является количеством, получают антенны. Для получения дополнительной информации смотрите Расчет Задержки и Величины Канала.

Больше о

свернуть все

Задержка канала и расчет величины

Расчет задержки канала и величин импульсной характеристики использует составную импульсную характеристику канала.

Составная импульсная характеристика канала следует из усреднения импульсной характеристики через все снимки состояния канала, как представлено в массиве усилений пути. Входной path массив усилений должен иметь формат N cs Np Nt Nr, где:

  • N cs является количеством снимков состояния канала.

  • N p является количеством путей.

  • N t является количеством передающих антенн.

  • N r является количеством, получают антенны.

Задержка синхронизации канала, выход как одно значение, относительно первой выборки импульсной характеристики канала. Функция вычисляет это значение путем нахождения пика составной импульсной характеристики канала. Составная импульсная характеристика канала является суммированием импульсных характеристик через все передающие и приемные антенны.

Получить величины импульсной характеристики выводятся как N h-by-Nr матрица. N h является количеством выборок импульсной характеристики, и N r является количеством, получают антенны. Вычислить получить величины импульсной характеристики,

  1. Усиления пути суммированы через все снимки состояния канала.

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

  3. Пути к передающей антенне объединены в массиве импульсной характеристики канала, оставлять матрицу выборок импульсной характеристики по сравнению с получает антенны.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Введенный в R2020a