a, Simultaneous measurement of two odours (Odour 1: α-Terpinene; AT, Odour 2: ethyl butyrate; EB) using a dual-energy photoionisation detector (Extended Data Fig. 10a-e, Supplementary Methods Fig. 2) at d=40cm, presented either from one source or separated from each other by s=50 cm, with complex airflow in the laboratory. b, Correlation coefficients over all recordings for odours from the same source and for odour sources separated by s=10-50cm (EB vs. AT; n=61 for Mix, n=71 for each individual distance; unpaired two-sided t-test). Boxes indicate 25th–75th percentiles, thick line is median, whiskers are most extreme data points not considered outliers, see Methods. c, Example plumes used for training animals on a virtual source separation task to discriminate between odour stimuli derived from the same one source (Unrewarded, S-) and from separated sources recordings (Rewarded, S+). d, Example learning curve for a mouse trained to perform the virtual source separation task. Isoamyl acetate and ethyl butyrate were used as odour stimuli. e, Average accuracy over different variants of the task, calculated over the last 2400 trials of virtual source separation training (n=11 mice, p<0.0001, unpaired t-test, compared to chance performance), and subsequent stages where probe trials containing novel plume types are interleaved with the training set. Responses are compared between probe and training plumes within each stage. Probe plumes: odours fluctuate in a perfectly correlated manner, with a novel temporal structure (120 probe trials, in a segment of 2400 trials, n=11 mice, paired t-test). Probe 2Hz, 20Hz, 40Hz: Correlated/anti-correlated square pulse trains (50 probe trials per frequency, in a segment of 1650 trials, n=9 mice). Responses to 2Hz, 20Hz and 40Hz probe trials were shuffled 10000 times to calculate chance performance; data is mean±SD; unpaired two-sided t-test.