Matlab - Average White Noise PSD
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hey, I am currenctly facing the following problem: I have an audiosignal-vector y with a length of about 1e6. I want to add white noise to this signal and display the noises psd, which should be as flat as possible. The way I tried it:
[y,fs]=audioread('test.wav');
snr=5;
r=awgn(y,snr,'measured')-y; % There are other ways to create wgn but this shouldnt be the problem
MATp = zeros(length(r),50);
for i = 1:50
e=awgn(y,snr,'measured')-y;
[q,w]=pwelch(e,[],[],length(e)*2-1,fs);
MATp(:,i)=q;
end
p=mean(MATp')';
plot(w,p);
This works okay, but the psd is still far from flat. With 10000 psds to average it should be fine but this is way uses way too much memory. I found some other solutions on the internet but they all just worked with very short vectors (<<1e6). Are there any solutions for my Problem?
Thanks! Klaus
0 Kommentare
Antworten (0)
Siehe auch
Kategorien
Mehr zu Spectral Estimation finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!