Hi,
The array f stores the audio data obtained as a numeric array in MATLAB. This is not the same as an array containing the frequency values which in this case is freq. So instead of using the command plot(f,ffilt) to plot the clean PSD, you can use the following command
plot(freq(L),PSDclean(L))
Here L denotes the number of samples in the first half of the freq values.
Hope this helps!