Модели канала WLAN

Этот пример демонстрирует передающий WLAN S1G, VHT, HT и формы волны формата non-HT через соответствующие исчезающие модели канала. При симуляции линии связи WLAN жизнеспособные варианты для моделирования канала включают TGah, модели TGn и TGac от WLAN Toolbox™ и AWGN и модели 802.11g от Communications Toolbox™. В этом примере достаточно установить частоту дискретизации модели канала совпадать с пропускной способностью канала, потому что никакая фильтрация фронтенда не применяется к сигналу, и уровень сверхдискретизации равняется 1.

В каждом разделе этого примера, вас:

  • Создайте форму волны.

  • Передайте его через исчезающий канал с добавленным шумом.

  • Используйте спектр, анализатор, чтобы отобразить форму волны до и после него проходит через шумный исчезающий канал.

Передайте форму волны S1G через канал SISO TGah

Создайте немного потока, чтобы использовать при генерации формы волны формата WLAN S1G.

bits = randi([0 1],1000,1);

Создайте объект настройки S1G и сгенерируйте форму волны S1G на 2 МГц. Вычислите степень сигнала.

s1g = wlanS1GConfig;
preChS1G = wlanWaveformGenerator(bits,s1g);

Передайте сигнал через канал SISO TGah с шумом AWGN (дБ SNR=10) и получатель с шумовой фигурой на 9 дБ. Вспомните, что частота дискретизации модели канала равна пропускной способности в этом примере. Установите параметры с помощью Name,Value пары.

Создайте объект канала TGah. Установите частоту дискретизации модели канала и пропускную способность канала, включите потерю пути и затенение, и используйте профиль задержки Модели-D.

cbw = s1g.ChannelBandwidth;
fs = 2e6; % Channel model sampling frequency equals the channel bandwidth
tgahChan = wlanTGahChannel('SampleRate',fs,'ChannelBandwidth',cbw, ...
    'LargeScaleFadingEffect','Pathloss and shadowing', ...
    'DelayProfile','Model-D');

Создайте AWGN Channel объект с ОСШ = 10 дБ. Определите мощность в ваттах сигнала, объяснив крупный масштаб TGah, исчезающий pathloss.

preChSigPwr_dB = 10*log10(mean(abs(preChS1G)));
sigPwr = 10^((preChSigPwr_dB-tgahChan.info.Pathloss)/10);

chNoise = comm.AWGNChannel('NoiseMethod','Signal to noise ratio (SNR)',...
    'SNR',10,'SignalPower', sigPwr);

Передайте форму волны S1G через TGah SISO, образовывают канал и добавляют шум канала AWGN.

postChS1G = chNoise(tgahChan(preChS1G));

Создайте другой AWGN Channel объект добавить шум получателя.

rxNoise = comm.AWGNChannel('NoiseMethod','Variance', ...
    'VarianceSource','Input port');

Передайте форму волны S1G через получатель. Выберите соответствующее шумовое отклонение, nVar, чтобы установить уровень шума получателя. Здесь, уровень шума получателя основан на шумовом отклонении для получателя с шумовой фигурой на 9 дБ. nVar = kTBF, где k является константой Больцманна, T, является температурой окружающей среды 290 K, B является пропускной способностью, и F является фигурой шума получателя.

nVar = 10^((-228.6 + 10*log10(290) + 10*log10(fs) + 9)/10);

rxS1G = rxNoise(postChS1G,nVar);

Отобразите спектр анализатор с формами волны после-того,-как-канала и прежде-чем-каналом. Используйте SpectralAverages = 10, чтобы уменьшать шум в нанесенных на график сигналах.

title = '2 MHz S1G Waveform Before and After TGah Channel';
saScope = dsp.SpectrumAnalyzer('SampleRate',fs,'ShowLegend',true,...
    'SpectralAverages',10,'Title',title,'ChannelNames',{'Before','After'});
saScope([preChS1G,rxS1G])

Потеря пути составляет примерно 50 дБ разделения между формой волны до и после него, проходит через канал TGah. Потеря пути следует из расстояния передатчика к получателю по умолчанию 3 метров, и от теневых эффектов. Изменение уровня сигнала показывает селективность частоты профиля задержки через спектр частоты.

