Системный объект: поэтапный. ScatteringMIMOChannel
Пакет: поэтапный
Распространение сигналов в канале MIMO с рассеянием
[___, CR _ HH, CR _ HV, CR _ VH, CR _ V, TAU] = шаг (канал, ___)Примечание
Вместо использования 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 комплекснозначная матрица. Величина М - количество выборок в сигнале, а Nt - количество передающих элементов матрицы. Каждый столбец представляет сигнал, передаваемый соответствующим элементом матрицы.
Размер первого размера входной матрицы может изменяться для моделирования изменения длины сигнала. Изменение размера может происходить, например, в случае формы импульса с переменной частотой повторения импульса.
Пример: [1,1;j,1;0.5,0]
Чтобы включить этот аргумент, установите Polarization свойство для 'None' или 'Combined'.
Типы данных: double
Поддержка комплексного номера: Да
XH - Передаваемый узкополосный сигнал H-поляризацииПередаваемый узкополосный сигнал H-поляризации, определяемый как M-by-Nt комплекснозначная матрица. Величина М - количество выборок в сигнале, а Nt - количество передающих элементов матрицы. Каждый столбец представляет сигнал, передаваемый соответствующим элементом матрицы.
Размер первого размера входной матрицы может изменяться для моделирования изменения длины сигнала. Изменение размера может происходить, например, в случае формы импульса с переменной частотой повторения импульса.
Пример: [1,1;j,1;0.5,0]
Чтобы включить этот аргумент, установите Polarization свойство для 'Dual'.
Типы данных: double
Поддержка комплексного номера: Да
XV - Передаваемый узкополосный сигнал V-поляризацииПередаваемый узкополосный сигнал V-поляризации, определяемый как M-by-Nt комплекснозначная матрица. Величина М - количество выборок в сигнале, а 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-by-Ns. Матрица содержит (x, y, z) положения рассеивателей. Каждый столбец матрицы определяет разный рассеиватель и принимает вид[x;y;z]. Единицы в метрах.
Пример: [1000;100;500]
Чтобы включить этот аргумент, установите ScattererSpecificationSource свойство для 'Input port'.
Типы данных: double
scatvel - Скорости рассеивателейСкорости рассеивателей, определяемые как вещественно-значная матрица 3-by-Ns. Матрица содержит (vx, vy, vz) положения рассеивателей. Каждый столбец матрицы определяет разный рассеиватель и принимает вид[vx;vy;vz] Единицы измерения в метрах в секунду.
Пример: [1000;100;500]
Чтобы включить этот аргумент, установите ScattererSpecificationSource свойство для 'Input port'.
Типы данных: double
scatcoef - Коэффициенты рассеянияКоэффициенты рассеяния, заданные как вектор 1-by-Nsrow с комплексными значениями. Каждый векторный элемент определяет коэффициент рассеяния соответствующего рассеивателя. Единицы измерения безразмерны.
Пример: [5+3*1i;4+1i;2]
Чтобы включить этот аргумент, установите ScattererSpecificationSource свойство для 'Input port' и Polarization свойство для 'None'.
Типы данных: double
Поддержка комплексного номера: Да
scatmat - Матрицы рассеяния[1 0;0 1] | массив 2-by-2-by-Ns с комплексным значениемМатрицы рассеяния рассеивателей, заданные как матрица 2-by-2-by-Ns с комплексными значениями, где Ns - число рассеивателей. Каждая страница этого массива представляет матрицу рассеяния рассеивателя. Каждая матрица рассеяния имеет вид [s_hh s_hv;s_vh s_vv]. Например, компонент s_hv задает отклик комплексного рассеяния, когда входной сигнал является вертикально поляризованным, а отраженный сигнал - горизонтально поляризованным. Другие компоненты определяются аналогично. Единицы в квадратных метрах.
Чтобы включить это свойство, установите значение ScattererSpecificationSource свойство для 'Input port' и Polarization свойство для 'Combined' или 'Dual'.
Типы данных: double
Поддержка комплексного номера: Да
scataxes - Оси ориентации рассеивателяОси ориентации рассеивателя, заданные как массив вещественных 3-by-3-by-Ns, где Ns - число рассеивателей. Каждая страница этого массива представляет матрицу осей ориентации рассеивателя. Столбцы матрицы представляют оси x, y и z рассеивателя. Единицы измерения безразмерны.
Чтобы включить это свойство, установите значение ScattererSpecificationSource свойство для 'Input port' и Polarization свойство для 'Combined' или 'Dual'.
Типы данных: double
Y - Принятый узкополосный сигналПринятый узкополосный сигнал, возвращаемый как M-на-Nr комплекснозначная матрица. 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-by-NC действительный вектор. Каждый элемент соответствует временной задержке пути от фазового центра передающего массива к рассеивателю, а затем к фазовому центру принимающего массива.
При указании SimulateDirectPath как false, Nc = Ns, число рассеивателей.
При указании SimulateDirectPath как true, Nc = Ns + 1 для учета прямого пути.
Чтобы включить этот аргумент, установите ChannelResponseOutputPort свойство для true.
Типы данных: double
Создайте MIMO-канал с частотой 30 ГГц со случайными рассеивателями. Сценарий содержит стационарный 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 МГц, а длина кадра - 1000 выборок. Соберите 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.