MATLAB: Question about the signal smoothing example

averagingSignal Processing Toolboxsignal smoothingsmoothing

Hello,
I have a question about the signal smoothing example given in the documentation of Matlab.
load bostemp
days = (1:31*24)/24;
plot(days, tempC)
axis tight
ylabel('Temp (\circC)')
xlabel('Time elapsed from Jan 1, 2011 (days)')
title('Logan Airport Dry Bulb Temperature (source: NOAA)')
I understand that this example wants to emphasize that the measurements are taken 24 hours a day, 31 days for January. So the variable 'days' ranges from 1 to 31*24. But why divide it by 24?
Also,
hoursPerDay = 24;
coeff24hMA = ones(1, hoursPerDay)/hoursPerDay;
avg24hTempC = filter(coeff24hMA, 1, tempC);
plot(days,[tempC avg24hTempC])
I understand that this example refers to the moving average of length N (in this case N = 24). I don't understand why there is a need to set N = 24. Why can't it be just N = 1?
Thanks for your insights

Best Answer

For the first question, the data is recorded hourly, so the samples are done in 1:31*24. However, in the display, the x axis is labeled as days, that's why it needs to be divided by 24.
For the second question, the N is basically the window length you use to smooth the data. The longer the window is, the smoother the curve you get, but you also lose all the sudden changes in between. In this case it wants to smooth the data over a 24 hour period, that's why the N is set to 24. If you set N to 1, since the data is recorded hourly rate, there will be essentially no smoothing.
HTH