info

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

Синтаксис

Описание

пример

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

Примеры

свернуть все

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

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

rayleighchan = comm.RayleighChannel('SampleRate',1000,'PathDelays',[0 0],'AveragePathGains',[0 0])
rayleighchan = 
  comm.RayleighChannel with properties:

             SampleRate: 1000
             PathDelays: [0 0]
       AveragePathGains: [0 0]
     NormalizePathGains: true
    MaximumDopplerShift: 1.0000e-03
        DopplerSpectrum: [1x1 struct]

  Show all properties

data = randi([0 1],600,1);

Проверяйте Рэлеевскую информацию об объекте канала.

info(rayleighchan)
ans = struct with fields:
           ChannelFilterDelay: 0
    ChannelFilterCoefficients: [2x1 double]
          NumSamplesProcessed: 0

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

rayleighchan(data);
info(rayleighchan)
ans = struct with fields:
           ChannelFilterDelay: 0
    ChannelFilterCoefficients: [2x1 double]
          NumSamplesProcessed: 600

Выпустите объект, таким образом, можно обновить атрибуты. Добавьте 1.5e-3 вторую задержку пути со вторым путем к задержке.

release(rayleighchan)
rayleighchan.PathDelays = [0 1.5e-3]
rayleighchan = 
  comm.RayleighChannel with properties:

             SampleRate: 1000
             PathDelays: [0 0.0015]
       AveragePathGains: [0 0]
     NormalizePathGains: true
    MaximumDopplerShift: 1.0000e-03
        DopplerSpectrum: [1x1 struct]

  Show all properties

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

rayleighchan(data);
info(rayleighchan)
ans = struct with fields:
           ChannelFilterDelay: 6
    ChannelFilterCoefficients: [2x16 double]
          NumSamplesProcessed: 600

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

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

ricianchan = comm.RicianChannel('SampleRate',500)
ricianchan = 
  comm.RicianChannel with properties:

                SampleRate: 500
                PathDelays: 0
          AveragePathGains: 0
        NormalizePathGains: true
                   KFactor: 3
    DirectPathDopplerShift: 0
    DirectPathInitialPhase: 0
       MaximumDopplerShift: 1.0000e-03
           DopplerSpectrum: [1x1 struct]

  Show all properties

data = randi([0 1],600,1);

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

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

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

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

Выпустите объект, таким образом, можно обновить атрибуты. Добавьте вторую задержку пути с задержкой 3.1e-3 секунды и средним усилением пути-3 дБ.

release(ricianchan)
ricianchan.PathDelays = [0 3.1e-3];
ricianchan.AveragePathGains = [0 -3]
ricianchan = 
  comm.RicianChannel with properties:

                SampleRate: 500
                PathDelays: [0 0.0031]
          AveragePathGains: [0 -3]
        NormalizePathGains: true
                   KFactor: 3
    DirectPathDopplerShift: 0
    DirectPathInitialPhase: 0
       MaximumDopplerShift: 1.0000e-03
           DopplerSpectrum: [1x1 struct]

  Show all properties

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

ricianchan(data);
info(ricianchan)
ans = struct with fields:
           ChannelFilterDelay: 6
    ChannelFilterCoefficients: [2x16 double]
          NumSamplesProcessed: 600

Используйте 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

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

release(mimo)
mimo.PathDelays = 2.5e-3;
info(mimo)
ans = struct with fields:
           ChannelFilterDelay: 5
    ChannelFilterCoefficients: [1x16 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')

Figure contains an axes. The axes contains 4 objects of type line. These objects represent Continuous, Discontinuous.

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

свернуть все

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

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

свернуть все

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

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

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

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

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

Зависимости

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

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

Объекты

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