Модели канала 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 дБ. Вспомните, что частота дискретизации модели канала равна полосе пропускания в этом примере. Установите значения свойств при помощи пар "имя-значение".

Создайте объект канала 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 = 20*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,...
    'AveragingMethod','Exponential','ForgettingFactor',0.99,'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 = 20*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,...
    'AveragingMethod','Exponential','ForgettingFactor',0.99,'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,...
    'AveragingMethod','Exponential','ForgettingFactor',0.99,'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,...
    'AveragingMethod','Exponential','ForgettingFactor',0.99,'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,...
    'AveragingMethod','Exponential','ForgettingFactor',0.99,'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.

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

| | | |

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте