Filter löschen
Filter löschen

play white noise for certain time

40 Ansichten (letzte 30 Tage)
Salvatore Lacava
Salvatore Lacava am 5 Jul. 2018
Bearbeitet: Aquatris am 30 Okt. 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 Kommentare
Aquatris
Aquatris am 6 Jul. 2018
Bearbeitet: Aquatris am 30 Okt. 2020
Follow the example from Matlabs website for fft , where they explain how to take fft of a signal.
Salvatore Lacava
Salvatore Lacava am 7 Jul. 2018
Your link is broken

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Hengameh Noshahri
Hengameh Noshahri am 30 Okt. 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!

Kategorien

Mehr zu Measurements and Spatial Audio finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by