exponenta event banner

Профиль задержки и эффекты флуоресцентного освещения

Этот пример демонстрирует влияние изменения профиля задержки TGac и показывает, как флуоресцентное освещение влияет на временную характеристику канала.

Эффекты профиля задержки

Создание объекта конфигурации VHT. Установите частоту дискретизации 80 МГц.

cfgVHT = wlanVHTConfig;
fs = 80e6;

Генерировать случайные двоичные данные и создавать форму сигнала передачи, параметризованную объектом конфигурации VHT.

d = randi([0 1],8*cfgVHT.PSDULength,1);
testWaveform = wlanWaveformGenerator(d,cfgVHT);

Создайте объект канала TGac. Установите профиль задержки в значение 'Model-A', что соответствует плоскому замиранию. Отключить крупномасштабные эффекты замирания.

tgacChan = wlanTGacChannel('SampleRate',fs, ...
    'ChannelBandwidth',cfgVHT.ChannelBandwidth, ...
    'DelayProfile','Model-A', ...
    'LargeScaleFadingEffect','None');

Передача передаваемого сигнала через канал TGac.

rxModelA = tgacChan(testWaveform);

Установите профиль задержки на Model-C, который соответствует многолучевому каналу с 14 различными трактами и 30-дюймовым разбросом среднеквадратичной задержки. Максимальный разброс задержки составляет 200 нс, что соответствует полосе пропускания когерентности 2,5 МГц.

release(tgacChan)
tgacChan.DelayProfile = 'Model-C';

Пропустите сигнал через канал модели-C.

rxModelC = tgacChan(testWaveform);

Создайте анализатор спектра и используйте его для визуализации спектра принятых сигналов.

saScope = dsp.SpectrumAnalyzer('SampleRate',fs, ...
    'ShowLegend',true,'ChannelNames',{'Model-A','Model-C'}, ...
    'AveragingMethod','Exponential','ForgettingFactor',0.99);
saScope([rxModelA rxModelC])

Figure Spectrum Analyzer contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes contains 2 objects of type line. These objects represent Model-A, Model-C.

Как и ожидалось, частотная характеристика сигнала модели-А является плоской для полосы пропускания 80 МГц. И наоборот, частотный отклик модели-С изменяется, потому что его полоса пропускания когерентности значительно меньше полосы пропускания канала.

Флуоресцентные эффекты

Освободите канал TGac и установите его профиль задержки на 'Model-D'. Отключите эффект флуоресцентного освещения.

release(tgacChan)
tgacChan.DelayProfile = 'Model-D';
tgacChan.FluorescentEffect = false;

Чтобы лучше проиллюстрировать доплеровские эффекты флуоресцентного освещения, измените полосу пропускания и частоту дискретизации канала. Создайте тестовую форму сигнала.

tgacChan.ChannelBandwidth = 'CBW20';
fs = 20e6;
tgacChan.SampleRate = fs;
testWaveform = ones(5e5,1);

Чтобы обеспечить повторяемость, установите для глобального генератора случайных чисел фиксированное значение.

rng(37)

Передайте сигнал через канал TGac.

rxSig0 = tgacChan(testWaveform);

Включите эффект флуоресцентного освещения. Сбросьте генератор случайных чисел и передайте сигнал через канал.

release(tgacChan)
tgacChan.FluorescentEffect = true;
rng(37)
rxSig1 = tgacChan(testWaveform);

Определите временную ось и задержку канального фильтра.

t = ((1:size(rxSig0,1))'-1)/fs;
fDelay = tgacChan.info.ChannelFilterDelay;

Постройте график величины принятых сигналов при учете задержки канального фильтра.

plot(t(fDelay+1:end),[abs(rxSig0(fDelay+1:end)) abs(rxSig1(fDelay+1:end))])
xlabel('Time (s)')
ylabel('Magnitude (V)')
legend('Fluorescent Off','Fluorescent On','location','best')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Fluorescent Off, Fluorescent On.

Флуоресцентное освещение вводит доплеровский компонент с удвоенной частотой линии питания (120 Гц в США).

Подтвердите, что пики разделены приблизительно на 0,0083 с (обратная частота 120 Гц) путем измерения расстояния между вторым и третьим пиками.

[~,loc] = findpeaks(abs(rxSig1(1e5:4e5)));
peakTimes = loc/fs;
peakSeparation = diff(peakTimes)
peakSeparation = 0.0085