You need to compute two scalar products, each for 0 bit and 1 bit. Then just compare it. That'a ALL!!! If you are afraid of amplitude being negative then abs() each product and compare them after. There is no need to fuss about anything: carriers and constant level orthogonal to each other and noise guaranteed to be small by problem statement. Well, if noise was too big betrayer would never be able to transmit his data. Even if every bit was transmitted with differen amplitude and different constant level this approach still would work. I just do not undestand why this problem is rated soooooo high?! Noise()  is constant, or linear, trigonometric, or random function??? 1. Minimize sum of squares of differences, not sum of absolute values of differences. 2. It is important, that constant AMP (amplitude) is the same for all bits. 3. There is no test with negative amplitude. Hint should be: notion of appropriate statistical processing: extracting a and b in a+b*k from noise Or MNK Or sequental analysis Or maching learning Or optimal decision theory What artical in Wikpedia should read? Would you be so kind to give the slightly more detailed description of your solution? I tried to used DFT but it seems to be too sensitive to noise. I heard of ArctanDifferentiated Demodulator, but I can't find the literature on this theme. Does anybody know, is it applicable here? Use OLS (ordinary least squares) estimator for this problem Thanks a lot. I've never used this method before. But it's worth keeping in mind :) я решаю через количество пересечений графиком синуса ось ох, вроде алгоритм правильный а преодолеть третий тест не могу. помогите пожалуйста!!! In russian, "кочевники ограбили очередной корован". Right word "караван". All printable nonspace & nonletter characters? 
