Системный объект: поэтапный. 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.