ReSpeaker DSP V02

Dependencies:   mbed MbedJSONValue

Committer:
Arkadi
Date:
Thu Jun 20 09:06:46 2019 +0000
Revision:
14:8a4699aa69b5
Parent:
1:574b54755983
experiments version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Arkadi 1:574b54755983 1 function [Amp, Diff] = AmplCalc(L) % L - length of vector
Arkadi 1:574b54755983 2 %Value of Playback and Avisoft should be taken from calibration
Arkadi 1:574b54755983 3
Arkadi 1:574b54755983 4 % Frequency Vector - KHz
Arkadi 1:574b54755983 5 % [30 35 40 45 50 55 60 65 70 75 80 85 90 95 100 105 110 115 120 125 130 Fd12/2];
Arkadi 1:574b54755983 6 % Playback (dB)
Arkadi 1:574b54755983 7 Plb = [-23.12 -19.87 -20.77 -26.72 -25 -30.42 -24 -23.25 -22.57 -21.31 -24.32 -24.71 -27.67 -30.61 -33.26 -33.05 -31.94 -35 -37.5 -41.78 -49.73];
Arkadi 1:574b54755983 8 %Recorded by Avisoft
Arkadi 1:574b54755983 9 Avs = [-35.7 -33.9 -33.7 -35.35 -32.84 -35.11 -32.56 -33.19 -34.7 -30.73 -32.43 -32 -30.7 -32.6 -30.45 -29.24 -29.9 -29.28 -29.27 -32.77 -32.7];
Arkadi 1:574b54755983 10
Arkadi 1:574b54755983 11 % dB = 10*log10(Amp^2)
Arkadi 1:574b54755983 12 % Amp = sqrt(10^(dB/10))
Arkadi 1:574b54755983 13
Arkadi 1:574b54755983 14 D1 = Plb(length(Plb));
Arkadi 1:574b54755983 15 Plb(length(Plb)+1 : length(Avs)) = D1;
Arkadi 1:574b54755983 16
Arkadi 1:574b54755983 17 Diff = Avs - Plb;
Arkadi 1:574b54755983 18 % Shift to average value
Arkadi 1:574b54755983 19 Diff = Diff - mean(Diff);
Arkadi 1:574b54755983 20 % Complete for high path filter
Arkadi 1:574b54755983 21 % 0 5 10 15 20 25 30 ... KHz
Arkadi 1:574b54755983 22 Amp = [0 0 0 0 0 0.1 sqrt(10.^(Diff/10))];
Arkadi 1:574b54755983 23 A1 = Amp(length(Amp));
Arkadi 1:574b54755983 24 Amp(length(Amp)+1 : L) = A1;
Arkadi 1:574b54755983 25