Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- for i = 5
- fileNumber = i;
- fileName = i + ".wav";
- fileName = char(fileName);
- [y,Fs] = audioread(fileName);
- x = length(y);
- %Threshold
- for(i = 1:x e)
- y(i) = (y(i)>0.4);
- end
- %Find asynchronous clock
- %Finds the gaps between changes
- changesCounter = 0;
- changeSamples = zeros(1,10000);
- prevState = 0;
- for i = 1:x
- changeSamples(changesCounter + 1) = changeSamples(changesCounter + 1) + 1;
- if y(i) ~= prevState % Changed State
- prevState = y(i);
- changesCounter = changesCounter + 1;
- changeSamples(changesCounter + 1) = 0;
- end
- end
- changeTime = changeSamples ./ Fs;
- clockPeriod = min(changeTime(changeTime>0));
- clockPeriod = round(0.001,3);
- samplesPeriod = clockPeriod .* Fs *1.2;
- periodCounter = samplesPeriod;
- binaryIndex = 1;
- for i = 1:x
- periodCounter = periodCounter - 1;
- if y(i) ~= prevState || periodCounter <= 0 % Changed State or clock
- binary(fileNumber, binaryIndex) = y(i);
- binaryIndex = binaryIndex + 1;
- z = y(i);
- periodCounter = samplesPeriod;
- end
- prevState = y(i);
- end
- plot(y);
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement