MATLAB: Plot with respect to time, not samples

audiotime plot

If I record me voice, using audiorecorder, for 2 seconds at a sampling frequency of 8,000 Hz, then I will have 16,000 values. If I plot this, the x-axis goes from 0 to 16,000 – How do I make the x-axis represent time in seconds, i.e., from 0 to 2 seconds instead of 0 to 16,000 samples?

Best Answer

You define the time variable yourself. You know that you sample at 9 kHz so you know that between each sample there is 1/8000 seconds. So;
time = 0:1/Fs:16000/Fs-1/Fs;
Then to plot you do;
plot(time,data)
If you already measured the time as well, just use that variable.
Related Question