Peak to average power ratio (PAPR)
108 views (last 30 days)
Show older comments
Hello,
Given a predefined PAPR (e.g. 10dB) and a signal, I want to generate a noisy signal so that
PAPR = 10*log10(PowerPeakAmplitude/PowerAverage):
This is what I've tried so far:
function noisy_signal = addNoiseToSignal(signal,papr)
% calculate the power of the peak amplitude peakPowerValue = max(signal.^2);
% signal length N = length(signal);
% calculate the average power of the noise noisepower = peakPowerValue /(10^(papr/10));
% generate noise noisesignal = randn(1,length(signal))*sqrt(noisepower);
% create noisy signal noisy_signal = signal + noisesignal;
The problem is that when I can't get a correct signal with the given noisepower.
Mar
2 Comments
Yasir Ahmed
on 22 Jan 2021
Edited: Yasir Ahmed
on 22 Jan 2021
PAPR=max((abs(x)).^2)/mean((abs(x)).^2)
Pendukeni Phalaagae
on 23 May 2021
Thank you so much Yasir Ahmed,what does max((abs(x)).^2) present and mean((abs(x)).^2)?
Does mean((abs(x)). ^2) present avergage power and
max((abs(x)). ^2) present peak power
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!