I have a mix signals (2 signals with different dc offset). How to recover another dc value which has been buried by the stronger dc value? Let say I have a time-varying signal which is a mixture of two signals with different dc offsets. If I apply the fft on that signal, I will only get the dc value (at f=0hz) with stronger energy. How can I obtain another dc value which has less energy?

Is there any other methods that I can use to extract both dc values?
Please advice. Thank you.

Additional info:

I have a mix signal and it contains 2 signals with different frequency; one is at 20hz and another one is at 40hz. Also these 2 signals have different dc offsets. I am interested to obtain the dc offsets for both signals so I use the signal processing toolbox in Matlab to perform the FFT analysis in order to find the dc values (at f=0hz).

However,I found out that only dc value (measured in power spectral density) at 20hz appears at the resulted FFT. How do I know that the appear dc value is belong to 20hz? I know it because I firstly measured the 20hz signal individually and obtain its dc offset and then do the same thing for 40hz signal (from here I know that the dc value for 40hz is smaller than 20hz). Only then, I measured both signals concurrently to obtain the mix signals.
In general, to be able to separate two signals, you need two different mixtures of there signals. It's very similar to solving a system of equations with two unknowns. You need two equations if you have two unknowns. If you simply have a signal which is a sum of two other signals, you cannot retrieve the individual components.