Рассеяние канала MIMO
The phased.ScatteringMIMOChannel
Система object™ моделирует многолучевой канал распространения, в котором излучаемые сигналы от передающего массива отражаются от нескольких рассеивателей назад к приёмному массиву. В этом канале пути распространения являются линией зрения от точки к точке. Объект моделирует зависимую от диапазона задержку времени, усиление, доплеровский сдвиг, изменение фазы и атмосферные потери из-за газов, дождя, тумана и облаков.
Модели ослабления для атмосферных газов и дождя действительны для электромагнитных сигналов в частотной области значений от 1 до 1000 ГГц. Модель ослабления для тумана и облаков действительна от 10 до 1000 ГГц. Вне этих областей значений частот объект использует самое близкое допустимое значение.
Чтобы вычислить многолучевое распространение для заданных точек источника и приемника:
Определите и настройте свой рассеивающий канал MIMO с помощью процедуры конструкции. Можно задать свойства объекта System во время конструкции или оставить их по значениям по умолчанию.
Вызовите step
метод вычисления распространенных сигналов с использованием свойств phased.ScatteringMIMOChannel
Системный объект. Вы можете изменить настраиваемые свойства до или после любого вызова step
способ.
Примечание
Вместо использования step
метод для выполнения операции, заданной системным объектом, можно вызвать объект с аргументами, как если бы это была функция. Для примера, y = step(obj,x)
и y = obj(x)
выполнять эквивалентные операции.
channel = phased.ScatteringMIMOChannel
создает рассеивающий MIMO канал распространения Системного объекта, channel
.
channel = phased.ScatteringMIMOChannel(
создает Системный объект, Name
,Value
)channel
, с каждым заданным свойством Name
установить на заданную Value
. Можно задать дополнительные аргументы в виде пар имен и значений в любом порядке как (Name1,Value1
..., NameN,ValueN
).
TransmitArray
- Передающий массивphased.ULA
(по умолчанию) | Phased Array System Toolbox™ объект антенная решетка SystemПередающий массив, заданная как Системный объект антенной решетки Phased Array System Toolbox. Значение по умолчанию для этого свойства является phased.ULA
массив со значениями свойств по умолчанию.
Пример: phased.URA
ReceiveArray
- Приемный массивphased.ULA
(по умолчанию) | объект антенной решетки Phased Array System ToolboxПрием массива, заданный как Системный объект антенной решетки Phased Array System Toolbox. Значение по умолчанию для этого свойства является phased.ULA
массив со значениями свойств по умолчанию.
Пример: phased.URA
PropagationSpeed
- Скорость распространения сигналаphysconst('LightSpeed')
(по умолчанию) | положительная скалярная величинаСкорость распространения сигнала, заданная как положительная скалярная величина. Модули указаны в метрах в секунду. Скорость распространения по умолчанию является значением, возвращаемым physconst('LightSpeed')
. Посмотрите physconst
для получения дополнительной информации.
Пример: 3e8
Типы данных: double
CarrierFrequency
- Частота несущей сигнала300e6
(по умолчанию) | положительный скаляр с реальным значениемЧастота несущей сигнала, заданная как положительный действительный скаляр. Модули указаны в Гц.
Пример: 100e6
Типы данных: double
Polarization
- Конфигурация поляризации'None'
(по умолчанию) | 'Combined'
| 'Dual'
Поляризационные строения, заданные как 'None'
, 'Combined'
, или 'Dual'
. Когда вы устанавливаете это свойство на 'None'
Поле выходом рассматривается как скаляр поле. Когда вы устанавливаете это свойство на 'Combined'
излучаемые поля поляризованы и интерпретируются как один сигнал в присущей датчику поляризации. Когда вы устанавливаете это свойство на 'Dual'
, H и V компоненты поляризации излучаемого поля являются независимыми сигналами.
Пример: 'Dual'
Типы данных: char
SpecifyAtmosphere
- Включите модель атмосферного ослабленияfalse
(по умолчанию) | true
Опция для включения атмосферной модели ослабления, заданная как false
или true
. Установите это свойство на true
добавить ослабление сигнала, вызванное атмосферными газами, дождем, туманом или облаками. Установите это свойство на false
игнорировать атмосферные эффекты при распространении.
Настройка SpecifyAtmosphere
на true
, включает Temperature
, DryAirPressure
, WaterVapourDensity
, LiquidWaterDensity
, и RainRate
свойства.
Типы данных: logical
Temperature
- Температура окружающей среды15
(по умолчанию) | скаляр с реальным значениемТемпература окружающей среды, заданная как действительный скаляр. Модули указаны в степенях Цельсия.
Пример: 20.0
Чтобы включить это свойство, задайте SpecifyAtmosphere
на true
.
Типы данных: double
DryAirPressure
- Атмосферное давление сухого воздуха101.325e3
(по умолчанию) | положительный скаляр с реальным значениемАтмосферное давление сухого воздуха, заданное как положительный реальный скаляр. Модули указаны в паскалях (Pa). Значение по умолчанию этого свойства соответствует одной стандартной атмосфере.
Пример: 101.0e3
Чтобы включить это свойство, задайте SpecifyAtmosphere
на true
.
Типы данных: double
WaterVapourDensity
- Плотность паров воды в атмосфере7.5
(по умолчанию) | положительный скаляр с реальным значениемПлотность атмосферного водяного пара, заданная как положительный реальный скаляр. Модули измерения указаны в г/м3.
Пример: 7.4
Чтобы включить это свойство, задайте SpecifyAtmosphere
на true
.
Типы данных: double
LiquidWaterDensity
- Плотность жидкой воды0.0
(по умолчанию) | неотрицательный скаляр с реальным значениемПлотность жидкой воды тумана или облака, заданная в виде неотрицательного действительного скаляра. Модули измерения указаны в г/м3. Типичные значения плотности жидкой воды: 0,05 для среднего тумана и 0,5 для густого тумана.
Пример: 0.1
Чтобы включить это свойство, задайте SpecifyAtmosphere
на true
.
Типы данных: double
RainRate
- Норма осадков0.0
(по умолчанию) | неотрицательной скаляромНорма осадков, заданная как неотрицательный скаляр. Модули указаны в мм/ч.
Пример: 10.0
Чтобы включить это свойство, задайте SpecifyAtmosphere
на true
.
Типы данных: double
SampleRate
- Частота дискретизации сигнала1e6
(по умолчанию) | положительная скалярная величинаЧастота дискретизации сигнала, заданная как положительная скалярная величина. Модули указаны в Гц. Системный объект использует это количество, чтобы вычислить задержку распространения в единицах измерения выборки.
Пример: 1e6
Типы данных: double
SimulateDirectPath
- Включите распространение вдоль прямого путиfalse
(по умолчанию) | true
Опция для включения распространения сигнала вдоль прямого пути, заданная как false
или true
. Прямой путь является маршрутом видимости от передающего массива к приёмному массиву без рассеяния.
Типы данных: logical
ChannelResponseOutputPort
- Включить выход отклика каналаfalse
(по умолчанию) | true
Опция включения выхода отклика канала, заданная как false
или true
. Установите это свойство на true
для вывода отклика канала и временной задержки при помощи chmatrix
и tau
выходные аргументы step
способ.
Типы данных: logical
MaximumDelaySource
- Источник максимальной задержки'Auto'
(по умолчанию) | 'Property'
Источник максимального значения задержки, заданный как 'Auto'
или 'Property'
. Когда вы устанавливаете это свойство на 'Auto'
канал автоматически выделяет достаточно памяти, чтобы симулировать задержку распространения. Когда вы устанавливаете это свойство на 'Property'
, можно задать максимальную задержку при помощи MaximumDelay
свойство. Сигналы, поступающие после максимальной задержки, игнорируются.
MaximumDelay
- Максимальная задержка сигнала10e-6
(по умолчанию) | положительная скалярная величинаМаксимальная задержка сигнала, заданная как положительная скалярная величина. Задержки, превышающие это значение, игнорируются. Модули указаны в секундах.
Чтобы включить это свойство, установите MaximumDelaySource
свойство к 'Property'
.
Типы данных: double
TransmitArrayMotionSource
- Источник параметров движения передающего массива'Property'
(по умолчанию) | 'Input port'
Источник параметров движения передающего массива, заданный как 'Property'
или 'Input port'
.
Когда вы устанавливаете это свойство на 'Property'
передающий массив является стационарной. Затем можно задать расположение и ориентацию массива с помощью TransmitArrayPosition
и TransmitArrayOrientationAxes
свойства.
Когда вы устанавливаете это свойство на 'Input port'
, задайте местоположение, скорость и ориентацию передающего массива при помощи txpos
, txvel
, и txaxes
входные параметры step
способ.
Типы данных: char
TransmitArrayPosition
- Положение фазового центра передающего массива[0;0;0]
(по умолчанию) | трехэлементный вектор с реальным значениемПоложение центра фазы передающего массива, заданное как действительный трехэлементный вектор в декартовой форме, [x;y;z]
, относительно глобальной системы координат. Модули измерения указаны в метрах.
Пример: [1000;-200;55]
Чтобы включить это свойство, установите TransmitArrayMotionSource
свойство к 'Property'
.
Типы данных: double
TransmitArrayOrientationAxes
- Ориентация передающего массиваeye(3,3)
(по умолчанию) | действительную ортонормальную матрицу 3 на 3Ориентация передающего массива, заданная как действительная ортонормальная матрица 3 на 3. Матрица задает три оси, (x,y,z), которые определяют локальную систему координат массива относительно глобальной системы координат. Матричные столбцы соответствуют осям локальной системы координат массива.
Пример: rotz(45)
Чтобы включить это свойство, установите TransmitArrayMotionSource
свойство к 'Property'
.
Типы данных: double
ReceiveArrayMotionSource
- Источник параметров движения приёмного массива'Property'
(по умолчанию) | 'Input port'
Источник параметров движения приемного массива, заданный как 'Property'
или 'Input port'
.
Когда вы устанавливаете это свойство на 'Property'
, приемный массив является стационарной. Затем можно задать расположение и ориентацию массива при помощи ReceiveArrayPosition
и ReceiveArrayOrientationAxes
свойства.
Когда вы устанавливаете это свойство на 'Input port'
можно задать местоположение, скорость и ориентацию принимающего массива при помощи rxpos
, rxvel
, и rxaxes
входные параметры step
способ.
Типы данных: char
ReceiveArrayPosition
- Положение приёмного массива[0;0;0]
(по умолчанию) | трехэлементный вектор с реальным значениемПоложение центра фазы приемного массива, заданное как действительный трехэлементный вектор в декартовой форме, [x;y;z]
, относительно глобальной системы координат. Модули измерения указаны в метрах.
Пример: [1000;-200;55]
Чтобы включить это свойство, установите ReceiveArrayMotionSource
свойство к 'Property'
.
Типы данных: double
ReceiveArrayOrientationAxes
- Ориентация приёмного массиваeye(3,3)
(по умолчанию) | действительную ортонормальную матрицу 3 на 3Ориентация приёмного массива, заданная как действительная ортонормальная матрица 3 на 3. Матрица задает три оси, (x,y,z), которые определяют локальную систему координат массива относительно глобальной системы координат. Матричные столбцы соответствуют осям локальной системы координат массива.
Пример: roty(60)
Чтобы включить это свойство, установите ReceiveArrayMotionSource
свойство к 'Property'
.
Типы данных: double
ScattererSpecificationSource
- Источник параметров рассеивателя'Auto'
(по умолчанию) | 'Property'
| 'Input port'
Источник параметров рассеивателя, заданный как 'Auto'
, 'Property'
, 'Input port'
.
Когда вы устанавливаете это свойство на 'Auto'
все положения и коэффициенты рассеивателя генерируются случайным образом. Скорости рассеяния равны нулю. Сгенерированные позиции содержатся в области, заданной ScattererPositionBoundary
. Чтобы задать количество рассеивателей, используйте NumScatterers
свойство.
Когда вы устанавливаете это свойство на 'Property'
, можно задать положения рассеивателя при помощи ScattererPosition
свойство и коэффициенты рассеяния при помощи ScattererCoefficient
свойство. Все скорости рассеяния равны нулю.
Когда вы устанавливаете это свойство на 'Input port'
можно задать положения рассеяния, скорости и коэффициенты рассеяния с помощью scatpos
, scatvel
, и scatcoef
входные параметры step
способ.
Пример: 'Input port'
Типы данных: char
NumScatterers
- Количество рассеивателей1
(по умолчанию) | неотрицательное целое числоКоличество рассеивателей, заданное как неотрицательное целое число.
Пример: 9
Чтобы включить это свойство, установите ScattererSpecificationSource
свойство к 'Auto'
.
Типы данных: double
ScattererPositionBoundary
- Контур позиций рассеивателя[0,1000]
(по умолчанию) | вектор с реальным значением 1 на 2 | матрица с реальным значением 3 на 2Контуры положения рассеивателя, заданные как вектор-строка с реальным значением 1 на 2 или матрица с реальным значением 3 на 2. Вектор задает минимум и максимум, [minbdry maxbdry]
, для всех трёх размерностей. Матрица задает контуры во всех трёх размерностях в форме [x_minbdry x_maxbdry;y_minbdry y_maxbdry; z_minbdry z_maxbdry]
.
Пример: [-1000 500;-100 100;-200 0]
Чтобы включить это свойство, установите ScattererSpecificationSource
свойство к 'Auto'
.
Типы данных: double
ScattererPosition
- Положения рассеивателей[0;0;0]
(по умолчанию) | матрицу 3- K байта с реальным значениемПоложения рассеивателей, заданные как действительная 3-бай- K матрица. K - количество рассеивателей. Каждый столбец представляет различный рассеиватель и имеет декартову форму [x;y;z]
относительно глобальной системы координат. Модули измерения указаны в метрах.
Пример: [1050 -100;-300 55;0 -75]
Чтобы включить это свойство, установите ScattererSpecificationSource
свойство к 'Property'
.
Типы данных: double
ScattererCoefficient
- Коэффициенты рассеяния1
(по умолчанию) | комплексный вектор 1-by KКоэффициенты рассеяния, заданные как комплексный вектор 1-бай- K. K - количество рассеивателей. Модули безразмерны.
Пример: 2+1i
Чтобы включить это свойство, установите ScattererSpecificationSource
свойство к 'Property'
.
Типы данных: double
Поддержка комплексного числа: Да
ScatteringMatrix
- Матрицы рассеяния[1 0;0 1]
| комплексный массив 2 на 2-by- N sМатрицы рассеяния рассеивателей, заданные как комплексный массив 2 на 2 by- N s, где N s - количество рассеивателей. Каждая страница этого массива представляет матрицу рассеяния рассеивателя. Каждая матрица рассеяния имеет вид [s_hh s_hv;s_vh s_vv]
. Для примера, компонент s_hv
задает комплексную характеристику рассеяния, когда входной сигнал вертикально поляризован, а отраженный сигнал горизонтально поляризован. Другие компоненты заданы аналогично. Модули указаны в квадратных метрах.
Чтобы включить это свойство, установите ScatteringMatrixSource
свойство к 'Property'
и Polarization
свойство к 'Combined'
или 'Dual'
.
Типы данных: double
Поддержка комплексного числа: Да
ScattererOrientationAxes
- Ориентация рассеивателей[1 0 0;0 1 0;0 0 1]
(по умолчанию) | массив с реальным значением 3 на 3 N сОриентация рассеивателей, заданная как реальный массив 3 на 3 байта N с, где N s - количество рассеивателей. Каждая страница этого массива является ортонормальной матрицей. Матричные столбцы представляют ось локальных координат (x, y, z) рассеивателя относительно глобальной системы координат.
Пример: roty(45)
Чтобы включить это свойство, установите ScatteringMatrixSource
свойство к 'Property'
и Polarization
свойство к 'Combined'
или 'Dual'
.
Типы данных: double
SeedSource
- Источник seed генератора случайных чисел'Auto'
(по умолчанию) | 'Property'
Источник seed генератора случайных чисел, заданный как 'Auto'
или 'Property'
.
Когда вы устанавливаете это свойство на 'Auto'
случайные числа генерируются с помощью MATLAB по умолчанию® генератор случайных чисел.
Когда вы устанавливаете это свойство на 'Property'
объект использует частный генератор случайных чисел с seed, заданным значением Seed
свойство.
Чтобы использовать этот объект с программным обеспечением Parallel Computing Toolbox™, задайте для этого свойства значение 'Auto'
.
Чтобы включить это свойство, установите ScattererSpecificationSource
свойство к 'Auto'
.
Seed
- Начальное значение генератора случайных чисел0
(по умолчанию) | неотрицательное целое числоSeed генератора случайных чисел, заданное как неотрицательное целое число менее 232.
Пример: 5005
Чтобы включить это свойство, установите ScattererSpecificationSource
свойство к 'Auto'
и SeedSource
свойство к 'Property'
.
Типы данных: double
сброс | Сброс состояния Системного объекта |
шаг | Распространите сигналы в рассеянии канала MIMO |
Общий для всех системных объектов | |
---|---|
release | Разрешить изменение значения свойства системного объекта |
Создайте канал 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 на 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
Ослабление или потери пути в рассеивающем канале MIMO состоят из четырех компонентов. L = LfspLgLcLr, где:
Lfsp - ослабление пути свободного пространства.
Lg - ослабление атмосферного пути.
Lc - ослабление тумана и пути облака.
Lr - ослабление дождевого пути.
Каждый компонент находится в модулях величины, а не в дБ.
Когда источник и пункт назначения стационарны относительно друг друга, можно записать выходной сигнал канала свободного пространства как Y(t) = x(t-τ)/Lfsp. Величина τ является задержкой сигнала, и Lfsp является потерями при распространении в свободном пространстве. τ задержки задается R/c, где R - расстояние распространения, а c - скорость распространения. Это потери при распространении в свободном пространстве задаются как
her- длина волны сигнала.
Эта формула принимает, что цель находится в дальнем поле передающего элемента или массива. В ближнем поле формула потерь при распространении в свободном пространстве не действительна и может привести к потере меньше единицы, эквивалентной усилению сигнала. Поэтому потеря устанавливается равной единице для значений области значений, R ≤ λ/4π.
Когда источник и назначение имеют относительное движение, обработка также вводит доплеровский сдвиг частоты. Сдвиг частоты v/λ для одностороннего распространения и 2v/λ для двухстороннего распространения. Количественная v является относительной скоростью места назначения относительно источника.
Для получения дополнительной информации о распространении канала свободного пространства см. [8]
Эта модель вычисляет ослабление сигналов, которые распространяются через атмосферные газы.
Электромагнитные сигналы ослабевают, когда они распространяются через атмосферу. Этот эффект вызван в основном линиями поглощения резонанса кислорода и водяного пара с меньшими вкладами, поступающими от газообразного азота. Модель также включает непрерывный спектр поглощения ниже 10 ГГц. Используется модель МСЭ Рекомендация ITU-R P.676-10: Ослабление атмосферными газами. Модель вычисляет удельное ослабление (ослабление на километр) как функцию от температуры, давления, плотности водяного пара и частоты сигнала. Модель атмосферного газа действительна для частот от 1 до 1000 ГГц и применяется к поляризованным и неполяризованным полям.
Формула для определенного ослабления на каждой частоте является
Количественная N"() является мнимой частью комплексной атмосферной рефрактивности и состоит из спектральной линии компонента и непрерывного компонента:
Спектральный компонент состоит из суммы дискретных членов спектра, состоящих из локализованной функции полосы частот, F(f) i, умноженной на интенсивность спектральной линии, S i. Для атмосферного кислорода каждая спектральная прочность линии
Для атмосферного водяного пара каждая спектральная прочность линии
P - давление сухого воздуха, W - парциальное давление водяного пара, и T - температура окружающей среды. Модули давления находятся в hectoPascals (hPa), а температура в степенях Кельвина. Парциальное давление водяного пара, W, связано с плотностью водяного пара,
Общее атмосферное давление составляет P + W.
Для каждой кислородной линии Si зависит от двух параметров, a1 и a2. Точно так же каждая линия водяного пара зависит от двух параметров, b1 и b2. Документация ITU, приведенная в конце этого раздела, содержит таблицы этих параметров как функций частоты.
Локализованные функции полосы частот Fi(f) являются сложными функциями частоты, описанными в ссылках ITU, цитируемых ниже. Функции зависят от эмпирических параметров модели, которые также сведены в таблицу в ссылке.
Чтобы вычислить общее ослабление для узкополосных сигналов вдоль пути, функция умножает конкретное ослабление на длину пути, R. Затем общее ослабление Lg= R(γo + γw).
Можно применить модель ослабления к широкополосным сигналам. Сначала разделите широкополосный сигнал на частотные поддиапазоны и примените ослабление к каждому поддиапазону. Затем суммируйте все ослабленные поддиапазонные сигналы в полный ослабленный сигнал.
Полное описание этой модели смотрите в [4].
Эта модель вычисляет ослабление сигналов, которые распространяются через туман или облака.
Туман и затухание облака - одно и то же атмосферное явление. Используется модель ITU, Рекомендация ITU-R P.840-6: Ослабление из-за облаков и тумана. Модель вычисляет удельное ослабление (ослабление на километр) сигнала как функцию от плотности жидкости, частоты сигнала и температуры. Модель применяется к поляризованным и неполяризованным полям. Формула для определенного ослабления на каждой частоте является
где M - плотность жидкой воды в г/м3. Величина Kl(f) является определенным коэффициентом ослабления и зависит от частоты. Модель ослабления облака и тумана действует для частот 10-1000 ГГц. Модулями для конкретного коэффициента ослабления являются (дБ/км )/( г/м3).
Чтобы вычислить общее ослабление для узкополосных сигналов вдоль пути, функция умножает конкретное ослабление на R длины пути. Общее ослабление Lc = Rγc.
Можно применить модель ослабления к широкополосным сигналам. Сначала разделите широкополосный сигнал на частотные поддиапазоны и примените узкополосное ослабление к каждому поддиапазону. Затем суммируйте все ослабленные поддиапазонные сигналы в полный ослабленный сигнал.
Полное описание этой модели смотрите [5]
Эта модель вычисляет ослабление сигналов, которые распространяются через области осадков. Затухание дождя является доминирующим механизмом затухания и может варьироваться от места к месту и от года к году.
Электромагнитные сигналы ослабляются при распространении через область осадков. Ослабление осадков вычисляется согласно модели осадков МСЭ Рекомендация ITU-R P.838-3: Специфическая модель ослабления для дождя для использования в методах предсказания. Модель вычисляет удельное ослабление (ослабление на километр) сигнала как функцию скорости осадков, частоты сигнала, поляризации и угла возвышения пути. Конкретное ослабление, ɣ R, моделируется как закон степени относительно скорости дождя
где R - темп дождя. Модули указаны в мм/ч. k параметра и экспонента α зависят от частоты, состояния поляризации и угла возвышения пути сигнала. Специфическая модель ослабления действительна для частот от 1 до 1000 ГГц.
Чтобы вычислить общее ослабление для узкополосных сигналов вдоль пути, функция умножает конкретное ослабление на эффективное расстояние распространения, d eff. Затем общее ослабление составляет L = d eff γ R.
Эффективное расстояние является геометрическим расстоянием, d, умноженным на масштабный коэффициент
где f - частота. Статья Рекомендация ITU-R P.530-17 (12/2017): Данные о распространении и методы предсказания, необходимые для проекта наземных систем видимости, представляют собой полное обсуждение для вычисления ослабления.
Скорость дождя, R, используемая в этих расчетах, является долгосрочной статистической скоростью дождя, R 0,01. Это уровень дождей, который превышает 0,01% времени. Расчет статистической скорости дождя обсуждается в Рекомендации ITU-R P.837-7 (06/2017): Характеристики осадков для моделирования распространения. В этой статье также объясняется, как вычислить ослабление для других процентов от значения 0,01%.
Можно применить модель ослабления к широкополосным сигналам. Сначала разделите широкополосный сигнал на частотные поддиапазоны и примените ослабление к каждому поддиапазону. Затем суммируйте все ослабленные поддиапазонные сигналы в полный ослабленный сигнал.
[1] Heath, R. Jr. et al. «Обзор методов обработки сигналов для MIMO-систем волны миллиметра», arXiv.org:1512.03007 [c.IT], 2015.
[2] Tse, D. and P. Viswanath, Fundamentals of Wireless Communications, Cambridge: Cambridge University Press, 2005.
[3] Paulraj, A. Введение в Space-Time Wireless Communications, Cambridge: Cambridge University Press, 2003.
[4] Сектор радиосвязи Международного объединения электросвязи. Рекомендация ITU-R P.676-10: Ослабление атмосферными газами. 2013.
[5] Сектор радиосвязи Международного объединения электросвязи. Рекомендация ITU-R P.840-6: Ослабление из-за облаков и тумана. 2013.
[6] Сектор радиосвязи Международного объединения электросвязи. Рекомендация ITU-R P.838-3: Специфическая модель ослабления для дождя для использования в методах предсказания. 2005.
[7] Сейболд, Дж. Введение в распространение РФ. Нью-Йорк: Wiley & Sons, 2005.
[8] Skolnik, M. Introduction to Радиолокационные Системы, 3rd Ed. New York: McGraw-Hill, 2001.
Указания и ограничения по применению:
Смотрите Системные объекты в Генерации кода MATLAB (MATLAB Coder).
diagbfweights
| fogpl
| fspl
| gaspl
| rainpl
| rangeangle
| scatteringchanmtx
| waterfill
phased.BackscatterRadarTarget
| phased.FreeSpace
| phased.LOSChannel
| phased.RadarTarget
| twoRayChannel
(Radar Toolbox)У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.