информация

Характеристическая информация об исчезающем объекте канала

Синтаксис

infostruct = info(obj)

Описание

пример

infostruct = info(obj) возвращает структуру, содержащую характеристическую информацию для Системы object™.

Примеры

свернуть все

Используйте функцию объекта info, чтобы получить информацию от объекта comm.MIMOChannel.

Создайте объект канала MIMO и некоторые данные, чтобы пройти через канал.

mimo = comm.MIMOChannel('SampleRate',1000);
data = randi([0 1],600,2);

Проверяйте информацию об объекте канала MIMO

info(mimo)
ans = struct with fields:
           ChannelFilterDelay: 0
    ChannelFilterCoefficients: 1
          NumSamplesProcessed: 0

Передайте данные через канал и проверяйте информацию об объекте снова.

mimo(data);
info(mimo)
ans = struct with fields:
           ChannelFilterDelay: 0
    ChannelFilterCoefficients: 1
          NumSamplesProcessed: 600

Выпустите объект, таким образом, можно обновить атрибуты. Добавьте двухсекундную задержку пути. Перепроверьте информацию об объекте.

release(mimo)
mimo.PathDelays = 2;
info(mimo)
ans = struct with fields:
           ChannelFilterDelay: 0
    ChannelFilterCoefficients: [1x2001 double]
          NumSamplesProcessed: 0

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

Задайте полное время симуляции и в три раза сегменты, для которых будут переданы данные. В этом случае канал моделируется в течение 1 с с 1 000 Гц, выбирающими уровень. Одна последовательность текущих данных с 1000 выборками передается во время 0. Три пакета с 100 выборочными данными передаются во время 0,1 с, 0,4 с и 0,7 с.

t0 = 0:0.001:0.999;   % Transmission 0
t1 = 0.1:0.001:0.199; % Transmission 1
t2 = 0.4:0.001:0.499; % Transmission 2
t3 = 0.7:0.001:0.799; % Transmission 3

Сгенерируйте случайные двоичные данные, соответствующие ранее заданным временным интервалам.

d0 = randi([0 1],1000,2);  % 1000 samples
d1 = randi([0 1],100,2);   % 100 samples
d2 = randi([0 1],100,2);   % 100 samples
d3 = randi([0 1],100,2);   % 100 samples

Создайте плоское исчезновение 2x2 Системный объект канала MIMO с Sum of sinusoids, исчезающим метод. Таким образом, это заканчивается, может быть повторен, задать seed с помощью пары "имя-значение". Когда свойство InitialTime не задано, исчезающий канал будет моделироваться со времени 0. Включите выходной порт усилений пути.

mimoChan1 = comm.MIMOChannel('SampleRate',1000, ...
    'MaximumDopplerShift',5, ...
    'RandomStream','mt19937ar with seed', ...
    'Seed',17, ...
    'FadingTechnique','Sum of sinusoids', ...
    'PathGainsOutputPort',true);

Создайте клон Системного объекта канала MIMO. Установите свойство InitialTimeSource на Input port так, чтобы исчезающее время смещения канала могло быть задано как входной параметр к функции mimoChan.

mimoChan2 = clone(mimoChan1);
mimoChan2.InitialTimeSource = 'Input port';

Передайте случайные двоичные данные через первый объект канала, mimoChan1. Данные передаются за все 1 000 раз выборки. В данном примере только усиление сложного контура необходимо.

[~,pg0] = mimoChan1(d0);

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

[~,pg1] = mimoChan2(d1,0.1);
[~,pg2] = mimoChan2(d2,0.4);
[~,pg3] = mimoChan2(d3,0.7);

Сравните количество выборок, обработанных двумя каналами с помощью метода info. Вы видите, что 1 000 выборок были обработаны mimoChan1, в то время как только 300 были обработаны mimoChan2.

G = info(mimoChan1);
H = info(mimoChan2);
[G.NumSamplesProcessed H.NumSamplesProcessed]
ans = 1×2

        1000         300

Преобразуйте усиления пути в децибелы для пути, соответствующего первой передаче, и сначала получите антенну.

pathGain0 = 20*log10(abs(pg0(:,1,1,1)));
pathGain1 = 20*log10(abs(pg1(:,1,1,1)));
pathGain2 = 20*log10(abs(pg2(:,1,1,1)));
pathGain3 = 20*log10(abs(pg3(:,1,1,1)));

Постройте усиления пути для непрерывных и прерывистых случаев. Заметьте, что усиления для этих трех сегментов отлично совпадают с усилением для непрерывного случая. Выравнивание двух подсветок, что метод суммы синусоид идеально подходит для симуляции packetized данных как характеристики канала, сохраняется, даже когда данные не передаются.

plot(t0,pathGain0,'r--')
hold on
plot(t1,pathGain1,'b')
plot(t2,pathGain2,'b')
plot(t3,pathGain3,'b')
grid
xlabel('Time (sec)')
ylabel('Path Gain (dB)')
legend('Continuous','Discontinuous','location','nw')

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

свернуть все

Системный объект, чтобы получить информацию от.

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

свернуть все

Структура, содержащая эти поля с информацией о Системном объекте.

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

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

Количество выборок обрабатывается объектом канала начиная с последнего сброса, возвращенного как положительное целое число.

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

Зависимости

Это свойство применяется, когда FadingTechnique является 'Sum of sinusoids', и InitialTimeSource является 'Input port'.

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

Системные объекты

Представленный в R2012a

Для просмотра документации необходимо авторизоваться на сайте