12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- % twotone.m
- % David Rowe Aug 2012
- % Used to experiment with combining phase of two tones
- function cbphase
- Wo = 100.0*pi/4000;
- L = floor(pi/Wo);
- phi = zeros(1,L);
- % two harmonics
- a = 20; b = 21;
- % set up phases to whatever
-
- phi(a) = -pi;
- phi(b) = -pi/2;
- % synthesis the two-tone signal
- N = 16000;
- Nplot = 250;
- s = zeros(1,N);
- for m=a:b
- s_m = cos(m*Wo*(0:(N-1)) + phi(m));
- s = s + s_m;
- endfor
- % now our theory says that this signal should be the same perceptually
- phi_(a) = (phi(a) - phi(b))/2;
- phi_(b) = (phi(b) - phi(a))/2;
- s_ = zeros(1,N);
- for m=a:b
- s_m = cos(m*Wo*(0:(N-1)) + phi_(m));
- s_ = s_ + s_m;
- endfor
- % plot them and see if envelope has the same phase, but "carriers"
- % have different phase
- figure(1);
- clf;
- subplot(211);
- plot(s(1:Nplot));
- subplot(212);
- plot(s_(1:Nplot),'r');
- endfunction
|