Передайте форму волны VHT через канал SISO TGac

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

bits = randi([0 1],1000,1);

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

vht = wlanVHTConfig;
preChVHT = wlanWaveformGenerator(bits,vht);

Передайте сигнал через канал SISO TGac с шумом AWGN (дБ SNR=10) и получатель с шумовой фигурой на 9 дБ. Вспомните, что частота дискретизации модели канала равна пропускной способности в этом примере. Установите параметры с помощью Name,Value пары.

Создайте объект канала TGac. Установите частоту дискретизации модели канала и пропускную способность канала, включите потерю пути и затенение, и используйте профиль задержки Модели-D.

cbw = vht.ChannelBandwidth;
fs = 80e6; % Channel model sampling frequency equals the channel bandwidth
tgacChan = wlanTGacChannel('SampleRate',fs,'ChannelBandwidth',cbw, ...
    'LargeScaleFadingEffect','Pathloss and shadowing', ...
    'DelayProfile','Model-D');

Создайте AWGN Channel объект с ОСШ = 10 дБ. Определите мощность в ваттах сигнала, объяснив крупный масштаб TGac, исчезающий pathloss.

preChSigPwr_dB = 10*log10(mean(abs(preChVHT)));
sigPwr = 10^((preChSigPwr_dB-tgacChan.info.Pathloss)/10);

chNoise = comm.AWGNChannel('NoiseMethod','Signal to noise ratio (SNR)',...
    'SNR',10,'SignalPower', sigPwr);

Передайте форму волны VHT через TGac SISO, образовывают канал и добавляют шум канала AWGN.

postChVHT = chNoise(tgacChan(preChVHT));

Создайте другой AWGN Channel объект добавить шум получателя.

rxNoise = comm.AWGNChannel('NoiseMethod','Variance', ...
    'VarianceSource','Input port');

Передайте форму волны VHT через получатель. Выберите соответствующее шумовое отклонение, nVar, чтобы установить уровень шума получателя. Здесь, уровень шума получателя основан на шумовом отклонении для получателя с шумовой фигурой на 9 дБ. nVar = kTBF, где k является константой Больцманна, T, является температурой окружающей среды 290 K, B является пропускной способностью, и F является фигурой шума получателя.

nVar = 10^((-228.6 + 10*log10(290) + 10*log10(fs) + 9)/10);

rxVHT = rxNoise(postChVHT,nVar);

Отобразите спектр анализатор с формами волны после-того,-как-канала и прежде-чем-каналом. Используйте SpectralAverages = 10, чтобы уменьшать шум в нанесенных на график сигналах.

title = '80 MHz VHT Waveform Before and After TGac Channel';
saScope = dsp.SpectrumAnalyzer('SampleRate',fs,'ShowLegend',true,...
    'SpectralAverages',10,'Title',title,'ChannelNames',{'Before','After'});
saScope([preChVHT,rxVHT])

Потеря пути составляет примерно 50 - 60 дБ разделения между формой волны до и после него, проходит через канал TGac. Потеря пути следует из расстояния передатчика к получателю по умолчанию 3 метров, и от теневых эффектов. Изменение уровня сигнала показывает селективность частоты профиля задержки через спектр частоты.

Передайте форму волны HT через канал SISO TGn

Создайте немного потока, чтобы использовать при генерации формы волны формата WLAN HT.

bits = randi([0 1],1000,1);

Создайте объект настройки HT и сгенерируйте форму волны HT.

ht = wlanHTConfig;
preChHT = wlanWaveformGenerator(bits,ht);

Передайте сигнал через канал SISO TGn с шумом AWGN (дБ SNR=10) и получатель с шумовой фигурой на 9 дБ. Вспомните, что частота дискретизации модели канала равна пропускной способности в этом примере. Установите параметры с помощью Name,Value пары.

Создайте объект канала TGn. Установите частоту дискретизации модели канала и пропускную способность канала, включите потерю пути и затенение, и используйте профиль задержки Модели-F.

