How can I use AWGN Channel Block to specify a SNR respect my signal power?
6 views (last 30 days)
Show older comments
Hello all,
I would like to use simulik AWG Channel Block to add certain Noise power to my signal. My desired signal is a 802.11p signal that I am creating with wlanNonHTConfig together with wlanWaveformGenerator as shown below
cfgNHT = wlanNonHTConfig;
cfgNHT.ChannelBandwidth = 'CBW10';
cfgNHT.PSDULength = psduLen;
cfgNHT.MCS = mcs;
%% Packet parameters
% Create random data; PSDULength is in bytes
savedState = rng(0); % Set random state
data = randi([0 1],cfgNHT.PSDULength*8*numPackets,1);
% Generate a multi-packet waveform
waveForm80211p = wlanWaveformGenerator(data,cfgNHT, 'NumPackets',numPackets,'IdleTime',idleTime);
fs = wlanSampleRate(cfgNHT);
disp(['Baseband sampling rate: ' num2str(fs/1e6) ' Msps, with sampling frequency ' num2str(fs/1e6) 'MSsamples/s']);
Signal s = waveForm80211p will be imported into Simulink ( as timeseries) and there I will add white gaussian noise using the block AWG Channel Block as depicted below
However, in order to make use of the block AWGN I need the parameter called Input signal power, referenced to 1 ohm (watts), but how can I get this parameter from my waveForm80211p?
I have tried to use the signalAnalyzer to get an estimation of the signal power, being that it is roughtly Power=~-37dB.
So I have applied this will give a value of Power=1.4125e-02, is this the value that I need to set in Input signal power, referenced to 1 ohm (watts) ? If not, can someone help me to get the right value to set there?
Thanks in advance,
regards
0 Comments
Answers (1)
Umeshraja
on 14 Nov 2024 at 4:50
Edited: Umeshraja
on 14 Nov 2024 at 4:50
I understand you wanted to find Input Signal Power of the IEEE802.11p Waveform. It's important to note that each packet generated by the wlanWaveformGenerator is typically normalized to 1 watt (0 dBW) if there is no idle time. You can verify this by using the following MATLAB code snippet:
numPackets=10;
psduLen=500;
mcs=2;
cfgNHT = wlanNonHTConfig;
cfgNHT.ChannelBandwidth = 'CBW10';
cfgNHT.PSDULength = psduLen;
cfgNHT.MCS = mcs;
%% Packet parameters
% Create random data; PSDULength is in bytes
savedState = rng(0); % Set random state
data = randi([0 1],cfgNHT.PSDULength*8*numPackets,1);
% Generate a multi-packet waveform
waveForm80211p = wlanWaveformGenerator(data,cfgNHT, 'NumPackets',numPackets);
Power=var(waveForm80211p) %in Watts
If you have idle time in your signal, it will affect the power calculation, and you might want to refer to the following MATLAB Answer on how idle time influences the power.
Additionally, for computing the power of a signal in Simulink, you can check out the following example
Hope it helps!
0 Comments
See Also
Categories
Find more on Propagation and Channel Models in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!