Azzera filtri
Azzera filtri

play white noise for certain time

40 visualizzazioni (ultimi 30 giorni)
Salvatore Lacava
Salvatore Lacava il 5 Lug 2018
Modificato: Aquatris il 30 Ott 2020
Hi I have few questions. I want to play a white noise sound for 20 ms, but I am not sure how to check which frequencies are used to produce white noise. This is the code I am using: x=wgn(200,1,0); sound(x,10000)
But I don't think this is producing what I want. Also I have a doubt: the matrix x contains values from -3 to +3, but I don't see why. I would expect those to be the frequencies, but if I generate a white noise then the frequencies should range from 20 Hz to 20 kHz, right?
  7 Commenti
Aquatris
Aquatris il 6 Lug 2018
Modificato: Aquatris il 30 Ott 2020
Follow the example from Matlabs website for fft , where they explain how to take fft of a signal.
Salvatore Lacava
Salvatore Lacava il 7 Lug 2018
Your link is broken

Accedi per commentare.

Risposte (1)

Hengameh Noshahri
Hengameh Noshahri il 30 Ott 2020
Fs = 96000; % sampling frequency in Hz
Ts = 1/Fs; % sampling time in seconds
te = 5; % signal duration in seconds
y = randn(te*Fs,1); % generate White noise of duration te
t = 0:Ts:te; % generate a time array
N = size(t,2); % size of the signal
N = pow2(nextpow2(N)); % change N for efficiency in FFt calculation
Freq = Fs/2 * linspace(0, 1, N/2+1); % generate a frequency array
Y = fft(y,N)*(N-1)*Ts/N; % calculate FFT of the signal
YMag = abs(Y); % magnitude of FFT signal
plot(Freq,YMag(1:N/2+1)), ylabel('FFT'), xlabel('Frequency [Hz]')
sound(y,Fs,24); % listen to the generated noise if you feel adventurous!

Categorie

Scopri di più su Measurements and Spatial Audio in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by