Этот пример демонстрирует передающий WLAN S1G, VHT, HT и формы волны формата non-HT через соответствующие исчезающие модели канала. При симуляции линии связи WLAN жизнеспособные варианты для моделирования канала включают TGah, модели TGn и TGac от WLAN Toolbox™ и AWGN и модели 802.11g от Communications Toolbox™. В этом примере достаточно установить частоту дискретизации модели канала совпадать с пропускной способностью канала, потому что никакая фильтрация фронтенда не применяется к сигналу, и уровень сверхдискретизации равняется 1.
В каждом разделе этого примера, вас:
Создайте форму волны.
Передайте его через исчезающий канал с добавленным шумом.
Используйте спектр, анализатор, чтобы отобразить форму волны до и после него проходит через шумный исчезающий канал.
Создайте немного потока, чтобы использовать при генерации формы волны формата WLAN S1G.
bits = randi([0 1],1000,1);
Создайте объект настройки S1G и сгенерируйте форму волны S1G на 2 МГц. Вычислите степень сигнала.
s1g = wlanS1GConfig; preChS1G = wlanWaveformGenerator(bits,s1g);
Передайте сигнал через канал TGah SISO с шумом 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 через SISO TGah, образовывают канал и добавляют шум канала 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 метров, и от теневых эффектов. Изменение уровня сигнала показывает селективность частоты профиля задержки через спектр частоты.
Создайте немного потока, чтобы использовать при генерации формы волны формата WLAN VHT.
bits = randi([0 1],1000,1);
Создайте объект настройки VHT и сгенерируйте форму волны VHT на 80 МГц. Вычислите степень сигнала.
vht = wlanVHTConfig; preChVHT = wlanWaveformGenerator(bits,vht);
Передайте сигнал через канал TGac SISO с шумом 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 через SISO TGac, образовывают канал и добавляют шум канала 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 метров, и от теневых эффектов. Изменение уровня сигнала показывает селективность частоты профиля задержки через спектр частоты.
Создайте немного потока, чтобы использовать при генерации формы волны формата WLAN HT.
bits = randi([0 1],1000,1);
Создайте объект настройки HT и сгенерируйте форму волны HT.
ht = wlanHTConfig; preChHT = wlanWaveformGenerator(bits,ht);
Передайте сигнал через канал TGn SISO с шумом 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. Используйте функцию
, чтобы добавить шум канала на уровне ОСШ 10 дБ.awgn
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 метров, и от теневых эффектов. Изменение уровня сигнала показывает селективность частоты профиля задержки через спектр частоты.
Создайте немного потока, чтобы использовать при генерации 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. Используйте функцию
, чтобы добавить шум канала на уровне ОСШ 10 дБ.awgn
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 метров, и от теневых эффектов. Изменение уровня сигнала показывает селективность частоты профиля задержки через спектр частоты.
Создайте немного потока, чтобы использовать при генерации формы волны формата 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. Используйте функцию
, чтобы добавить шум канала на уровне ОСШ 10 дБ.awgn
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.
Свойства wlanHTConfig | Свойства wlanNonHTConfig | Свойства wlanRecoveryConfig | wlanTGacChannel
| wlanTGnChannel
| Свойства wlanVHTConfig