www.gusucode.com > wlan工具箱matlab源码程序 > wlan/wlanexamples/vhtSigRecGenerateWaveform.m
function rxWaveform = vhtSigRecGenerateWaveform(cfgVHTTx,numRx, ... delayProfile,noisePower,cfo,numTxPkt,idleTime) %vhtSigRecGenerateWaveform Featured example helper function % % Generates an impaired multi-packet VHT waveform % Copyright 2015-2016 The MathWorks, Inc. rngState = rng(120); % Set random state txPSDUPerPkt = randi([0,1],8*cfgVHTTx.PSDULength,1,'int8'); % Generate multi-packet waveform with PSDU repeatedly applied. With each % packet containing the same PSDU, this enables us to perform packet error % checking after recovering the packets. txWave = wlanWaveformGenerator(txPSDUPerPkt,cfgVHTTx, ... 'NumPackets',numTxPkt,'IdleTime',idleTime); % Pass through a TGac fading channel with leading zeros sr = helperSampleRate(cfgVHTTx.ChannelBandwidth); tgnChannel = wlanTGacChannel( ... 'SampleRate', sr, ... 'DelayProfile', delayProfile, ... 'ChannelBandwidth', cfgVHTTx.ChannelBandwidth, ... 'NumTransmitAntennas', cfgVHTTx.NumTransmitAntennas, ... 'NumReceiveAntennas', numRx, ... 'LargeScaleFadingEffect', 'None'); % No path loss or shadowing chanOut = tgnChannel( ... [zeros(round(idleTime*sr),cfgVHTTx.NumTransmitAntennas); txWave]); % Add carrier frequency offset chanOut = helperFrequencyOffset(chanOut, sr, cfo); % Add noise awgnChannel = comm.AWGNChannel( ... 'NoiseMethod', 'Variance', ... 'Variance', 10^(noisePower/10)); rxWaveform = awgnChannel(chanOut); rng(rngState); % Restore random state end