Particulate matter (PM) is well known to be detrimental to health, and it is crucial to apportion PM into the underlying sources to target policies. Particle number size distribution (PNSD) is the most accessible data to identify these sources, which provides information on the PM sizes. Here, we propose a new functional factor model for PNSD, which allows to disentangle PM into sources and contributions while considering the complex dependencies of the data across different sizes and periods. Through a simulation study, we show that this method is able to identify sources correctly, and we use it to analyse hourly PNSD data collected in London for 7 years, finding 6 well-defined sources. Our proposed methodology is fast, accurate, and reproducible.