Системный объект: phased.ScatteringMIMOChannel
Пакет: поэтапный
Распространите сигналы в рассеивании канала MIMO
Примечание
Вместо того, чтобы использовать step
метод, чтобы выполнить операцию, заданную Системой object™, можно вызвать объект с аргументами, как будто это была функция. Например, Y = step(obj,X)
и Y = obj(X)
выполните эквивалентные операции.
использует рассеивающийся канал MIMO, Y
= step(channel
,X
)channel
, распространить сигнал, X
, от массива передачи к нескольким рассеивателям, и возвращает рассеянные сигналы, Y
, к массиву получения.
Чтобы включить этот синтаксис, установите TransmitArrayMotionSource
, ReceiveArrayMotionSource
, и ScattererSpecificationSource
свойства к 'Property'
.
[___] = step(___,
задает положения рассеивателя и скорости и рассеивающиеся коэффициенты.scatpos
,scatvel
,scatcoef
)
Чтобы включить этот синтаксис, установите TransmitArrayMotionSource
и ReceiveArrayMotionSource
свойства к 'Property'
, установите ScattererSpecificationSource
к 'Input port'
, и набор Polarization
свойство к 'None'
.
[___] = step(___,
задает положения рассеивателя, scatpos
,scatvel
,scatmat
,scataxes
)scatpos
, и скорости, scatvel
, матрица рассеяния, scatmat
, и оси ориентации рассеивателя, scataxes
.
Чтобы включить этот синтаксис, установите TransmitArrayMotionSource
и ReceiveArrayMotionSource
свойства к 'Property'
, установите ScattererSpecificationSource
к 'Input port'
, и набор Polarization
свойство к 'Combined'
или 'Dual'
.
[___,
также возвращает матрицу ответа канала, CR
,TAU
]
= step(channel
,___)CR
, и задержки пути к каналу, TAU
, использование любой из предыдущих комбинаций входных аргументов.
Чтобы включить этот синтаксис, установите ChannelResponseOutputPort
свойство к true
и набор Polarization
свойство к 'None'
или 'Combined'
.
[___,
также возвращает матрицы ответа канала, CR_HH
,CR_HV
,CR_VH
,CR_V
,TAU
]
= step(channel
,___)CR_HH
, CR_HV
, CR_VH
, и CR_V
, использование любой из предыдущих комбинаций входных аргументов.
Чтобы включить этот синтаксис, установите ChannelResponseOutputPort
свойство к true
и набор Polarization
свойство к 'Dual'
.
Примечание
Объект выполняет инициализацию в первый раз step
метод выполняется. Эта инициализация блокирует ненастраиваемые свойства и входные технические требования, такие как размерности, сложность и тип данных входных данных. Если вы изменяете ненастраиваемое свойство или входную спецификацию, Системный объект выдает ошибку. Чтобы изменить ненастраиваемые свойства или входные параметры, необходимо сначала вызвать release
метод, чтобы разблокировать объект.
channel
— Рассеивание канала MIMOphased.ScatteringMIMOChannel
Системный объектРассеивание MIMO образовывает канал в виде phased.ScatteringMIMOChannel
Системный объект.
Пример: phased.ScatteringMIMOChannel
X
— Переданный узкополосный сигналПереданный узкополосный сигнал в виде M-by-Nt матрица с комплексным знаком. Количество M является количеством отсчетов в сигнале и Nt, является количеством передачи элементов массива. Каждый столбец представляет сигнал, переданный соответствующим элементом массива.
Размер первой размерности входной матрицы может варьироваться, чтобы симулировать изменяющуюся длину сигнала. Изменение размера может произойти, например, в случае импульсного сигнала с переменной импульсной частотой повторения.
Пример: [1,1;j,1;0.5,0]
Чтобы включить этот аргумент, установите Polarization
свойство к 'None'
или 'Combined'
.
Типы данных: double
Поддержка комплексного числа: Да
XH
— Переданный узкополосный сигнал H-поляризацииПереданный узкополосный H - поляризация сигнализирует в виде M-by-Nt о матрице с комплексным знаком. Количество M является количеством отсчетов в сигнале и Nt, является количеством передачи элементов массива. Каждый столбец представляет сигнал, переданный соответствующим элементом массива.
Размер первой размерности входной матрицы может варьироваться, чтобы симулировать изменяющуюся длину сигнала. Изменение размера может произойти, например, в случае импульсного сигнала с переменной импульсной частотой повторения.
Пример: [1,1;j,1;0.5,0]
Чтобы включить этот аргумент, установите Polarization
свойство к 'Dual'
.
Типы данных: double
Поддержка комплексного числа: Да
XV
— Переданный узкополосный сигнал V-поляризацииПереданный узкополосный V - поляризация сигнализирует в виде M-by-Nt о матрице с комплексным знаком. Количество M является количеством отсчетов в сигнале и Nt, является количеством передачи элементов массива. Каждый столбец представляет сигнал, переданный соответствующим элементом массива.
Размер первой размерности входной матрицы может варьироваться, чтобы симулировать изменяющуюся длину сигнала. Изменение размера может произойти, например, в случае импульсного сигнала с переменной импульсной частотой повторения.
Пример: [1,1;j,1;0.5,0]
Чтобы включить этот аргумент, установите Polarization
свойство к 'Dual'
.
Типы данных: double
Поддержка комплексного числа: Да
txpos
— Положение массива передающей антенныПоложение массива передающей антенны в виде трехэлементного вектор-столбца с действительным знаком, принимающего форму [x;y;z]
. Векторные элементы соответствуют x, y и положениям z массива. Величины в метрах.
Пример: [1000;100;500]
Чтобы включить этот аргумент, установите TransmitArrayMotionSource
свойство к 'Input port'
.
Типы данных: double
txvel
— Скорость массива передающей антенныСкорость массива передающей антенны в виде трехэлементного вектор-столбца с действительным знаком, принимающего форму [vx;vy;vz]
. Векторные элементы соответствуют x, y и скоростям z массива. Модули исчисляются в метрах в секунду.
Пример: [10;0;5]
Чтобы включить этот аргумент, установите TransmitArrayMotionSource
свойство к 'Input port'
.
Типы данных: double
txaxes
— Ориентация осей массива передающей антенныОриентация осей массива передающей антенны в виде 3х3 действительной ортонормированной матрицы с действительным знаком. Матрица задает ориентацию системы локальной координаты массивов относительно глобальных координат. Столбцы матрицы соответствуют направлениям x, y и осей z системы локальной координаты. Модули являются безразмерными.
Пример: rotx(35)
Чтобы включить этот аргумент, установите TransmitArrayMotionSource
свойство к 'Input port'
.
Типы данных: double
rxpos
— Положение массива приемной антенныПоложение массива приемной антенны в виде трехэлементного вектор-столбца с действительным знаком, принимающего форму [x;y;z]
. Векторные элементы соответствуют x, y и положениям z массива. Величины в метрах.
Пример: [1000;100;500]
Чтобы включить этот аргумент, установите ReceiveArrayMotionSource
свойство к 'Input port'
.
Типы данных: double
rxvel
— Скорость массива приемной антенныСкорость массива приемной антенны в виде трехэлементного вектор-столбца с действительным знаком, принимающего форму [vx;vy;vz]
. Векторные элементы соответствуют x, y и скоростям z массива. Модули исчисляются в метрах в секунду.
Пример: [10;0;5]
Чтобы включить этот аргумент, установите ReceiveArrayMotionSource
свойство к 'Input port'
.
Типы данных: double
rxaxes
— Ориентация осей массива приемной антенныОриентация осей массива приемной антенны в виде 3х3 действительной ортонормированной матрицы с действительным знаком. Матрица задает ориентацию системы локальной координаты массивов относительно глобальных координат. Столбцы матрицы соответствуют направлениям x, y и осей z системы локальной координаты. Модули являются безразмерными.
Пример: rotx(35)
Чтобы включить этот аргумент, установите ReceiveArrayMotionSource
свойство к 'Input port'
.
Типы данных: double
scatpos
— Положения рассеивателейПоложения рассеивателей в виде 3 с действительным знаком Ns матрицей. Матрица содержит положения (x,y,z) рассеивателей. Каждый столбец матрицы задает различный рассеиватель и принимает форму [x;y;z]
Величины в метрах.
Пример: [1000;100;500]
Чтобы включить этот аргумент, установите ScattererSpecificationSource
свойство к 'Input port'
.
Типы данных: double
scatvel
— Скорости рассеивателейСкорости рассеивателей в виде 3 с действительным знаком Ns матрицей. Матрица содержит положения (vx,vy,vz) рассеивателей. Каждый столбец матрицы задает различный рассеиватель и принимает форму [vx;vy;vz]
Модули исчисляются в метрах в секунду.
Пример: [1000;100;500]
Чтобы включить этот аргумент, установите ScattererSpecificationSource
свойство к 'Input port'
.
Типы данных: double
scatcoef
— Рассеивание коэффициентовРассеивание коэффициентов в виде 1 с комплексным знаком Nsrow вектором. Каждый векторный элемент задает рассеивающийся коэффициент соответствующего рассеивателя. Модули являются безразмерными.
Пример: [5+3*1i;4+1i;2]
Чтобы включить этот аргумент, установите ScattererSpecificationSource
свойство к 'Input port'
и Polarization
свойство к 'None'
.
Типы данных: double
Поддержка комплексного числа: Да
scatmat
— Матрицы рассеяния
| 2 с комплексным знаком 2 Ns массивомМатрицы рассеяния рассеивателей в виде 2 с комплексным знаком 2 Ns массивом, где N s является количеством рассеивателей. Каждая страница этого массива представляет матрицу рассеяния рассеивателя. Каждая матрица рассеяния имеет форму [s_hh s_hv;s_vh s_vv]
. Например, s_hv
компонента задает комплексный ответ рассеивания, когда входной сигнал вертикально поляризован, и отраженный сигнал горизонтально поляризован. Другие компоненты заданы так же. Модули находятся в квадратных метрах.
Чтобы включить это свойство, установите ScattererSpecificationSource
свойство к 'Input port'
и Polarization
свойство к 'Combined'
или 'Dual'
.
Типы данных: double
Поддержка комплексного числа: Да
scataxes
— Оси ориентации рассеивателяОси ориентации рассеивателя в виде 3 с действительным знаком 3 Ns массивом, где N s является количеством рассеивателей. Каждая страница этого массива представляет матрицу осей ориентации рассеивателя. Столбцы матрицы представляют x - y - и z - оси рассеивателя. Модули являются безразмерными.
Чтобы включить это свойство, установите ScattererSpecificationSource
свойство к 'Input port'
и Polarization
свойство к 'Combined'
или 'Dual'
.
Типы данных: double
Y
— Полученный узкополосный сигналПолученный узкополосный сигнал, возвращенный как M - матрица с комплексным знаком Номером. M является количеством отсчетов в сигнале, и Nr является количеством получения элементов массива. Каждый столбец представляет сигнал, полученный соответствующим элементом массива.
Пример: [1,1;j,1;0.5,0]
Чтобы включить этот аргумент, установите Polarization
свойство к 'None'
или 'Combined'
.
Типы данных: double
Поддержка комплексного числа: Да
YH
— Полученный узкополосный сигнал H-поляризацииПолученный узкополосный H - сигнал поляризации, возвращенный как M с комплексным знаком-by-Nr матрица. M является количеством отсчетов в сигнале, и Nr является количеством получения элементов массива. Каждый столбец представляет сигнал, полученный соответствующим элементом массива.
Пример: [1,1;j,1;0.5,0]
Чтобы включить этот аргумент, установите Polarization
свойство к 'Dual'
.
Типы данных: double
Поддержка комплексного числа: Да
YV
— Полученный узкополосный сигнал V-поляризацииПолученный узкополосный V - сигнал поляризации, возвращенный как M с комплексным знаком-by-Nr матрица. M является количеством отсчетов в сигнале, и Nr является количеством получения элементов массива. Каждый столбец представляет сигнал, полученный соответствующим элементом массива.
Пример: [1,1;j,1;0.5,0]
Чтобы включить этот аргумент, установите Polarization
свойство к 'Dual'
.
Типы данных: double
Поддержка комплексного числа: Да
CR
— Ответ каналаОтвет канала, возвращенный как Nt-by-Nr-by-Nc массив с комплексным знаком.
Nt является количеством передачи элементов массива.
Nr является количеством получения элементов массива.
Когда вы задаете SimulateDirectPath
как false
, Nc = Ns, количество рассеивателей.
Когда вы задаете SimulateDirectPath
как true
, Nc = Ns + 1 с учетом прямого пути.
Каждая страница массива соответствует матрице ответа канала для определенного рассеивателя.
Чтобы включить этот аргумент, установите ChannelResponseOutputPort
свойство к true
и Polarization
свойство к 'None'
или 'Combined'
.
Типы данных: double
Поддержка комплексного числа: Да
CR_HH
— Ответ канала для H-входа H-выходуОтвет канала от входа H-поляризации до H-поляризации выходной параметр, возвращенный как Nt с комплексным знаком-by-Nr-by-Nc массив.
Nt является количеством передачи элементов массива.
Nr является количеством получения элементов массива.
Когда вы задаете SimulateDirectPath
как false
, Nc = Ns, количество рассеивателей.
Когда вы задаете SimulateDirectPath
как true
, Nc = Ns + 1 с учетом прямого пути.
Каждая страница массива соответствует матрице ответа канала для определенного рассеивателя.
Чтобы включить этот аргумент, установите ChannelResponseOutputPort
свойство к true
и Polarization
свойство к 'Dual'
.
Типы данных: double
Поддержка комплексного числа: Да
CR_HV
— Ответ канала для H-входа V-выходуОтвет канала от входа H-поляризации до V-поляризации выходной параметр, возвращенный как Nt с комплексным знаком-by-Nr-by-Nc массив.
Nt является количеством передачи элементов массива.
Nr является количеством получения элементов массива.
Когда вы задаете SimulateDirectPath
как false
, Nc = Ns, количество рассеивателей.
Когда вы задаете SimulateDirectPath
как true
, Nc = Ns + 1 с учетом прямого пути.
Каждая страница массива соответствует матрице ответа канала для определенного рассеивателя.
Чтобы включить этот аргумент, установите ChannelResponseOutputPort
свойство к true
и Polarization
свойство к 'Dual'
.
Типы данных: double
Поддержка комплексного числа: Да
CR_VH
— Ответ канала для V-входа H-выходуОтвет канала от входа V-поляризации до H-поляризации выходной параметр, возвращенный как Nt с комплексным знаком-by-Nr-by-Nc массив.
Nt является количеством передачи элементов массива.
Nr является количеством получения элементов массива.
Когда вы задаете SimulateDirectPath
как false
, Nc = Ns, количество рассеивателей.
Когда вы задаете SimulateDirectPath
как true
, Nc = Ns + 1 с учетом прямого пути.
Каждая страница массива соответствует матрице ответа канала для определенного рассеивателя.
Чтобы включить этот аргумент, установите ChannelResponseOutputPort
свойство к true
и Polarization
свойство к 'Dual'
.
Типы данных: double
Поддержка комплексного числа: Да
CR_VV
— Ответ канала для V-входа V-выходуОтвет канала от входа V-поляризации до V-поляризации выходной параметр, возвращенный как Nt с комплексным знаком-by-Nr-by-Nc массив.
Nt является количеством передачи элементов массива.
Nr является количеством получения элементов массива.
Когда вы задаете SimulateDirectPath
как false
, Nc = Ns, количество рассеивателей.
Когда вы задаете SimulateDirectPath
как true
, Nc = Ns + 1 с учетом прямого пути.
Каждая страница массива соответствует матрице ответа канала для определенного рассеивателя.
Чтобы включить этот аргумент, установите ChannelResponseOutputPort
свойство к true
и Polarization
свойство к 'Dual'
.
Типы данных: double
Поддержка комплексного числа: Да
TAU
— Задержки путиЗадержки пути, возвращенные как 1 NC вектором с действительным знаком. Каждый элемент соответствует задержке пути от центра фазы передачи массивов до рассеивателя и затем к центру фазы получения массивов.
Когда вы задаете SimulateDirectPath
как false
, Nc = Ns, количество рассеивателей.
Когда вы задаете SimulateDirectPath
как true
, Nc = Ns + 1 с учетом прямого пути.
Чтобы включить этот аргумент, установите ChannelResponseOutputPort
свойство к true
.
Типы данных: double
Создайте 30 каналов GHz MIMO со случайными рассеивателями. Сценарий содержит стационарную передачу с 21 элементом массив ULA и стационарное получение с 15 элементами массив ULA. Передающие антенны имеют ответы косинуса, и приемные антенны являются изотропными. Интервал элемента для обоих массивов меньше половины длины волны. Канал имеет 50 случайным образом сгенерированных статических рассеивателей в заданной ограничительной рамке. Массив передачи расположен в [0; 20; 50] метры и получить массив расположен в [200; 10; 10] метры. Вычислите распространенный сигнал через этот канал. Частота дискретизации для сигнала составляет 10 МГц.
fc = 30e9; c = physconst('LightSpeed'); lambda = c/fc; fs = 10e6; txarray = phased.ULA('Element',phased.CosineAntennaElement,... 'NumElements',21,'ElementSpacing',0.45*lambda); rxarray = phased.ULA('Element',phased.IsotropicAntennaElement,... 'NumElements',15,'ElementSpacing',0.45*lambda); channel = phased.ScatteringMIMOChannel('TransmitArray',txarray,... 'ReceiveArray',rxarray,'PropagationSpeed',c,'CarrierFrequency',fc,... 'SampleRate',fs,'TransmitArrayPosition',[0;20;50],... 'ReceiveArrayPosition',[200;10;10],'NumScatterers',50,... 'ScattererPositionBoundary',[10 180; -30 30; -30 30]);
Создайте случайный сигнал данных единиц и нулей для каждого передатчика.
x = randi(2,[100 21]) - 1;
Вычислите полученные сигналы после распространения через канал.
y = channel(x);
Создайте канал MIMO, содержащий 3 фиксированных рассеивателя. Сценарий содержит передачу с 21 элементом массив ULA, действующий на уровне 72 ГГц и получение с 15 элементами массив ULA. Элементы передачи имеют формы ответа косинуса, и приемные антенны являются изотропными. Только передающая антенна перемещается. Интервал элемента для обоих массивов меньше половины длины волны. Массив передачи запускается в (0,20,50) метры и двигает приемник на уровне 2 м/с. Массив получения расположен в (200,10,10) метры. Вычислите распространенный сигнал через этот канал. Частота дискретизации для сигнала составляет 10 МГц.
fc = 72e9; c = physconst('LightSpeed'); lambda = c/fc; fs = 10e6; txplatform = phased.Platform('MotionModel','Velocity','InitialPosition', ... [0;20;50],'Velocity',[2;0;0]); txarray = phased.ULA('Element',phased.CosineAntennaElement, ... 'NumElements',21,'ElementSpacing',0.45*lambda); rxarray = phased.ULA('Element',phased.IsotropicAntennaElement, ... 'NumElements',15,'ElementSpacing',0.45*lambda); channel = phased.ScatteringMIMOChannel('TransmitArray',txarray, ... 'ReceiveArray',rxarray,'PropagationSpeed',c,'CarrierFrequency',fc,... 'SampleRate',fs,'TransmitArrayMotionSource','Input port', ... 'ReceiveArrayMotionSource','Property','ReceiveArrayPosition',[200;10;10],... 'ReceiveArrayOrientationAxes',rotz(180),... 'ScattererSpecificationSource','Property','ScattererPosition', ... [75 100 120; -10 20 12; 5 -5 8],'ScattererCoefficient',[1i,2+3i,-1+1i]);
Переместите платформы для двух временных шагов во вторых интервалах. В течение каждого раза экземпляр:
Создайте случайный сигнал данных единиц и нулей для каждого элемента передатчика.
Переместите передатчик и приемник. Ориентации фиксируются.
Распространите сигналы от передатчиков до рассеивателей к приемнику.
for k =1:2 x = randi(2,[100 21]) - 1; [txpos,txvel] = txplatform(1); txaxes = eye(3); y = channel(x,txpos,txvel,txaxes); end
Создайте канал MIMO, содержащий 3 фиксированных рассеивателя. Сценарий содержит передачу с 21 элементом массив ULA и получение с 15 элементами массив ULA. Оба массива действуют на уровне 72 ГГц. Элементы передачи имеют формы ответа косинуса, и приемные антенны являются изотропными. Только приемная антенна перемещается. Интервал элемента для обоих массивов меньше половины длины волны. Массив передачи расположен в (0,20,50) метры. Массив получения запускается в (200,10,10) метры и перемещается к передатчику в 2 м/с. Вычислите распространенный сигнал через этот канал. Частота дискретизации для сигнала составляет 10 МГц.
fc = 72e9; c = physconst('LightSpeed'); lambda = c/fc; fs = 10e6; rxplatform = phased.Platform('MotionModel','Velocity','InitialPosition',... [200;10;10],'Velocity',[-2;0;0]); txarray = phased.ULA('Element',phased.CosineAntennaElement, ... 'NumElements',21,'ElementSpacing',0.45*lambda); rxarray = phased.ULA('Element',phased.IsotropicAntennaElement, ... 'NumElements',15,'ElementSpacing',0.45*lambda); channel = phased.ScatteringMIMOChannel('TransmitArray',txarray, ... 'ReceiveArray',rxarray,'PropagationSpeed',c,'CarrierFrequency',fc, ... 'SampleRate',fs,'TransmitArrayMotionSource','Property',... 'TransmitArrayPosition',[0;20;50],'TransmitArrayOrientationAxes',eye(3,3), ... 'ReceiveArrayMotionSource','Input port','ScattererSpecificationSource', ... 'Property','ScattererPosition',[75 100 120; -10 20 12; 5 -5 8], ... 'ScattererCoefficient',[1i,2+3i,-1+1i],'SpecifyAtmosphere',false);
Переместите платформы для двух временных шагов во вторых интервалах. В течение каждого раза экземпляр:
Создайте случайный сигнал данных единиц и нулей для каждого элемента передатчика.
Переместите передатчик и приемник. Зафиксируйте ориентации массивов.
Распространите сигналы от передатчиков до рассеивателей к приемнику.
for k =1:2 x = randi(2,[100 21]) - 1; [rxpos,rxvel] = rxplatform(1); rxaxes = rotz(45); y = channel(x,rxpos,rxvel,rxaxes); end
Создайте канал MIMO, содержащий 3 движущихся рассеивателя. Сценарий содержит передачу с 21 элементом массив ULA и получение с 15 элементами массив ULA. Оба массива действуют на уровне 72 ГГц. Элементы передачи имеют ответы косинуса, и приемные антенны являются изотропными. Интервал элемента для обоих массивов меньше половины длины волны. Массив передачи расположен в (0,20,50) метры. Массив получения расположен в (200,10,10) метры. Вычислите распространенный сигнал через этот канал. Частота дискретизации для сигнала составляет 10 МГц. Получите матрицу ответа канала и задержки.
fc = 30e9; c = physconst('LightSpeed'); lambda = c/fc; fs = 10e6; txarray = phased.ULA('Element',phased.CosineAntennaElement, ... 'NumElements',21,'ElementSpacing',0.45*lambda); rxarray = phased.ULA('Element',phased.IsotropicAntennaElement, ... 'NumElements',15,'ElementSpacing',0.45*lambda); channel = phased.ScatteringMIMOChannel('TransmitArray',txarray, ... 'ReceiveArray',rxarray,'PropagationSpeed',c,'CarrierFrequency',fc, ... 'SampleRate',fs,'TransmitArrayPosition',[0;20;50], ... 'ReceiveArrayPosition',[200;10;10],'ScattererSpecificationSource','Input port', ... 'ChannelResponseOutputPort',true);
Создайте случайный сигнал данных единиц и нулей для каждого передатчика.
x = randi(2,[100 21]) - 1;
Вычислите полученные сигналы после распространения через канал. Также возвратите матрицу канала и задержки.
scatpos = [75 100 120; -10 20 12; 5 -5 8]; scatvel = [0 0.5 0; -0.1 1.2 0.04; .05 -0.45 0.8]; scatcoef = [1i,2+3i,-1+1i]; [y,chmat,delays] = channel(x,scatpos,scatvel,scatcoef);
Отобразите размерности матрицы канала.
size(chmat)
ans = 1×3
21 15 3
Отобразите задержки в микросекундах.
delays*1e6
ans = 1×3
0.7310 0.7196 0.6919
Создайте канал MIMO на уровне 30 ГГц с массивом передачи с 16 элементами, и с 64 элементами получают массив. Примите, что элементами являются антенны короткого диполя, и массивы являются универсальными линейными матрицами. Массив передачи расположен в [0; 0; 50] метры.
Получить массив имеет исходное положение в [200; 0; 0] метры и перемещаются со скоростью [10; 0; 0] метры/секунда. Существует 200 статических рассеивателей, случайным образом расположенных на xy плоскости в квадрате, сосредоточенном в [200; 0; 0] и с длиной стороны 100 метров.
Используйте канал, чтобы вычислить распространенный поляризованный сигнал. Примите, что частота дискретизации для сигнала составляет 10 МГц, и длина системы координат является 1 000 выборок. Соберите 5 систем координат полученного сигнала.
fc = 30e9; c = 3e8; lambda = c/fc; fs = 10e6; txarray = phased.ULA('Element',phased.ShortDipoleAntennaElement,... 'NumElements',16,'ElementSpacing',lambda/2); rxarray = phased.ULA('Element',phased.ShortDipoleAntennaElement,... 'NumElements',64,'ElementSpacing',lambda/2); Ns = 200; scatpos = [100*rand(1,Ns) + 150; 100*rand(1,Ns) + 150; zeros(1,Ns)]; temp = randn(1,Ns) + 1i*randn(1,Ns); scatcoef = repmat(eye(2),1,1,Ns).*permute(temp,[1 3 2]); scatax = repmat(eye(3),1,1,Ns); Nframesamp = 1000; Tframe = Nframesamp/fs; rxmobile = phased.Platform('InitialPosition',[200;0;0],... 'Velocity',[10;0;0],'OrientationAxesOutputPort',true); chan = phased.ScatteringMIMOChannel(... 'TransmitArray',txarray,... 'ReceiveArray',rxarray,... 'PropagationSpeed',c,... 'CarrierFrequency',fc,... 'SampleRate',fs,... 'Polarization','Dual',... 'TransmitArrayPosition',[0;0;50],... 'ReceiveArrayMotionSource','Input port',... 'ScattererSpecificationSource','Property',... 'ScattererPosition',scatpos,... 'ScatteringMatrix',scatcoef,... 'ScattererOrientationAxes',scatax); xh = randi(2,[Nframesamp 16])-1; xv = randi(2,[Nframesamp 16])-1; for m = 1:5 [rxpos,rxvel,rxax] = rxmobile(Tframe); [yh,yv] = chan(xh,xv,rxpos,rxvel,rxax); end
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.