Пропустите входной сигнал через многопутевой Канал с релеевским замиранием
comm.RayleighChannel
Система object™ пропускает входной сигнал через многопутевой Канал с релеевским замиранием. Для получения дополнительной информации об исчезающей обработке модели смотрите Методологию для Симуляции Многопутевых Исчезающих Каналов.
Отфильтровать входной сигнал с помощью многопутевого Канала с релеевским замиранием:
Создайте comm.RayleighChannel
объект и набор его свойства.
Вызовите объект с аргументами, как будто это была функция.
Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?.
создает выборочный частотой или плоский частотой многопутевой Системный объект Канала с релеевским замиранием. Этот объект пропускает действительный или комплексный входной сигнал через многопутевой канал, чтобы получить поврежденный каналом сигнал.rayleighchan
= comm.RayleighChannel
свойства наборов с помощью одного или нескольких аргументов пары "имя-значение". Заключите каждое имя свойства в кавычки. Например, rayleighchan
= comm.RayleighChannel(Name,Value)коммуникация. RayleighChannel ('
устанавливает частоту дискретизации входного сигнала на 2.SampleRate
',2)
Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и release
функция разблокировала их.
Если свойство является настраиваемым, можно изменить его значение в любое время.
Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.
SampleRate
— Частота дискретизации входного сигнала
(значение по умолчанию) | положительная скалярная величинаЧастота дискретизации входного сигнала в Гц в виде положительной скалярной величины.
Типы данных: double
PathDelays
— Дискретная задержка пути
(значение по умолчанию) | скаляр | вектор-строкаДискретная задержка пути в секундах в виде скалярного или вектора-строки.
Когда PathDelays
скаляр, канал является плоской частотой.
Когда PathDelays
вектор, канал является выборочной частотой.
Типы данных: double
AveragePathGains
— Среднее значение дискретных путей
(значение по умолчанию) | скаляр | вектор-строкаСредние усиления дискретных путей в децибелах в виде скалярного или вектора-строки. AveragePathGains
должен быть одного размера с PathDelays
свойство.
Типы данных: double
NormalizePathGains
— Нормируйте средние усиления пути к 0 дБtrue
или 1
(значение по умолчанию) | false
или 0
Нормируйте средние усиления пути к 0 дБ в виде логического 1
TRUE
) или 0
ложь
).
Когда NormalizePathGains
true
, процессы исчезновения нормированы так, чтобы общая степень усилений пути, усредняемых в зависимости от времени, составила 0 дБ.
Когда NormalizePathGains
false
, общая степень усилений пути не нормирована.
Типы данных: логический
MaximumDopplerShift
— Максимальный эффект Доплера для всех путей к каналу
(значение по умолчанию) | неотрицательный скалярМаксимальный эффект Доплера для всех путей к каналу в виде неотрицательного скаляра. Модули находятся в герц.
Максимальный предел эффекта Доплера применяется к каждому пути к каналу. Когда вы устанавливаете это свойство на 0
, канал остается статическим для целого входа. Можно использовать reset
возразите функции, чтобы сгенерировать новую реализацию канала. MaximumDopplerShift
значение свойства должно быть меньшим, чем SampleRate
/10/fc для каждого пути. f c представляет фактор частоты среза пути. Для большинства Доплеровских типов спектра значение f c равняется 1. Для Гауссовых и biGaussian Доплеровских типов спектра f c зависит от Доплеровских полей структуры спектра. Для получения дополнительной информации о том, как f c задан, смотрите Фактор Частоты среза.
Типы данных: double
DopplerSpectrum
— Доплеровский спектр формирует для всех путей к каналуdoppler('Jakes')
(значение по умолчанию) | Доплеровская структура спектра | 1 NP массивом ячеек Доплеровских структур спектраДоплеровский спектр формирует для всех путей к каналу в виде Доплеровской структуры спектра или 1 NP массивом ячеек Доплеровских структур спектра. Этими Доплеровскими структурами спектра должны быть выходные параметры формы, возвращенной из doppler
функция. N P является количеством дискретных путей к задержке, то есть, длины PathDelays
свойство.
Когда DopplerSpectrum
задан одной Доплеровской структурой спектра, все пути имеют заданный Доплеровский спектр того же самого.
Когда DopplerSpectrum
задан массивом ячеек Доплеровских структур спектра, каждому пути задала Доплеровский спектр соответствующая структура в массиве ячеек.
Опции для типа спектра заданы specType
введите к doppler
функция. Если вы устанавливаете FadingTechnique
свойство к 'Sum of sinusoids'
, необходимо установить DopplerSpectrum
к doppler('Jakes')
.
Чтобы включить это свойство, установите MaximumDopplerShift
свойство к положительному значению. MaximumDopplerShift
свойство задает максимальное значение эффекта Доплера, разрешенное при определении Доплеровского спектра.
Типы данных: struct |
cell
FadingTechnique
— Модель канала исчезающий метод'Filtered Gaussian noise'
(значение по умолчанию) | 'Sum of sinusoids'
Модель канала исчезающий метод в виде 'Filtered Gaussian noise'
или 'Sum of sinusoids'
.
Типы данных: char |
string
NumSinusoids
— Количество синусоид используется
(значение по умолчанию) | положительное целое числоКоличество синусоид раньше моделировало процесс исчезновения в виде положительного целого числа.
Чтобы включить это свойство, установите FadingTechnique
свойство к 'Sum of sinusoids'
.
Типы данных: double
InitialTimeSource
— Источник, чтобы управлять временем начала исчезающего процесса'Property'
(значение по умолчанию) | 'Input port'
Источник, чтобы управлять временем начала процесса исчезновения в виде 'Property'
или 'Input port'
.
Когда InitialTimeSource
установлен в 'Property'
, используйте InitialTime
свойство установить начальное смещение времени.
Когда InitialTimeSource
установлен в 'Input port'
, задайте время начала процесса исчезновения при помощи itime
введите к Системному объекту. Входное значение может измениться в последовательных вызовах Системного объекта.
Чтобы включить это свойство, установите FadingTechnique
свойство к 'Sum of sinusoids'
.
Типы данных: string
| char
InitialTime
— Начальное время возмещено
(значение по умолчанию) | неотрицательный скалярНачальное смещение времени, в секундах, для исчезающей модели в виде неотрицательного скаляра. InitialTime
должен быть больше времени окончания последней системы координат. InitialTime
окружен к самой близкой демонстрационной позиции, когда это не кратное 1/SampleRate
.
Чтобы включить это свойство, установите FadingTechnique
свойство к 'Sum of sinusoids'
и InitialTimeSource
свойство к 'Property'
.
Типы данных: double
RandomStream
— Источник потока случайных чисел'Global stream'
(значение по умолчанию) | 'mt19937ar with seed'
Источник потока случайных чисел в виде 'Global stream'
или 'mt19937ar with seed'
.
'Global stream'
— Текущий глобальный поток случайных чисел используется для нормально распределенной генерации случайных чисел. В этом случае, reset
возразите, что функция сбрасывает фильтры канала только.
'mt19937ar with seed'
— mt19937ar алгоритм используется для нормально распределенной генерации случайных чисел. В этом случае, reset
возразите, что функция сбрасывает фильтры канала и повторно инициализирует поток случайных чисел к значению Seed
свойство.
Типы данных: string
| char
Seed
— Начальный seed mt19937ar потока случайных чисел
(значение по умолчанию) | неотрицательное целое числоНачальный seed mt19937ar потокового алгоритма генератора случайных чисел в виде неотрицательного целого числа. Когда reset
объектная функция вызвана, mt19937ar поток случайных чисел повторно инициализируется к Seed
значение свойства.
Чтобы включить это свойство, установите RandomStream
свойство к 'mt19937ar with seed'
.
Типы данных: double
PathGainsOutputPort
— Опция к выходным path усилениямfalse
или 0
(значение по умолчанию) | true
или 1
Опция к выходу path получает в виде 0
ложь
) или 1
TRUE
). Установите это свойство на 1
TRUE
) выводить усиления пути к каналу базового процесса исчезновения.
Типы данных: логический
Visualization
— Визуализация канала'Off'
(значение по умолчанию) | 'Impulse response'
| 'Frequency response'
| 'Impulse and frequency responses'
| 'Doppler spectrum'
Визуализация канала в виде 'Off'
, 'Impulse response'
, 'Frequency response'
, 'Impulse and frequency responses'
, или 'Doppler spectrum'
. Для получения дополнительной информации смотрите Визуализацию Канала.
Типы данных: string
| char
SamplesToDisplay
— Процент выборок, чтобы отобразиться
(значение по умолчанию) | '10%'
| '50%'
| '100%'
Процент выборок, чтобы отобразиться в виде '25%'
, '10%', '50%'
, или
'100%'
. Отображение меньшего количества выборок улучшается (уменьшает) частоту обновления отображения за счет уменьшения визуализируемой точности.
Чтобы включить это свойство, установите Visualization
свойство к 'Impulse response'
, 'Frequency response'
, или 'Impulse and frequency responses'
.
Типы данных: string
| char
PathsForDopplerDisplay
— Путь для Доплеровского отображения
(значение по умолчанию) | положительное целое число Путь для Доплера отображается в виде положительного целого числа. Используйте это свойство выбрать дискретный путь, используемый в построении Доплеровского графика спектра. Заданный путь должен быть элементом {1, 2..., N P}. В этом наборе N P является количеством дискретных путей к задержке, то есть, длины PathDelays
значение свойства.
Чтобы включить это свойство, установите Visualization
свойство к 'Doppler spectrum'
.
Типы данных: double
x
— Входной сигналВходной сигнал в виде вектора S-1 N, где N S является количеством выборок.
Типы данных: single
| double
Поддержка комплексного числа: Да
itime
— Начальное время
| неотрицательный скалярНачальное время в секундах в виде неотрицательного скаляра. itime
введите должен быть больше времени окончания последней системы координат. Когда itime
не кратное 1/SampleRate
, это окружено к самой близкой демонстрационной позиции.
Типы данных: single
| double
y
— Выходной сигналВыходной сигнал, возвращенный как вектор S-1 N из комплексных чисел с той же точностью данных как входной сигнал x
. N S является количеством выборок.
pathgains
— Усиления путиУсиления пути, возвращенные как массив S-by-NP N. N S является количеством выборок. N P является количеством дискретных путей к задержке, то есть, длины PathDelays
значение свойства. pathgains
содержит комплексные числа с той же точностью как входной сигнал x
.
Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj
, используйте этот синтаксис:
release(obj)
comm.RayleighChannel
info | Характеристическая информация об исчезающем объекте канала |
В этом примере показано, как произвести тот же многопутевой ответ Канала с релеевским замиранием при помощи двух различных методов для генерации случайных чисел. Многопутевая Система Канала с релеевским замиранием object™ включает два метода для генерации случайных чисел. Можно использовать текущий глобальный поток или mt19937ar алгоритм с заданным seed. Путем взаимодействия с глобальным потоком Системный объект может произвести те же выходные параметры из этих двух методов.
Создайте Системный объект модулятора PSK, чтобы модулировать случайным образом сгенерированные данные.
pskModulator = comm.PSKModulator; channelInput = pskModulator(randi([0 pskModulator.ModulationOrder-1],1024,1));
Создайте многопутевой Системный объект Канала с релеевским замиранием, задав метод генерации случайных чисел как my19937ar алгоритм и seed случайных чисел как 22.
rayleighchan = comm.RayleighChannel(... 'SampleRate',10e3, ... 'PathDelays',[0 1.5e-4], ... 'AveragePathGains',[2 3], ... 'NormalizePathGains',true, ... 'MaximumDopplerShift',30, ... 'DopplerSpectrum',{doppler('Gaussian',0.6),doppler('Flat')}, ... 'RandomStream','mt19937ar with seed', ... 'Seed',22, ... 'PathGainsOutputPort',true);
Отфильтруйте модулируемые данные при помощи многопутевого Системного объекта Канала с релеевским замиранием.
[chanOut1,pathGains1] = rayleighchan(channelInput);
Установите Системный объект использовать глобальный поток для генерации случайных чисел.
release(rayleighchan);
rayleighchan.RandomStream = 'Global stream';
Установите глобальный поток иметь тот же seed, который был задан при создании многопутевого Системного объекта Канала с релеевским замиранием.
rng(22)
Отфильтруйте модулируемые данные при помощи многопутевого Системного объекта Канала с релеевским замиранием снова.
[chanOut2,pathGains2] = rayleighchan(channelInput);
Проверьте, что канал и усиление пути выходные параметры является тем же самым для каждого из этих двух методов.
isequal(chanOut1,chanOut2)
ans = logical
1
isequal(pathGains1,pathGains2)
ans = logical
1
В этом примере показано, как создать выборочный частотой многопутевой Системный объект Канала с релеевским замиранием и отобразить его импульсные и частотные характеристики.
Установите частоту дискретизации на 3,84 МГц. Задайте задержки пути и усиления при помощи настройки B-канала пешехода ITU. Установите максимальный эффект Доплера на 50 Гц.
fs = 3.84e6; % Hz pathDelays = [0 200 800 1200 2300 3700]*1e-9; % sec avgPathGains = [0 -0.9 -4.9 -8 -7.8 -23.9]; % dB fD = 50; % Hz
Создайте многопутевой Системный объект Канала с релеевским замиранием при помощи ранее заданных свойств и визуализировать импульсную характеристику и графики частотных характеристик.
rayleighchan = comm.RayleighChannel('SampleRate',fs, ... 'PathDelays',pathDelays, ... 'AveragePathGains',avgPathGains, ... 'MaximumDopplerShift',fD, ... 'Visualization','Impulse and frequency responses');
Сгенерируйте случайные двоичные данные и передайте его через многопутевой Канал с релеевским замиранием. График импульсной характеристики позволяет вам идентифицировать отдельные пути и их соответствующие коэффициенты фильтра. График частотной характеристики показывает выборочную частотой природу B-канала пешехода ITU.
x = randi([0 1],1000,1); y = rayleighchan(x);
Пример показывает, как состояние канала обеспечено в случаях, в которых с перерывами передаются данные. Создайте многопутевой Системный объект Канала с релеевским замиранием и передайте данные через них с помощью метода суммы синусоид.
Установите свойства канала.
fs = 1000; % Sample rate (Hz) pathDelays = [0 2.5e-3]; % Path delays (s) pathPower = [0 -6]; % Path power (dB) fD = 5; % Maximum Doppler shift (Hz) ns = 1000; % Number of samples nsdel = 100; % Number of samples for delayed paths
Задайте полное время симуляции и в три раза сегменты, для которых должны быть переданы данные. В этом случае канал симулирован в течение 1 с с частотой дискретизации на 1 000 Гц. Одна последовательность текущих данных с 1000 выборками передается во время 0. Три пакета с 100 выборочными данными время от времени передаются 0,1 с, 0,4 с и 0,7 с, соответственно.
to0 = 0.0; to1 = 0.1; to2 = 0.4; to3 = 0.7; t0 = (to0:ns-1)/fs; % Transmission 0 t1 = to1+(0:nsdel-1)/fs; % Transmission 1 t2 = to2+(0:nsdel-1)/fs; % Transmission 2 t3 = to3+(0:nsdel-1)/fs; % Transmission 3
Сгенерируйте случайные двоичные данные, соответствующие ранее заданным временным интервалам.
d0 = randi([0 1],ns,1); d1 = randi([0 1],nsdel,1); d2 = randi([0 1],nsdel,1); d3 = randi([0 1],nsdel,1);
Создайте плоский частотой многопутевой Системный объект Релеевского замирания, задав сумму синусоид, исчезающую метод. Таким образом, это заканчивается, может быть повторен, задать значение seed. Используйте InitialTime
по умолчанию установка свойства так, чтобы исчезающий канал был симулирован со времени 0. Включите усилениям пути выход.
rayleighchan1 = comm.RayleighChannel('SampleRate',fs, ... 'MaximumDopplerShift',5, ... 'RandomStream','mt19937ar with seed', ... 'Seed',17, ... 'FadingTechnique','Sum of sinusoids', ... 'PathGainsOutputPort',true);
Создайте клон многопутевого Системного объекта Канала с релеевским замиранием. Установите источник в течение начального времени так, чтобы исчезающее время смещения канала могло быть задано как входной параметр при использовании Системного объекта.
rayleighchan2 = clone(rayleighchan1);
rayleighchan2.InitialTimeSource = 'Input port';
Передайте случайные двоичные данные через первый многопутевой Системный объект Канала с релеевским замиранием, rayleighchan1
. Данные передаются за все 1 000 раз выборки. В данном примере только усиление сложного контура необходимо.
[~,pg0] = rayleighchan1(d0);
Передайте случайные данные через второй многопутевой Системный объект Канала с релеевским замиранием, rayleighchan2
, где начальные смещения времени обеспечиваются как входные параметры.
[~,pg1] = rayleighchan2(d1,to1); [~,pg2] = rayleighchan2(d2,to2); [~,pg3] = rayleighchan2(d3,to3);
Сравните количество выборок, обработанных двумя каналами при помощи info
объектная функция. rayleighchan1
объект обработал 1 000 выборок, в то время как rayleighchan2
возразите только обработанный 300 выборок.
G = info(rayleighchan1); H = info(rayleighchan2); [G.NumSamplesProcessed H.NumSamplesProcessed]
ans = 1×2
1000 300
Преобразуйте усиления пути в децибелы.
pathGain0 = 20*log10(abs(pg0)); pathGain1 = 20*log10(abs(pg1)); pathGain2 = 20*log10(abs(pg2)); pathGain3 = 20*log10(abs(pg3));
Постройте усиления пути для непрерывных и прерывистых случаев. Усиления для этих трех сегментов совпадают с усилением для непрерывного случая. Выравнивание двух подсветок, что метод суммы синусоид подходит для симуляции packetized данных как характеристики канала, обеспечено, даже когда данные не передаются.
plot(t0,pathGain0,'r--') hold on plot(t1,pathGain1,'b') plot(t2,pathGain2,'b') plot(t3,pathGain3,'b') grid xlabel('Time (sec)') ylabel('Path Gain (dB)') legend('Continuous','Discontinuous','location','nw') title('Continuous and Discontinuous Transmission Path Gains')
Пример показывает, как использовать ChannelFilterCoefficients
свойство возвращено info
объектная функция comm.RayleighChannel
Системный объект, чтобы воспроизвести многопутевой Канал с релеевским замиранием выход.
Создайте многопутевой Системный объект Канала с релеевским замиранием, задав два пути и задав данные, чтобы пройти через канал.
rayleighchan = comm.RayleighChannel('SampleRate',1000,'PathDelays',[0 1.5e-3], ... 'AveragePathGains',[0 -3],'PathGainsOutputPort',true)
rayleighchan = comm.RayleighChannel with properties: SampleRate: 1000 PathDelays: [0 0.0015] AveragePathGains: [0 -3] NormalizePathGains: true MaximumDopplerShift: 1.0000e-03 DopplerSpectrum: [1x1 struct] Show all properties
data = randi([0 1],600,1);
Передайте данные через канал. Присвойте ChannelFilterCoefficients
значение свойства к переменной coeff
.
[chanout1,pg] = rayleighchan(data); chaninfo = info(rayleighchan)
chaninfo = struct with fields:
ChannelFilterDelay: 6
ChannelFilterCoefficients: [2x16 double]
NumSamplesProcessed: 600
coeff = chaninfo.ChannelFilterCoefficients;
Вычислите дробный задержанный входной сигнал в местоположениях задержки пути, сохраненных в coeff
.
Np = length(rayleighchan.PathDelays); fracdelaydata = zeros(size(data,1),Np); for ii = 1:Np fracdelaydata(:,ii) = filter(coeff(ii,:),1,data); end
Примените усиления пути и суммируйте результаты для всех путей.
chanout2 = sum(pg .* fracdelaydata,2);
Сравните выход многопутевого Системного объекта Канала с релеевским замиранием к выходу, воспроизведенному с помощью усилений пути и ChannelFilterCoefficients
свойство многопутевого Системного объекта Канала с релеевским замиранием.
isequal(chanout1,chanout2)
ans = logical
1
Проверьте, что автокорреляцией усиления пути выход от Системного объекта канала Рейли является Функция Бесселя. На основе результатов в [1] и Приложение A [2], мы знаем, что то, когда автокорреляция пути получают выходные параметры, является Функцией Бесселя, и Доплеровский спектр Jakes-формируется.
Инициализируйте параметры симуляции.
Rsym = 9600; % Input signal symbol rate (symbols/sec) sps = 10; % Number of samples per input symbol Fs = sps*Rsym; % Input signal sampling frequency (samples/sec) Ts = 1/Fs; % Input signal sampling period (sec) numsym = 1e6; % Total number of input symbols to simulate numsamp = numsym*sps; % Total number of channel samples to simulate fd = 100; % Maximum Doppler frequency shift (Hz) num_acsamp = 5000; % Number of samples of autocovariance of complex fading process calculated numtx = 1; % Number of transmit antennas numrx = 1; % Number of receive antennas numsin = 48; % Number of sinusoids frameLen = 10000; numFrames = numsamp/frameLen;
Сконфигурируйте Рэлеевский Системный объект канала.
chan = comm.RayleighChannel('FadingTechnique','Sum of sinusoids', ... 'NumSinusoids',numsin,'RandomStream','mt19937ar with seed', ... 'PathDelays',0,'AveragePathGains',0,'SampleRate',Fs, ... 'MaximumDopplerShift',fd,'PathGainsOutputPort',true);
Примените модуляцию DPSK к случайному потоку битов.
tx = randi([0 1],numsamp,numtx); % Random bit stream dpskSig = dpskmod(tx,2); % DPSK signal
Передайте модулируемый сигнал через канал.
outsig = zeros(numsamp,numrx); pg_rx = zeros(numsamp,numrx,numtx); for frmNum = 1:numFrames [outsig((1:frameLen)+(frmNum-1)*frameLen,:),pathGains] = chan(dpskSig((1:frameLen)+(frmNum-1)*frameLen,:)); for i = 1:numrx pg_rx((1:frameLen)+(frmNum-1)*frameLen,i,:) = pathGains(:,:,:,i); end end
Используя усиления пути к каналу, полученные на антенну, вычислите автоковариацию процесса исчезновения для каждой передачи - получают путь.
autocov = zeros(frameLen+1,numrx,numtx); autocov_normalized_real = zeros(num_acsamp+1,numrx,numtx); autocov_normalized_imag = zeros(num_acsamp+1,numrx,numtx); for i = 1:numrx % Compute autocovariance of simulated complex fading process for j = 1:numtx autocov(:,i,j) = xcov(pg_rx(:,i,j),num_acsamp); % Real part of normalized autocovariance autocov_normalized_real(:,i,j) = real(autocov(num_acsamp+1:end,i,j)/autocov(num_acsamp+1,i,j)); % Imaginary part of normalized autocovariance autocov_normalized_imag(:,i,j) = imag(autocov(num_acsamp+1:end,i,j)/autocov(num_acsamp+1,i,j)); end end
Используя besselj
функция вычисляет теоретическую автоковариацию комплексного процесса исчезновения.
Rrr = zeros(1,num_acsamp+1); for n = 1:1:num_acsamp+1 Rrr(n) = besselj(0,2*pi*fd*(n-1)*Ts); end Rrr_normalized = Rrr/Rrr(1);
Отобразите автоковариацию, сравнивающую результаты Системного объекта канала Рейли и функции besselj.
subplot(2,1,1) plot(autocov_normalized_real,'b-') hold on plot(Rrr_normalized,'r-') hold off legend('Using comm.RayleighChannel','Using Bessel function of the first kind') title('Autocovariance of real part of Rayleigh process') subplot(2,1,2) plot(autocov_normalized_imag) legend('Using comm.RayleighChannel') title('Autocovariance of imaginary part of Rayleigh process')
Вычислите среднеквадратичную погрешность.
act_mse_real = sum((autocov_normalized_real-repmat(Rrr_normalized.',1,numrx,numtx)).^2,1)/size(autocov_normalized_real,1)
act_mse_real = 7.0043e-08
act_mse_imag = sum((autocov_normalized_imag-0).^2,1)/size(autocov_normalized_imag,1)
act_mse_imag = 4.1064e-07
Ссылки
1. Вдавите, P., Г. Боттомли и Т. Крофт. “Jakes, Исчезающий Пересмотренная Модель”. Буквы электроники 29, № 13 (1993): 1162. https://doi.org/10.1049/el:19930777.
2. Pätzold, Мэттиас. Мобильные Исчезающие Каналы. Чичестер, Великобритания: John Wiley & Sons, Ltd, 2002. https://doi.org/10.1002/0470847808.
Фактор частоты среза, f c, определяется для различных Доплеровских типов спектра.
Для любого Доплеровского типа спектра кроме Гауссова и biGaussian, f c равняется 1.
Для a doppler
('Gaussian')
тип спектра, f c равняется NormalizedStandardDeviation
.
Для a doppler
('BiGaussian')
тип спектра:
Если PowerGains
(1) и
NormalizedCenterFrequencies
(2) значениями полей является оба
0
, затем f c равняется NormalizedStandardDeviation
(1).
Если PowerGains
(2) и
NormalizedCenterFrequencies
(1) значениями полей является оба
0
, затем f c равняется NormalizedStandardDeviation
(2).
Если NormalizedCenterFrequencies
значением поля является [0,0]
и NormalizedStandardDeviation
поле имеет два идентичных элемента, затем f c равняется NormalizedStandardDeviation
(1).
Во всех других случаях f c равняется 1.
comm.RayleighChannel
Системный объект включает визуализацию импульсной характеристики канала, частотной характеристики и Доплеровского спектра.
Примечание
Отображенные и заданные местоположения усиления пути могут отличаться целых 5% входного шага расчета.
Скорость отображения визуализации контролируется комбинацией SamplesToDisplay
свойство и пункт меню scope Playback > Reduce Updates to Improve Performance. Сокращение процента выборок, чтобы отобразиться и включение уменьшаемых обновлений могут ускорить рендеринг осциллографа визуализации.
После того, как осциллографы визуализации вручную закрываются, вызовы Системного объекта выполняются на его нормальной скорости.
Генерация кода доступна только когда Visualization
свойство установлено в 'Off'
.
Импульсная характеристика
Осциллограф импульсной характеристики отображает усиления пути, коэффициенты фильтра канала и интерполированные усиления пути. Усиления пути происходят в экземплярах времени, которые соответствуют заданному PathDelays
свойство и не может быть выровнено с входным временем выборки. Коэффициенты фильтра канала используются, чтобы смоделировать канал. Они интерполированы от фактических усилений пути и выравниваются с входным временем выборки. В случаях, в которых усиления пути выравниваются со временем выборки, усиления пути перекрывают коэффициенты фильтра. Интерполяция Sinc используется, чтобы соединить коэффициенты фильтра канала и показывается интерполированными усилениями пути. Эти точки используются только для целей отображения и не используются в последующей фильтрации канала. Для плоского исчезающего канала (один путь), не отображена sinc кривая интерполяции. Для всех графиков импульсной характеристики систему координат и демонстрационные числа показывают в верхнем левом углу осциллографа.
График импульсной характеристики совместно использует ту же панель инструментов и меню как dsp.ArrayPlot
Системный объект.
Когда заданные усиления пути выравниваются с частотой дискретизации, усилениями пути и содействующим перекрытием фильтра канала. В этом рисунке импульсная характеристика показывает, что усиления пути перекрывают коэффициенты фильтра.
Если заданные усиления пути не выравниваются с частотой дискретизации, усиления пути и коэффициенты фильтра канала не перекрываются. В этом рисунке одинаково распределяются коэффициенты фильтра. Усиления пути не перекрываются с коэффициентами фильтра канала, потому что усиления пути не выравниваются с частотой дискретизации.
Этот рисунок показывает импульсную характеристику для плоского частотой канала. В этом случае интерполированные усиления пути не отображены.
Частотная характеристика
Осциллограф частотной характеристики отображает многопутевой спектр Канала с релеевским замиранием путем взятия дискретного преобразования Фурье коэффициентов фильтра канала. График частотной характеристики совместно использует ту же панель инструментов и меню как dsp.SpectrumAnalyzer
Системный объект.
Пределы оси Y графика вычисляются на основе NormalizePathGains
и AveragePathGains
свойства comm.RayleighChannel
Системный объект.
Эта таблица показывает другие выбранные настройки спектра по умолчанию. Эти настройки могут быть изменены от их значений по умолчанию при помощи меню View > Spectrum Settings.
Настройки спектра | Значение |
---|---|
Main options> Type |
|
Main options> Window length | Длина фильтра канала |
Main options> NFFT | 512 |
Window options> Window |
|
Trace options> Units |
|
Этот рисунок показывает график частотной характеристики для частоты выборочный канал.
Доплер Спектрум
Доплеровский график спектра отображает теоретический Доплеровский спектр и опытным путем решительные точки данных. Теоретические данные отображены как линия для случая нестатических каналов и как точка для статических каналов. Эмпирические данные показывают как * символы. Прежде чем эмпирический график обновляется, внутренний буфер должен быть абсолютно заполнен отфильтрованными Гауссовыми выборками. Эмпирический график является рабочим средним значением спектра, вычисленного от каждого полного буфера. Для нестатических каналов количеству входных выборок было нужно, прежде чем следующее обновление отображено в верхнем левом углу графика. Количество необходимых выборок является функцией частоты дискретизации и максимального эффекта Доплера. Для статических каналов, текст "Reset fading channel for next update
"отображен.
[1] Oestges, Клод и Бруно Клерккс. Радиосвязи MIMO: От Реального Распространения до Пространственно-временного Проекта Кода. 1-й редактор Бостон, MA: Elsevier, 2007.
[2] Correia, Луис М. и европейское Сотрудничество в области Научно-технического Исследования (Организация), редакторы Мобильные Широкополосные Мультимедийные Сети: Методы, Модели и Инструменты для 4G. 1-й редактор Амстердам ; Бостон: Нажатие Elsevier/Academic, 2006.
[3] Kermoal, J.P., Л. Шумахер, К.И. Педерсен, П. Модженсен и Ф. Фредериксен. “Стохастическая Модель Канала Радио MIMO с Экспериментальной Валидацией”. Журнал IEEE на Выбранных областях в Коммуникациях 20, № 6 (август 2002): 1211–26. https://doi.org/10.1109/JSAC.2002.801223.
[4] Jeruchim, Мишель К., Филип Балабан и К. Сэм Шэнмугэн. Симуляция Систем связи. Второй выпуск. Бостон, MA: Спрингер УС, 2000.
[5] Patzold, M., Cheng-Сянцзян Ван и Б. Хогстэд. “Две Новых Суммы основанных на синусоидах Методов для Эффективной Генерации Нескольких Некоррелированых Форм волны Релеевского замирания”. Транзакции IEEE на Радиосвязях 8, № 6 (июнь 2009): 3122–31. https://doi.org/10.1109/TWC.2009.080769.
Указания и ограничения по применению:
Чтобы сгенерировать код С, установите DopplerSpectrum
свойство к одной Доплеровской структуре спектра.
Генерация кода доступна только когда Visualization
свойством является 'Off'
.
Смотрите системные объекты в Генерации кода MATLAB (MATLAB Coder).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.