fs = 20e6; % Channel model sampling frequency equals the channel bandwidth
tgnChan = wlanTGnChannel('SampleRate',fs,'LargeScaleFadingEffect', ...
    'Pathloss and shadowing','DelayProfile','Model-F');

Передайте форму волны HT через канал TGn. Используйте awgn функция, чтобы добавить шум канала на уровне ОСШ 10 дБ.

postChHT = awgn(tgnChan(preChHT),10,'measured');

Создайте AWGN Channel объект добавить шум получателя.

rxNoise = comm.AWGNChannel('NoiseMethod','Variance', ...
    'VarianceSource','Input port');

Передайте форму волны HT через получатель. Выберите соответствующее шумовое отклонение, nVar, для установки уровня шума получателя. Здесь, шум получателя основан на шумовом отклонении для получателя с шумовой фигурой на 9 дБ. nVar = kTBF, где k является константой Больцманна, T, является температурой окружающей среды 290 K, B является пропускной способностью, и F является фигурой шума получателя.

nVar = 10^((-228.6 + 10*log10(290) + 10*log10(fs) + 9)/10);

rxHT = rxNoise(postChHT, nVar);

Отобразите спектр анализатор с формами волны после-того,-как-канала и прежде-чем-каналом. Используйте SpectralAverages = 10, чтобы уменьшать шум в нанесенных на график сигналах.

title = '20 MHz HT Waveform Before and After TGn Channel';
saScope = dsp.SpectrumAnalyzer('SampleRate',fs,'ShowLegend',true,...
    'SpectralAverages',10,'Title',title,'ChannelNames',{'Before','After'});
saScope([preChHT,postChHT])

Потеря пути составляет примерно 50 - 60 дБ разделения между формой волны до и после него, проходит через канал TGn. Потеря пути следует из расстояния передатчика к получателю по умолчанию 3 метров, и от теневых эффектов. Изменение уровня сигнала показывает селективность частоты профиля задержки через спектр частоты.

Передайте форму волны Non-HT через канал 802.11g

Создайте немного потока, чтобы использовать при генерации WLAN Non-HT форма волны формата.

bits = randi([0 1],1000,1);

Создайте объект настройки non-HT и сгенерируйте форму волны non-HT.

nht = wlanNonHTConfig;
preChNonHT = wlanWaveformGenerator(bits,nht);

Вычислите потерю пути свободного пространства для разделительного расстояния передатчика к получателю 3 метров. Создайте объект канала 802.11g с максимальным эффектом Доплера на 3 Гц и задержкой пути к RMS, равной два раза шагу расчета. Вспомните, что частота дискретизации модели канала равна пропускной способности в этом примере. Создайте объект канала AWGN.

dist = 3;
fc = 2.4e9;
pathLoss = 10^(-log10(4*pi*dist*(fc/3e8)));
fs = 20e6; % Channel model sampling frequency equals the channel bandwidth
maxDoppShift = 3;
trms = 2/fs;
ch802 = comm.RayleighChannel('SampleRate',fs,'MaximumDopplerShift',maxDoppShift,'PathDelays',trms);

Передайте форму волны non-HT через канал 802.11g. Используйте awgn функция, чтобы добавить шум канала на уровне ОСШ 10 дБ.

postChNonHT = awgn(ch802(preChNonHT),10,'measured');

Создайте AWGN Channel объект добавить шум получателя.

rxNoise = comm.AWGNChannel('NoiseMethod','Variance', ...
    'VarianceSource','Input port');

Передайте форму волны non-HT через получатель. Выберите соответствующее шумовое отклонение, nVar, для установки уровня шума получателя. Здесь, шум получателя основан на шумовом отклонении для получателя с шумовой фигурой на 9 дБ. nVar = kTBF, где k является константой Больцманна, T, является температурой окружающей среды 290 K, B является пропускной способностью, и F является фигурой шума получателя.

nVar = 10^((-228.6 + 10*log10(290) + 10*log10(fs) + 9)/10);

rxNonHT = rxNoise(postChNonHT, nVar)* pathLoss;

