12345678910111213141516171819202122232425262728293031323334353637 |
- % pulse.m
- % David Rowe August 2009
- %
- % Experiments with human pulse perception for sinusoidal codecs
- function pulse(samname)
- A = 1000;
- K = 16000;
- N = 80;
- frames = K/N;
- s = zeros(1,K);
- for f=1:frames
- % lets try placing np random pulses in every frame
- P = 20 + (160-20)*rand(1,1);
- Wo = 2*pi/P;
- L = floor(pi/Wo);
- sf = zeros(1,N);
- for m=1:L/2:L
- pos = floor(rand(1,1)*N)+1;
- %pos = 50;
- for l=m:m+L/2-1
- sf = sf + A*cos(l*Wo*((f-1)*N+1:f*N) - pos*l*Wo);
- endfor
- endfor
- s((f-1)*N+1:f*N) = sf;
- endfor
- plot(s(1:250));
- fs=fopen(samname,"wb");
- fwrite(fs,s,"short");
- fclose(fs);
- endfunction
|