рдирдореВрдиреЛрдВ рдХрд╛ рдПрдХ рдХреНрд░рдо рд╣реИ
x0,x1,x2, dotsред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рджреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ
y0 рдФрд░
s0 ред рдПрдХ рдирдпрд╛ рдирдореВрдирд╛ рдЕрдиреБрдХреНрд░рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
y0,y1,y2 dotsред ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд╣рд▓рд╛ рдЖрдЙрдЯрдкреБрдЯ рдирдореВрдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреНрдЮрд╛рдд рд╣реИ: рдпрд╣ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд╕рд╛рде рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ
y0 ред рдпрд╣ "рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рд╕реНрдерд╛рдкрди" рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЗрдирдкреБрдЯ (рд╕реНрд░реЛрдд) рдирдореВрдиреЗ рдЪрд╛рд░ рдмрд┐рдЯреНрд╕ рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВред рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдкреВрд░реНрдгрд╛рдВрдХ -8 рд╕реЗ 7 рддрдХ, рд╕рдорд╛рд╡реЗрд╢реА, рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рдВрдХреЗрдд рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЖрдЙрдЯрдкреБрдЯ рдкреАрд╕реАрдПрдо рдирдореВрдиреЗ, рдЬреЛ рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдХреЗ рдмрд╛рдж рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ, рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд┐рдП рдЧрдП 16-рдмрд┐рдЯ рдорд╛рдирдХ рдкреНрд░рд╛рд░реВрдк рд╣реЛрддреЗ рд╣реИрдВред
C рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реБрдП, рдЖрдк рджреЛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдиреАрдЪреЗ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВред
int ima_index_table[] = { -1, -1, -1, -1, 2, 4, 6, 8 };
int ima_step_table[] = { 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 21, 23, 25, 28, 31, 34, 37, 41, 45, 50, 55, 60, 66, 73, 80, 88, 97, 107, 118, 130, 143, 157, 173, 190, 209, 230, 253, 279, 307, 337, 371, 408, 449, 494, 544, 598, 658, 724, 796, 876, 963, 1060, 1166, 1282, 1411, 1552, 1707, 1878, 2066, 2272, 2499, 2749, 3024, 3327, 3660, 4026, 4428, 4871, 5358, 5894, 6484, 7132, 7845, 8630, 9493, 10442, 11487, 12635, 13899, 15289, 16818, 18500, 20350, 22385, 24623, 27086, 29794, 32767 };
рдЗрди рджреЛ "рдЬрд╛рджреВ" рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд╕рд╛рд░рдгреАрдмрджреНрдз рдХрд╛рд░реНрдп рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рди рддрд░реНрдХреЛрдВ рдореЗрдВ рд╕рдорд╛рди рджреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рджреМрд░рд╛рди, рдкреНрд░рддреНрдпреЗрдХ рдЪрд░рдг рдХреЗ рд╕рд╛рде, рдЗрди рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкреБрдирд░реНрдЧрдгрдирд╛ рдФрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреЛрдб рдореЗрдВ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдо рд╕рд╣рд╛рдпрдХ рдЪрд░реЛрдВ рд╕рд╣рд┐рдд рдЖрд╡рд╢реНрдпрдХ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
int current1; int step; int stepindex1; int diff; int current; int stepindex; int value;
рдЪрд▓рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рдЪрд░ рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛
y0 , рдФрд░ рдЪрд░ stepindex рд╣реИ
s0 ред рдпрд╣ рдкреНрд░рд╢реНрди рдореЗрдВ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдмрд╛рд╣рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЛрдб рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд░реВрдкрд╛рдВрддрд░рдг рд╣реИрдВ рдЬреЛ рдПрдХ рд╕рд░реНрдХрд▓ рдореЗрдВ (рдПрдХ рд▓реВрдк рдореЗрдВ) рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
value = read(input_sample);
Ima_step_table рд╕рд░рдгреА рд╕реЗ рд╕рд╣рд╛рдпрдХ рдЪрд░ рдЪрд░рдг рдореЗрдВ, рд╕реВрдЪрдХрд╛рдВрдХ stepindex1 рдкрд░ рдорд╛рди рд▓рд┐рдЦрд╛ рд╣реИред рдкрд╣рд▓реЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ
s0 , рдЖрдЧреЗ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рдкреБрдирд░реНрдЧрдгрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ
si ред рдлрд┐рд░ рдЗрд╕ рдРрд░реЗ рд╕реЗ рдорд╛рди рдХреЛ рджрд╛рдИрдВ рдУрд░ рдПрдХ рдмрд┐рдЯ рд╢рд┐рдлреНрдЯ рдСрдкрд░реЗрд╢рди рджреНрд╡рд╛рд░рд╛ 8 (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдкреВрд░реА рддрд░рд╣ рд╕реЗ) рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдбрд┐рд╡реАрдЬрди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдЖрд░рдВрднрд┐рдХ рд░реВрдк рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░, рдЗрдирдкреБрдЯ рдирдореВрдиреЗ рдХреЗ рдореВрд▓реНрдп рдХреЗ рддреАрди рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░, рдЙрдирдХреЗ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрд░ рдХреЛ рддреАрди рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╢рдмреНрдж 4 (>> 2), 2 (>> 1) рджреНрд╡рд╛рд░рд╛ рдЕрдВрддрд░ рдорд╛рди рдХрд╛ рдПрдХ рд╕рдорд╛рди рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рднрд╛рдЬрди рд╣реИ рдпрд╛ рдмрд┐рдирд╛ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЕрд▓рдЧ рд╣реИ (рдЗрд╕реЗ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рдХреЗ рд▓рд┐рдП 1 рд╕реЗ рд╡рд┐рднрд╛рдЬрди рдХрд░реЗрдВ)ред рдлрд┐рд░, рдЗрдирдкреБрдЯ рдирдореВрдиреЗ рдХреЗ рдореВрд▓реНрдп рдХрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг (рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд) рдмрд┐рдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╡реИрд░рд┐рдПрдмрд▓ рд╡реИрд░рд┐рдПрдмрд▓ рдпрд╛ рдкрд░рд┐рд╡рд░реНрддреА рдХрд░рдВрдЯ рдХреЛ рдШрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрдЙрдЯрдкреБрдЯ рдирдореВрдиреЗ рдХрд╛ рдореВрд▓реНрдп рд╣реЛрдЧрд╛ред рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП, рдорд╛рди рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВред рддрдм stepindex1 рд╢реВрдиреНрдп рд╕реЗ рд╕рд╛рдЗрди рдмрд┐рдЯ рд░реАрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЗрдирдкреБрдЯ рдирдореВрдиреЗ рдХреЗ рдореВрд▓реНрдп рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ ima_index_table рд╕рд░рдгреА рд╕реЗ рдореВрд▓реНрдп рдЬреЛрдбрд╝рдХрд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Stepindex1 рдорд╛рди рднреА рдПрдХ рд╕реАрдорд╛ рдХреЗ рдЕрдзреАрди рд╣реИрдВред рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ, рдЗрд╕ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╡рд░реНрддрдорд╛рди рдФрд░ рд╕реНрдЯреЗрдкрд┐рдВрдбреЗрдХреНрд╕ рдорд╛рдиреЛрдВ рдХреЛ рд╡рд░реНрддрдорд╛рди 1 рдФрд░ рд╕реНрдЯреЗрдкрдЗрдВрдбреЗрдХреНрд╕ 1 рдХреЗ рдмрд╕ рдкреБрдирд░рд╛рд╡рд░реНрддреА рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЛрд╣рд░рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрдк рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд▓рдЧрднрдЧ рднрд┐рдиреНрди рдЪрд░ рдХреИрд╕реЗ рдмрдирддрд╛ рд╣реИ, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдПред рдЪрд▓реЛ
fi=f(si) ред рдпреЗ рддрд░реНрдХ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ i-рд╡реЗрдВ рдЪрд░рдг рдХреЗ рдЪрд░рдг рдЪрд░ рдХреЗ рдорд╛рди рд╣реИрдВ, рддрд░реНрдХ рдХреЗ рдлрд╝рдВрдХреНрд╢рди (рд╕рд░рдгреА) рдХреЗ рдорд╛рди рдХреЗ рд░реВрдк рдореЗрдВ
si рдЬрд╣рд╛рдБ
i=0,1,2, dots ред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕ рд░реВрдк рдореЗрдВ рднрд┐рдиреНрди рдЪрд░ рдХреЛ рдирд┐рд░реВрдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
рдб ред рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рддрд░реНрдХ рдХреЗ рддрд░реНрдХ рдХреЗ рдмрд╛рдж, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИ:
d_i = \ frac {f_i} {8} + x ^ {(0)} _ i \ frac {f_i} {4} + x ^ {(1)} _ i \ frac {f_i} [2} + x ^ {( 2)} _ if_i,
рдЬрд╣рд╛рдБ
x(0)i,x(1)i,x(2)i - рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХрдо 3 рдмрд┐рдЯреНрд╕
xi ред рдПрдХ рдЖрдо рднрд╛рдЬрдХ рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рдгреА, рд╣рдо рдЗрд╕ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ:
di= fracfi8 Bigg(1+2x(0)i+4x(1)i+8x(2)i Bigg)=
= \ frac {f_i} 8 \ Bigg (1 + 2 \ Big (x_i ^ {(0)} + 2x_i ^ {(1)} + 4x_i ^ {(2)} \ Big) \ Big \ _) f_i} {8} (2x_i + 1)
рдЕрдВрддрд┐рдо рд░реВрдкрд╛рдВрддрд░рдг рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдХрд┐, рдПрдХ рдЕрд░реНрде рдореЗрдВ, рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдХрдо рд╕реЗ рдХрдо рддреАрди рдмрд┐рдЯреНрд╕ (0 рдпрд╛ 1)
xi рдкреНрд░рд╕реНрддреБрдд рдЧреБрдгрд╛рдВрдХ рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдирд┐рд░рдкреЗрдХреНрд╖ рдорд╛рди рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ рд╣реИ, рдФрд░ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯ
xi рдкреВрд░реА рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╕рдВрдХреЗрдд рд╕реЗ рдореЗрд▓ рдЦрд╛рдПрдЧрд╛ред рд╕реВрддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдЧреЗ
yi+1=yi+di
рдПрдХ рдирдП рдирдореВрдирд╛ рдореВрд▓реНрдп рдХреА рдЧрдгрдирд╛ рдкреБрд░рд╛рдиреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдирдпрд╛ рдЪрд░ рдореВрд▓реНрдп рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред
рдПрд╕ :
si+1=si+t(!xi|)ред
рд╕реВрддреНрд░ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЪрд░
xi рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ
рдЯреА рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рд╛рдЗрди рдмрд┐рдЯ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдЬреЛ рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдПрдХ рд╕рдорд╛рд░реЛрд╣
рдЯреА рддрд░реНрдХреЛрдВ рдХреЗ рдЕрдиреБрд░реБрдк ima_index_table рд╕рд░рдгреА рдХрд╛ рдорд╛рди рд╣реИред
рд╕реВрддреНрд░ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ, рдореИрдВрдиреЗ рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рдкреНрд░рддрд┐рдмрдВрдз рд╕рдВрдЪрд╛рд▓рди рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХреАред рдХреБрд▓ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдпреЛрдЬрдирд╛ рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
y0; s0; x0,x1,x2, dots
di= fracf(si)8 рдмрдбрд╝рд╛(2xi+1рдмрдбрд╝рд╛+);
yi+1=yi+di
si+1=si+t(|xi|)
i=0,1,2, dotsред
ADPCM рдПрдиреНрдХреЛрдбрд┐рдВрдЧ / рдбрд┐рдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ рдмрд╣реБрдд рдЧрд╣рд░рд╛рдИ рд╕реЗ рдореИрдВрдиреЗ рдирд╣реАрдВ рдбрд╛рд▓рд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, ima_step_table array (89 рдкреАрд╕) рдХреЗ рдЯреЗрдмрд▓ рд╡реИрд▓реНрдпреВ, рдЧреНрд░рд╛рдл рдкрд░ рдЙрдирдХреЗ рд░рд┐рдлреНрд▓реЗрдХреНрд╢рди рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП (рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЖрдВрдХрдбрд╝рд╛ рджреЗрдЦреЗрдВ), рдЬреАрд░реЛ рд▓рд╛рдЗрди рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕реИрдВрдкрд▓ рдХреЗ рдкреНрд░реЛрдмреЗрдмрд┐рд▓рд┐рд╕реНрдЯрд┐рдХ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрд╢рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ: рдирдореВрдирд╛ рд╢реВрдиреНрдп рд░реЗрдЦрд╛ рдХреЗ рдЬрд┐рддрдирд╛ рдХрд░реАрдм рд╣реЛрддрд╛ рд╣реИ, рдЙрддрдирд╛ рд╣реА рдЕрдзрд┐рдХ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдПрдбреАрдкреАрд╕реАрдПрдо рдПрдХ рд╕рдВрднрд╛рд╡реНрдп рдореЙрдбрд▓ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдФрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ 16-рдмрд┐рдЯ рдкреАрд╕реАрдПрдо рдирдореВрдиреЛрдВ рдХреЗ рдХрд┐рд╕реА рднреА рд╕реНрд░реЛрдд рдХреЛ 4-рдмрд┐рдЯ рдПрдбреАрдкреАрд╕реАрдПрдо рдирдореВрдиреЛрдВ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, ADPCM рдПрдХ рдЪрд░ рдкрд░рд┐рдорд╛рдгреАрдХрд░рдг рдХрджрдо рдХреЗ рд╕рд╛рде PCM рд╣реИред рдмрд╕, рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдпрд╣ рдЪрд╛рд░реНрдЯ рдЗрд╕ рдЪрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рд╡рд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЪреБрдирд╛ рдЧрдпрд╛ рд╣реИ, рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдСрдбрд┐рдпреЛ рдбреЗрдЯрд╛ рдХреЗ рд╡рд┐рддрд░рдг рдХреЗ рдХрд╛рдиреВрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред
