Характеристическая информация об объекте канала замирания
возвращает структуру, содержащую характеристическую информацию о object™ системы канала замирания.infostruct = info(obj)
Используйте 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 и передайте через него данные с использованием метода sum-of-sinusoids. Пример демонстрирует, как поддерживается состояние канала в случаях, когда данные передаются прерывисто.
Определите общее время моделирования и три временных сегмента, для которых будут передаваться данные. В этом случае канал моделируется в течение 1 с с частотой дискретизации 1000 Гц. Одну 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 channel System с помощью Sum of sinusoids техника затухания. Чтобы результаты можно было повторить, укажите начальное число, используя пару имя-значение. В качестве 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. Данные передаются по всем 1000 отсчетам времени. Для этого примера необходим только комплексный коэффициент усиления тракта.
[~,pg0] = mimoChan1(d0);
Пропускают случайные данные через объект второго канала, mimoChan2, где начальные временные смещения предоставляются в качестве входных аргументов.
[~,pg1] = mimoChan2(d1,0.1); [~,pg2] = mimoChan2(d2,0.4); [~,pg3] = mimoChan2(d3,0.7);
Сравните количество выборок, обработанных двумя каналами с помощью info способ. Можно увидеть, что 1000 проб были обработаны 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)));
Постройте график усиления пути для непрерывных и прерывистых случаев. Обратите внимание, что коэффициенты усиления для трех сегментов идеально соответствуют коэффициенту усиления для непрерывного корпуса. Выравнивание этих двух элементов подчеркивает, что метод суммирования синусоид идеально подходит для моделирования пакетированных данных, поскольку характеристики канала поддерживаются, даже когда данные не передаются.
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')

obj - Системный объект для получения информации изСистемный объект для получения информации, указанный как comm.MIMOChannel, comm.RayleighChannel, или comm.RicianChannel Системный объект.
infostruct - Структура, содержащая информацию об объектеСтруктура, содержащая эти поля с информацией об объекте System.
ChannelFilterDelay - Задержка канального фильтраЗадержка канального фильтра в выборках, возвращаемая как положительное целое число.
ChannelFilterCoefficients - Коэффициенты канального фильтраКоэффициенты канального фильтра, возвращаемые в виде матрицы. Матрица коэффициентов используется для преобразования коэффициентов усиления тракта в коэффициенты усиления отводов канального фильтра для каждой выборки и каждой пары передающих и приемных антенн.
NumSamplesProcessed - Количество выборок, обработанных объектом каналаЧисло выборок, обработанных объектом канала с момента последнего сброса, возвращенных как положительное целое число.
LastFrameTime - Время окончания последнего кадраВремя окончания последнего кадра в секундах, возвращенное как положительный скаляр. Это значение используется для подтверждения времени моделирования.
Это свойство применяется, когда FadingTechnique свойство - 'Sum of sinusoids' и InitialTimeSource свойство - 'Input port'.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.