|
|
|
function SNR = demoAAC1(fNameIn, fNameOut)
|
|
|
|
%Implementation of WHAT?? //TODO!!
|
|
|
|
% Usage SNR = demoAAC1(fNameIn, fNameOut), where:
|
|
|
|
% Inputs
|
|
|
|
% - fNameIn is the filename and path of the file to encode
|
|
|
|
% - fNameOut is the filename and path of the file that will be
|
|
|
|
% written after decoding
|
|
|
|
%
|
|
|
|
% Output
|
|
|
|
% - SNR is the signal to noise ration computed after successively
|
|
|
|
% encoding and decoding the audio signal
|
|
|
|
|
|
|
|
AACSeq1 = AACoder1(fNameIn);
|
|
|
|
decodedAudio = iAACoder1(AACSeq1, fNameOut);
|
|
|
|
|
|
|
|
[audioData, ~] = audioread(fNameIn);
|
|
|
|
|
|
|
|
% figure()
|
|
|
|
% plot(audioData(1:length(decodedAudio), 1) - decodedAudio(1:end, 1))
|
|
|
|
% figure()
|
|
|
|
% plot(audioData(1:length(decodedAudio), 2) - decodedAudio(1:end, 2))
|
|
|
|
%
|
|
|
|
% snr(audioData(1:length(decodedAudio), 1), audioData(1:length(decodedAudio), 1) - decodedAudio(1:end, 1))
|
|
|
|
% snr(audioData(1:length(decodedAudio), 2), audioData(1:length(decodedAudio), 2) - decodedAudio(1:end, 2))
|
|
|
|
% SNR = 10*log10((sum(audioData(1:length(decodedAudio), :)) .^ 2) ./ ...
|
|
|
|
% (sum(audioData(1:length(decodedAudio), :) - decodedAudio) .^ 2));
|
|
|
|
|
|
|
|
figure()
|
|
|
|
plot(audioData(1024:length(decodedAudio)-1024, 1) - decodedAudio(1024:end-1024, 1))
|
|
|
|
figure()
|
|
|
|
plot(audioData(1024:length(decodedAudio)-1024, 2) - decodedAudio(1024:end-1024, 2))
|
|
|
|
|
|
|
|
snr(audioData(1024:length(decodedAudio)-1024, 1), audioData(1024:length(decodedAudio)-1024, 1) - decodedAudio(1024:end-1024, 1))
|
|
|
|
snr(audioData(1024:length(decodedAudio)-1024, 2), audioData(1024:length(decodedAudio)-1024, 2) - decodedAudio(1024:end-1024, 2))
|
|
|
|
SNR = 10*log10((var(audioData(1024:length(decodedAudio)-1024, :)) .^ 2) ./ ...
|
|
|
|
(var(audioData(1024:length(decodedAudio)-1024, :) - decodedAudio(1024:end-1024, :)) .^ 2));
|
|
|
|
end
|