Отобразите спектр анализатор с формами волны после-того,-как-канала и прежде-чем-каналом. Используйте SpectralAverages = 10, чтобы уменьшать шум в нанесенных на график сигналах.

title = '20 MHz Non-HT Waveform Before and After 802.11g Channel';
saScope = dsp.SpectrumAnalyzer('SampleRate',fs,'ShowLegend',true,...
    'SpectralAverages',10,'Title',title,'ChannelNames',{'Before','After'});
saScope([preChNonHT,rxNonHT])

Потеря пути свободного пространства составляет примерно 50 - 60 дБ разделения между формой волны до и после него, проходит через канал 802.11g. Потеря пути следует из заданного расстояния передатчика к получателю 3 метров, и от теневых эффектов. Изменение уровня сигнала показывает селективность частоты профиля задержки через спектр частоты.

Передайте форму волны VHT через канал TGac MIMO

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

bits = randi([0 1],1000,1);

Создайте многопользовательский объект настройки VHT и сгенерируйте форму волны VHT. Определите номер антенн передачи к четыре. Определите номер пространственно-временных потоков, и количество получают антенны к 3. Поскольку количество антенн передачи не равно количеству пространственно-временных потоков, пространственное отображение не является прямым. Установите пространственное отображение с Адамаром.

ntx = 4;
nsts = 3;
nrx = 3;
vht = wlanVHTConfig('NumTransmitAntennas',ntx, ...
    'NumSpaceTimeStreams',nsts,'SpatialMapping','Hadamard');
preChVHT = wlanWaveformGenerator(bits,vht);

Создайте канал TGac MIMO и объекты канала AWGN. Вспомните, что частота дискретизации модели канала равна пропускной способности в этом примере. Отключите крупномасштабные исчезающие эффекты.

cbw = vht.ChannelBandwidth;
fs = 80e6; % Channel model sampling frequency equals the channel bandwidth
tgacChan = wlanTGacChannel('SampleRate',fs,'ChannelBandwidth',cbw,...
    'NumTransmitAntennas',ntx,'NumReceiveAntennas',nrx);
tgacChan.LargeScaleFadingEffect = 'None';

Передайте форму волны VHT через канал TGac. Используйте awgn функция, чтобы добавить шум канала на уровне ОСШ 10 дБ.

postChVHT = awgn(tgacChan(preChVHT),10,'measured');

Создайте AWGN Channel объект добавить шум получателя.

rxNoise = comm.AWGNChannel('NoiseMethod','Variance', ...
    'VarianceSource','Input port');

Передайте многопользовательскую форму волны VHT через шумный канал TGac. Выберите соответствующее шумовое отклонение, nVar, для установки уровня AWGN. Здесь, уровень AWGN основан на шумовом отклонении для получателя с шумовой фигурой на 9 дБ. nVar = kTBF, где k является константой Больцманна, T, является температурой окружающей среды 290 K, B является пропускной способностью, и F является фигурой шума получателя.

nVar = 10^((-228.6 + 10*log10(290) + 10*log10(fs) + 9)/10);

rxVHT = rxNoise(postChVHT,nVar);

Отобразите спектр анализатор, показывающий несколько потоков после того, как эффекты канала будут добавлены. Используйте SpectralAverages = 10, чтобы уменьшать шум в нанесенных на график сигналах.

title = '80 MHz VHT 4x3 MIMO Waveform After TGac Channel';
saScope = dsp.SpectrumAnalyzer('SampleRate',fs,'ShowLegend',true,...
    'SpectralAverages',10,'Title',title,'ChannelNames', ...
    {'RX1','RX2','RX3'});
saScope(rxVHT)

Наложенные сигналы показывают изменение канала TGac между полученными потоками.

Ссылки

[1] Erceg, V., Л. Шумахер, П. Киритси, и др. Модели Канала TGn. Версия 4. IEEE 802.11-03/940r4, май 2004.

[2] Breit, G., Х. Сэмпэт, С. Вермани, и др. Приложение Модели Канала TGac. Версия 12. IEEE 802.11-09/0308r12, март 2010.

Смотрите также

| | | | |

Похожие темы