рд╣реБрд░реНрд░реЗ рдкрд░ рдлреВрд░рд┐рдпрд░ рд░реВрдкрд╛рдВрддрд░рдг рдФрд░ рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ (рдбреАрдПрд╕рдкреА) рдЬреИрд╕реА рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реБрдВрджрд░ рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рд▓реЗрдЦ рдереЗ, рд▓реЗрдХрд┐рди рдЕрдиреБрднрд╡рд╣реАрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рдФрд░ рдХрд╣рд╛рдВ, рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред
рд╢реЛрд░ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛редрд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдЗрди рд▓реЗрдЦреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
рдпрд╣ рдПрдХ ) рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реБрдЖ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдерд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рдереА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рд╕реБрдВрджрд░ рдерд╛ред
рдореИрдВ рди рдХреЗрд╡рд▓ рд╕реБрдВрджрд░ рдЪрд┐рддреНрд░ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдмрд▓реНрдХрд┐ рдпрд╣ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рджрд┐рд▓ рдореЗрдВ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдФрд░ рдореИрдВ рдСрдбрд┐рдпреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдкреАрдврд╝реА рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред рдзреНрд╡рдирд┐ рдХреЛ рд╕реБрдирдирд╛ рдФрд░ рдЗрд╕рдХреЗ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреЛ рджреЗрдЦрдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдФрд░ рд╕рдордЭреЗрдВ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИред
рдпрд╣ рдЖрд▓реЗрдЦ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬреЛ рдПрдХ рдЬрдЯрд┐рд▓ рдЪрд░, рдбреАрдПрд╕рдкреА рдФрд░ рдЕрдиреНрдп рдбрд░рд╛рд╡рдиреЗ рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдорд╛рд▓рд┐рдХ рд╣реИрдВред рдпрд╣ рдЙрддреНрд╕реБрдХ, рд╕реНрдХреВрд▓реА рдмрдЪреНрдЪреЛрдВ, рдЫрд╛рддреНрд░реЛрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рд╕рд╣рд╛рдиреБрднреВрддрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ :)ред
рдореИрдВ рддреБрд░рдВрдд рдЖрд░рдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛, рдореИрдВ рдЧрдгрд┐рддрдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВ, рдФрд░ рдореИрдВ рдХрдИ рдЪреАрдЬреЛрдВ рдХреЛ рдЧрд▓рдд рднреА рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ (рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕рдВрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рд╕рд╣реА), рдФрд░ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрднрд╡ рдФрд░ рд╡рд░реНрддрдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЕрдкрдиреА рд╕рдордЭ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВред рдЕрдЧрд░ рдЖрдк рддреИрдпрд╛рд░ рд╣реИрдВ, рддреЛ рдЪрд▓рд┐рдПред
рдореИрдЯрд░рд┐рдпрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрдж
рдпрджрд┐ рд╣рдо рдЧрдгрд┐рдд рдореЗрдВ рд╕реНрдХреВрд▓ рдХреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдордиреЗ рд╕рд╛рдЗрди рдЧреНрд░рд╛рдл рдХреЛ рдкреНрд▓реЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░реНрдХрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдШреВрд░реНрдгреА рдЧрддрд┐ рдХреЛ рд╕рд╛рдЗрдирд╕реЙрдЗрдб (рдХрд┐рд╕реА рднреА рд╣рд╛рд░реНрдореЛрдирд┐рдХ рджреЛрд▓рди рдХреА рддрд░рд╣) рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЪрд┐рддреНрд░рдг
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкрд░
рд╣реИред
рд╣рд╛рд░реНрдореЛрдирд┐рдХ рдХрдВрдкрдирдпрд╛рдиреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рд╛рдЗрди рдЧреНрд░рд╛рдл рд╡реЗрдХреНрдЯрд░ рдХреЗ рд░реЛрдЯреЗрд╢рди рд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╕реВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
f(x) = A sin (╧Йt + ╧Ж),
рдЬрд╣рд╛рдБ A рд╡реЗрдХреНрдЯрд░ рдХреА рд▓рдВрдмрд╛рдИ (рджреЛрд▓рдиреЛрдВ рдХрд╛ рдЖрдпрд╛рдо) рд╣реИ, ╧Й рд╢реВрдиреНрдп рд╕рдордп рдкрд░ рд╡реЗрдХреНрдЯрд░ рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХреЛрдг (рдЪрд░рдг) рд╣реИ, zero рд░реЛрдЯреЗрд╢рди рдХрд╛ рдХреЛрдгреАрдп рд╡реЗрдЧ рд╣реИ, рдЬреЛ рдЗрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ:
╧Й = 2 ,f, рдЬрд╣рд╛рдВ рдПрдл рд╣рд░реНрдЯреНрдЬ рдореЗрдВ рдЖрд╡реГрддреНрддрд┐ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рд╕рд┐рдЧреНрдирд▓ рдХреА рдЖрд╡реГрддреНрддрд┐, рдЖрдпрд╛рдо рдФрд░ рдХреЛрдг рдХреЛ рдЬрд╛рдирддреЗ рд╣реБрдП, рд╣рдо рдПрдХ рд╣рд╛рд░реНрдореЛрдирд┐рдХ рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬрд╛рджреВ рддрдм рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдмрд┐рд▓реНрдХреБрд▓ рдХрд┐рд╕реА рднреА рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рдЗрдирд╕реЛрдЗрдбреНрд╕ рдХреЗ рдпреЛрдЧ (рдЕрдХреНрд╕рд░ рдЕрдирдВрдд) рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдлреВрд░рд┐рдпрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд░реВрдк рдореЗрдВред
рдореИрдВ рдЕрдВрдЧреНрд░реЗрдЬрд╝реА
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ sawtooth рд╕рдВрдХреЗрдд рд▓реЗ рд▓реЛред
рдмрдврд╝рд╛рдирд╛рдЗрд╕рдХреА рд░рд╛рд╢рд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрддреНрд░ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдИ рдЬрд╛рдПрдЧреА:

рдпрджрд┐ рд╣рдо рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрдХреНрд╖реЗрдк рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реЗ n = 1, рдлрд┐рд░ n = 2, рдЖрджрд┐ рд▓реЗрдВ, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╣рдорд╛рд░рд╛ рд╣рд╛рд░реНрдореЛрдирд┐рдХ рд╕рд╛рдЗрдирд╕реЙрдЗрдбрд▓ рд╕рд┐рдЧреНрдирд▓ рдзреАрд░реЗ-рдзреАрд░реЗ рдПрдХ рдЖрд░рд╛ рдореЗрдВ рдХреИрд╕реЗ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ:

рд╕рдВрднрд╡рддрдГ рд╕рднреА рдХрд╛ рд╕рдмрд╕реЗ рд╕реБрдВрджрд░ рдЪрд┐рддреНрд░рдг рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЦреБрд▓реЗ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдорд┐рд▓рд╛ рдерд╛ред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдКрдкрд░ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рд╕рд╛рдЗрди рдЧреНрд░рд╛рдл рдПрдХ рдШреВрд░реНрдгрди рд╡реЗрдХреНрдЯрд░ рдХрд╛ рдПрдХ рдкреНрд░рдХреНрд╖реЗрдкрдг рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдпрд╣, рд╡рд┐рдЪрд┐рддреНрд░ рд░реВрдк рд╕реЗ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдШреВрдордиреЗ рд╡рд╛рд▓реЗ рд╡реИрдХреНрдЯрд░ рдХреЗ рд╕реЗрдЯ рдХрд╛ рдкреНрд░рдХреНрд╖реЗрдкрдг, рдпрд╛ рдЙрдирдХреА рд░рд╛рд╢рд┐, рдФрд░ рдпрд╣ рд╕рдм рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
рд╡реЗрдХреНрдЯрд░ рдПрдХ рдЖрд░реА рдбреНрд░рд╛редрд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рд╕реНрд╡рдпрдВ
рд▓рд┐рдВрдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рд╕реНрд╡рдпрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рд┐рдЧреНрдирд▓ рдХреИрд╕реЗ рдмрджрд▓рддрд╛ рд╣реИред IMHO рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзрд┐рдХ рджреГрд╢реНрдп рдЦрд┐рд▓реМрдирд╛ рд╣реИ, рдореБрдЭреЗ рдЕрднреА рддрдХ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред
рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рд╡реНрдпреБрддреНрдХреНрд░рдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╕рд┐рдЧреНрдирд▓ рд╕реЗ рдЖрд╡реГрддреНрддрд┐, рдЖрдпрд╛рдо рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг (рдХреЛрдг) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдЬрд┐рд╕реЗ рдлреВрд░рд┐рдпрд░ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреБрдЫ рдЬреНрдЮрд╛рдд рдЖрд╡рдзрд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдлреВрд░рд┐рдпрд░ рд╡рд┐рд╕реНрддрд╛рд░ ( рдпрд╣рд╛рдБ рд╕реЗ )рдореИрдВ рдЗрд╕ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ рдЗрд╕реЗ рдЬреАрд╡рди рдореЗрдВ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрджрд░реНрднреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ, рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдореИрдЯрд░рд┐рдпрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ!
рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЫрд╛рддреНрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛рди рдореЗрдВ рдмреИрдарддреЗ рд╕рдордп рдПрдХ рдкреНрд░рд╢реНрди рдкреВрдЫрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдордЯрди рдкрд░: рдореБрдЭреЗ рдпрд╣ рд╕рдм рдмрдХрд╡рд╛рд╕ рдХреНрдпреЛрдВ рдЪрд╛рд╣рд┐рдП? рдФрд░ рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рднрд╡рд┐рд╖реНрдп рдХреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЬрд╡рд╛рдм рдирд╣реАрдВ рдвреВрдВрдврдирд╛, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд┐рд╖рдп рдореЗрдВ рд░реБрдЪрд┐ рдЦреЛ рджреЗрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рддреБрд░рдВрдд рдЗрд╕ рдЬреНрдЮрд╛рди рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛, рдФрд░ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдЬреНрдЮрд╛рди рдХреЛ рд╕реНрд╡рдпрдВ рддреИрдпрд╛рд░ рдХрд░ рд▓реЗрдВрдЧреЗ :)ред
рдореИрдВ рдореМрдХреЗ рдкрд░ рдЖрдЧреЗ рд╕рдм рдХреБрдЫ рд▓рд╛рдЧреВ рдХрд░реВрдВрдЧрд╛ред рдореИрдВрдиреЗ рд╕рдм рдХреБрдЫ рдХрд┐рдпрд╛, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд▓рд┐рдирдХреНрд╕ рдХреЗ рддрд╣рдд, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрдиреНрдп рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╕рдВрдХрд▓рди рдФрд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдзреНрд╡рдирд┐ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦреЗрдВред Wav рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдпрд╣рд╛рдБ рдкрдврд╝реЗрдВред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, wav рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рдВрд░рдЪрдирд╛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдмрддрд╛рдИ рдЧрдИ рд╣реИ: рдПрдХ рд╣реИрдбрд░ рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рд▓рдВрдмрд╛рдИ рдХрд╛ 16-рдмрд┐рдЯ рдбреЗрдЯрд╛ (рдЗрдВрдЧрд┐рдд) рдХрд╛ рдПрдХ рдирдореВрдирд╛ рд╣реИ: рдирдореВрдирд╛_рдлреНрд░реАрдХреНрд╡реЗрдВрд╕реА * рдЯреА рд╕реЗрдХрдВрдб рдпрд╛ 44100 / - рдЯреА рдЯреБрдХрдбрд╝реЗред
рдПрдХ рдСрдбрд┐рдпреЛ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛, рдФрд░ рдореЗрд░реЗ рд╕рдВрдкрд╛рджрди рдХреЗ рд╕рд╛рде рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдЕрдм рдпрд╣рд╛рдБ рдЬреАрдердм рдкрд░ рд╣реИ
github.com/dlinyj/generate_wavрд╣рдо 100 рд╣рд░реНрдЯреНрдЬ рдХреА рд╢реБрджреНрдз рд╕рд╛рдЗрди рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рджреЛ рд╕реЗрдХрдВрдб рдХреА рдзреНрд╡рдирд┐ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВ:
#define S_RATE (44100)
рдореИрдВ рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╢реБрджреНрдз рд╕рд╛рдЗрди рдХреЗ рд▓рд┐рдП рд╕реВрддреНрд░ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдордиреЗ рдКрдкрд░ рдмрд╛рдд рдХреА рдереАред 32000 рдХрд╛ рдЖрдпрд╛рдо (рдЖрдк 32767 рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ) рдПрдХ рдореВрд▓реНрдп рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ 16-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛ (рд╢реВрдиреНрдп рд╕реЗ 32767 рд╕реЗ рдкреНрд▓рд╕ 32767 рддрдХ) рд▓реЗ рд╕рдХрддрд╛ рд╣реИред
рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд
рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИ (рдЖрдк рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рдзреНрд╡рдирд┐-рдкреНрд░рдЬрдирди рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рде рднреА рд╕реБрди рд╕рдХрддреЗ рд╣реИрдВ)ред рдЗрд╕ рдСрдбреЗрд╕рд┐рдЯреА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрд▓реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд╕рд┐рдЧреНрдирд▓ рдЧреНрд░рд╛рдл рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢реБрджреНрдз рд╕рд╛рдЗрди рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ:
рд╢реБрджреНрдз рдЯреНрдпреВрдм рд╕рд╛рдЗрдирдЖрдЗрдП рдЗрд╕ рд╕рд╛рдЗрди рдХреЗ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреЛ рджреЗрдЦреЗрдВ (рд╡рд┐рд╢реНрд▓реЗрд╖рдг-> рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдЧреНрд░рд╛рдл рдмрдирд╛рдПрдБ)
рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХрд╛ рдЧреНрд░рд╛рдл100 рд╣рд░реНрдЯреНрдЬ (рд▓рдШреБрдЧрдгрдХреАрдп рдкреИрдорд╛рдиреЗ) рдкрд░ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╢рд┐рдЦрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рдПрдХ рдЖрдпрд╛рдо рдЖрд╡реГрддреНрддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реИред рдПрдХ рдЪрд░рдг-рдЖрд╡реГрддреНрддрд┐ рд╡рд┐рд╢реЗрд╖рддрд╛ рднреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ, рддреЛ рдореИрдВрдиреЗ рдКрдкрд░ рдХрд╣рд╛ рдерд╛ рдХрд┐ рд╕рд┐рдЧреНрдирд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡реГрддреНрддрд┐, рдЖрдпрд╛рдо рдФрд░ рдЪрд░рдг рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рддреЛ, рдЖрдк рд╕рд┐рдЧреНрдирд▓ рд╕реЗ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдпрд╛рдо рдХреЗ рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЗ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рд╣реИ, рдФрд░ рдЖрдпрд╛рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЗрдХрд╛рдЗрдпреЛрдВ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрд╕реАрдмрд▓ рдореЗрдВ рд╣реИред
рдбреЗрд╕рд┐рдмрд▓ рдореЗрдВ рд╡реНрдпрдХреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдорд╛рди, рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЙрд╕реА рдирд╛рдо рдХреА рднреМрддрд┐рдХ рдорд╛рддреНрд░рд╛ рдХреЗ рднреМрддрд┐рдХ рдорд╛рддреНрд░рд╛ рдХреЗ рдЖрдпрд╛рдорд╣реАрди рдЕрдиреБрдкрд╛рдд рдХреЗ рджрд╢рдорд▓рд╡ рд▓рдШреБрдЧрдгрдХ рдХреЗ рдмрд░рд╛рдмрд░
рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рджрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд╕ рдЖрдпрд╛рдо рдХреЗ рд▓рдШреБрдЧрдгрдХ, 10. рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рдкреИрдорд╛рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрддрд╛ рд╣реИред
рд╕рдЪ рдХрд╣реВрдВ рддреЛ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреА рддрд░рд╣ рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛
рд▓рд╛рдареА рдФрд░ рд╡реЗрд╢реНрдпрд╛ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред
рд╣рдо рдЕрдкрдиреЗ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
рдпрд╣ рдпрд╣рд╛рдВ рдЙрдмрд╛рдК рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЕрдЧрд▓реЗ рдЕрдзреНрдпрд╛рдп рдкрд░ рд╕реАрдзреЗ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВредрдЪреВрдВрдХрд┐ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдб рдХреЗ рдкрджрдЪрд┐рд╣реНрдиреЛрдВ рдХреЛ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдордЭрджрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рд╡реЗ рд╕реНрд╡рдпрдВ рдЗрд╕реЗ рдвреВрдВрдвреЗрдВрдЧреЗ рдФрд░ рдЦреЛрджреЗрдВрдЧреЗ, рдФрд░ рдЬреЛ рд░реБрдЪрд┐ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ рд╡реЗ рдКрдм рдЬрд╛рдПрдВрдЧреЗ, рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ wav-file рдХрд╛рд░рддреВрд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд▓рд┐рдЦрдиреЗ рдХреЗ рдореБрдЦреНрдп рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдореЗрдВ wav рдлрд╝рд╛рдЗрд▓ рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡рд╣рд╛рдВ рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд░ рдкрдврд╝рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдЗрд╕ рдлрд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдПрдХ рд╕рдореБрджреНрд░ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдкрд░ рдмрд╕рд╛ред рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рдпрд╣рд╛рдБ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд╡рд╕реНрддреБрддрдГ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ, IMHO рдПрдХ рдорд╣рд╛рди рдЙрджрд╛рд╣рд░рдг рд╣реИред рдПрдХ рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднреА рд╣реИред
рдЕрдЧрд▓реА рдЪреАрдЬрд╝ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд╣реИ рдПрдХ рддреЗрдЬрд╝ рдлреВрд░рд┐рдпрд░ рд░реВрдкрд╛рдВрддрд░рдгред рдпрд╣ рдмрд╣реБрдд рд╣реА рдкрд░рд┐рд╡рд░реНрддрди рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯ рд╕реЗ рдореВрд▓ рд╕рдВрдХреЗрддреЛрдВ
рдХрд╛ рдПрдХ
рд╡реЗрдХреНрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕реЗ рдЖрдк рдЕрднреА рддрдХ рдирд╣реАрдВ рдбрд░рдиреЗ рджреЗрдВрдЧреЗ, рдореИрдВ рдЖрдЧреЗ рдмрддрд╛рдКрдВрдЧрд╛ред
рдлрд┐рд░, рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди
рдпрд╣рд╛рдВ рд╕реЗ рдПрдХ рддреИрдпрд╛рд░ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдпрд╛ред
рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдлреВрд░рд┐рдпрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХреНрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдФрд░ рдЧреИрд░-рдПрд╕рд┐рдб рд▓реЗрдЦ рд╣реИред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВ:
c = calloc(size_array*2, sizeof(float));
рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╣рдордиреЗ size_array рд▓рдВрдмрд╛рдИ рдХреА рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдбреЗрдЯрд╛ рдкрдврд╝рд╛ рд╣реИ (рдЬреЛ рд╣рдо ww рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╣реЗрдбрд░ рд╕реЗ рд▓реЗрддреЗ рд╣реИрдВ)ред
while( fread(&value,sizeof(value),1,wav) ) { in[j]=(float)value; j+=2; if (j > 2*size_array) break; }
рддреЗрдЬреА рд╕реЗ рдлреВрд░рд┐рдпрд░ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╕рд░рдгреА рдХрд╛ рдХреНрд░рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП {re [0], im [0], re [1], im [1], ... re [fft_size-1], im [fft_size-1]}, рдЬрд╣рд╛рдВ fft_size = 1 << p FFT рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВ:
рдпрд╣ рдЬрдЯрд┐рд▓ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИред рдореИрдВ рдпрд╣ рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рд╕реЗ рднреА рдбрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЬрдЯрд┐рд▓ рдлрд╝реЙрдпрд░ рдЯреНрд░рд╛рдВрд╕рдлрд╝реЙрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рд▓реНрдкрдирд┐рдХ рднрд╛рдЧ рд╢реВрдиреНрдп рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рдПрд░реЗ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХреЗ рдореВрд▓реНрдп рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред
рддреЗрдЬреА рд╕реЗ рдлреВрд░рд┐рдпрд░ рд░реВрдкрд╛рдВрддрд░рдг рдХреА рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рджреЛ рдХреА рд╢рдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЧреБрдгрдХ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рджреЛ рдХреА рдиреНрдпреВрдирддрдо рд╢рдХреНрддрд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП:
int p2=(int)(log2(header.bytes_in_data/header.bytes_by_capture));
рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдбреЗрдЯрд╛ рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рд▓рдШреБрдЧрдгрдХред
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдХрд╛рд░рдХреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:
fft_make(p2,c);
рдФрд░ рдПрдХ рдлреВрд░рд┐рдпрд░ рдХрдирд╡рд░реНрдЯрд░ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрдврд╝рдиреЗ рдХреЗ рд╕рд░рдгреА рдлрд╝реАрдб:
fft_calc(p2, c, in, out, 1);
рдЖрдЙрдЯрдкреБрдЯ рдкрд░, рд╣рдореЗрдВ рдлреЙрд░реНрдо рдХреЗ рдЬрдЯрд┐рд▓ рдирдВрдмрд░ {re [0], im [0], re [1], im [1], ... re [fft_size-1], im [fft_size-1]} рдорд┐рд▓рддреЗ рд╣реИрдВред рдЬреЛ рд▓реЛрдЧ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдЬрдЯрд┐рд▓ рд╕рдВрдЦреНрдпрд╛ рдХреНрдпрд╛ рд╣реИ, рдореИрдВ рд╕рдордЭрд╛рддрд╛ рд╣реВрдВред рдпрд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рдерд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдШреВрдордиреЗ рд╡рд╛рд▓реЗ рд╡реИрдХреНрдЯрд░ рдФрд░ рдЧреБрдЪреНрдЫрд╛ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ рдерд╛ред рддреЛ, рдЬрдЯрд┐рд▓ рд╡рд┐рдорд╛рди рдкрд░ рд╡реЗрдХреНрдЯрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордиреНрд╡рдп a1 рдФрд░ рдХрд╛рд▓реНрдкрдирд┐рдХ рд╕рдордиреНрд╡рдп a2 рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╛ рд▓рдВрдмрд╛рдИ (рдпрд╣ рдЖрдпрд╛рдо Am рд╣реИ) рдФрд░ рдХреЛрдг Psi (рдЪрд░рдг)ред
рдЬрдЯрд┐рд▓ рд╡рд┐рдорд╛рди рд╡реЗрдХреНрдЯрд░рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ size_array = 2 ^ P2ред рд╕рд░рдгреА рдХрд╛ рдкрд╣рд▓рд╛ рдмрд┐рдВрджреБ 0 рд╣рд░реНрдЯреНрдЬ (рд╕реНрдерд┐рд░) рдХреА рдЖрд╡реГрддреНрддрд┐ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рдПрдХ рдирдореВрдирд╛ рдЖрд╡реГрддреНрддрд┐ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреА рд╣реИ, рдЕрд░реНрдерд╛рдд 44100 рд╣рд░реНрдЯреНрдЬред рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рдВрджреБ рдХреЗ рдЕрдиреБрд░реВрдк рдЖрд╡реГрддреНрддрд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдЖрд╡реГрддреНрддрд┐ рдбреЗрд▓реНрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рднрд┐рдиреНрди рд╣реЛрдЧреА:
double delta=((float)header.frequency)/(float)size_array;
рдПрдореНрдкрд▓реАрдЯреНрдпреВрдб рдХреЗ рд╕рд░рдгреА рдХреЛ рд░реЛрдХрдирд╛:
double * ampl; ampl = calloc(size_array*2, sizeof(double));
рдФрд░ рддрд╕реНрд╡реАрд░ рдХреЛ рджреЗрдЦреЛ: рдЖрдпрд╛рдо рд╡реЗрдХреНрдЯрд░ рдХреА рд▓рдВрдмрд╛рдИ рд╣реИред рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдФрд░ рдХрд╛рд▓реНрдкрдирд┐рдХ рдзреБрд░реА рдкрд░ рд╣рдорд╛рд░реЗ рдЕрдиреБрдорд╛рди рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдордХреЛрдг рддреНрд░рд┐рднреБрдЬ рд╣реЛрдЧрд╛, рдФрд░ рдпрд╣рд╛рдБ рд╣рдо рдкрд╛рдпрдерд╛рдЧреЙрд░рд┐рдпрди рдкреНрд░рдореЗрдп рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрдХреНрдЯрд░ рдХреА рд▓рдВрдмрд╛рдИ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рддреБрд░рдВрдд рдЗрд╕реЗ рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
for(i=0;i<(size_array);i+=2) { fprintf(logfile,"%.6f %f\n",cur_freq, (sqrt(out[i]*out[i]+out[i+1]*out[i+1]))); cur_freq+=delta; }
рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИ:
тАж 11.439514 10.943008 11.607742 56.649738 11.775970 15.652428 11.944199 21.872342 12.112427 30.635371 12.280655 30.329171 12.448883 11.932371 12.617111 20.777617 ...
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдпрд╣рд╛рдБ рдЬреАрдердм рдкрд░ рд░рд╣рддрд╛ рд╣реИ:
github.com/dlinyj/fftрд╣рдо рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ!
рдЕрдм рдкрд░рд┐рдгрд╛рдореА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЦрд┐рд▓рд╛рдПрдВ рдЬреЛ рдзреНрд╡рдирд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдзреНрд╡рдирд┐ рджреЗрддрд╛ рд╣реИ
./fft_an ../generate_wav/sin\ 100\ Hz.wav format: 16 bits, PCM uncompressed, channel 1, freq 44100, 88200 bytes per sec, 2 bytes by capture, 2 bits per sample, 882000 bytes in data chunk=441000 log2=18 size array=262144 wav format Max Freq = 99.928 , amp =7216.136
рдФрд░ рд╣рдореЗрдВ рдЖрд╡реГрддреНрддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдПрдХ рдкрд╛рда рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИред рд╕реНрд▓реВрдкреНрд▓реЛрдЯ рдХреА рдорджрдж рд╕реЗ рдЙрд╕рдХрд╛ рдЪрд╛рд░реНрдЯ рдмрдирд╛рдПрдВ
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП:
X: рд╕реЗрдЯ xrange [1: 22050] рдкрд░ рдЕрдВрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░рддрд┐рдмрдВрдз рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 44100 рдХреА рдПрдХ рдирдореВрдирд╛ рдЖрд╡реГрддреНрддрд┐ рд╣реИ, рдФрд░ рдпрджрд┐ рд╣рдо рдХреЛрдЯрд▓рдирд┐рдХреЛрд╡ рдкреНрд░рдореЗрдп рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдХреЗрдд рдЖрд╡реГрддреНрддрд┐ рдЖрдзреЗ рд╕реЗ рдЕрдзрд┐рдХ рдирдореВрдирд╛ рдЖрд╡реГрддреНрддрд┐ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП, 22050 рд╣рд░реНрдЯреНрдЬ рд╕реЗ рдКрдкрд░ рдХрд╛ рд╕рдВрдХреЗрдд рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд░реБрдЪрд┐ рдХрд╛ рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ, рдореИрдВ рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рд╕рд╛рд╣рд┐рддреНрдп рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
рддреЛ (рдбреНрд░рдо рд░реЛрд▓), рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдБ рдФрд░ рджреЗрдЦреЗрдВ:
рд╣рдорд╛рд░реЗ рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо100 рд╣рд░реНрдЯреНрдЬ рдкрд░ рддреЗрдЬ рдЪреЛрдЯреА рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдордд рднреВрд▓реЛ рдХрд┐ рдХреБрд▓реНрд╣рд╛рдбрд╝реА рд▓реЙрдЧрд░рд┐рджрдорд┐рдХ рдкреИрдорд╛рдиреЗ рд╣реИрдВ! рджрд╛рдИрдВ рдУрд░ рдКрди, рдЬреИрд╕рд╛ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдлреВрд░рд┐рдпрд░ рдЯреНрд░рд╛рдВрд╕рдлреЙрд░реНрдо рдПрд░рд░ рд╣реИ (рд╡рд┐рдВрдбреЛрдЬрд╝ рдпрд╣рд╛рдВ рдореЗрдореЛрд░реА рдореЗрдВ рдЖрддреЗ рд╣реИрдВ)ред
рдФрд░ рд▓рд╛рдбрд╝ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ?
рдЪрд▓реЛ! рдЖрдЗрдП рдЕрдиреНрдп рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╕реНрдкреЗрдХреНрдЯреНрд░рд╛ рджреЗрдЦреЗрдВ!
рд╢реЛрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ ...
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рд╢реЛрд░ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рд╖рдп рд╢реЛрд░, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдХреЗрддреЛрдВ рдЖрджрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдПрдХ рдЕрд▓рдЧ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рдпреЛрдЧреНрдпред рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рд╣рд▓реНрдХреЗ рд╕реЗ рдЫреВрддреЗ рд╣реИрдВред рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдПрдХ wav рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬреЛрдбрд╝реЗрдВ:
double d_random(double min, double max) { return min + (max - min) / RAND_MAX * rand(); }
рдпрд╣ рджрд┐рдП рдЧрдП рд░реЗрдВрдЬ рдореЗрдВ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛ред рдирддреАрдЬрддрди, рдореБрдЦреНрдп рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
int main(int argc, char * argv[]) { int i; float amplitude = 32000; srand((unsigned int)time(0));
рд╣рдо рдПрдХ
рдлрд╝рд╛рдЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВрдЧреЗ (рдореИрдВ рд╕реБрдирдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ)ред рдЖрдЗрдП рдЗрд╕реЗ рджреБрд╕реНрд╕рд╛рд╣рд╕ рдореЗрдВ рджреЗрдЦреЗрдВред
рджреБрд╕реНрд╕рд╛рд╣рд╕ рдореЗрдВ рд╕рдВрдХреЗрддрдЪрд▓реЛ рдСрдбреЗрд╕рд┐рдЯреА рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреЛ рджреЗрдЦреЗрдВред
рдХреА рд╕реАрдорд╛рдФрд░ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рджреЗрдЦреЗрдВ:
рд╣рдорд╛рд░реА рд╕реАрдорд╛рдореИрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рддрдереНрдп рдФрд░ рд╢реЛрд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - рдЗрд╕рдореЗрдВ рд╕рднреА рд╣рд╛рд░реНрдореЛрдирд┐рдХреНрд╕ рдХреЗ рд╕реНрдкреЗрдХреНрдЯреНрд░рд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЧреНрд░рд╛рдл рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХрд╛рдлреА рд╕рдо рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ,
рд╕рдлреЗрдж рд╢реЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреА рдЖрд╡реГрддреНрддрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдСрдбрд┐рдпреЛ рдЙрдкрдХрд░рдгред рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреЗ рд╢реЛрд░ рд╣реИрдВ:
рдЧреБрд▓рд╛рдмреА, рдиреАрд▓рд╛ рдФрд░ рдЕрдиреНрдп ред рд╣реЛрдорд╡рд░реНрдХ - рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рд╡реЗ рдХреИрд╕реЗ рднрд┐рдиреНрди рд╣реИрдВред
рдХреЙрдореНрдкреЛрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдЕрдм рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдВрдХреЗрдд рджреЗрдЦрддреЗ рд╣реИрдВ - рдореЗрдиреНрдбрд┐рдпрд░ред рдореИрдВрдиреЗ рдлрд╝реЙрдпрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд╛ рдПрдХ рд╕рдВрдХреЗрдд рдЙрджреНрдзреГрдд рдХрд┐рдпрд╛ рд╣реИ, рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдореЗрдпрд░ рдХреИрд╕реЗ рдмрд┐рдЫрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдХрд╛рдЧрдЬ рдХреЗ рдПрдХ рдЯреБрдХрдбрд╝реЗ рдкрд░ рд▓рд┐рдЦреЗрдВ, рдФрд░ рд╣рдо рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред
25 рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдЪреМрдХреЛрд░ рддрд░рдВрдЧ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рд╕реЗ рдЕрдкрдиреЗ рд╡реЗрд╡-рдлрд╛рдЗрд▓ рдЬрдирд░реЗрдЯрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ:
int main(int argc, char * argv[]) { int i; short int meandr_value=32767; for (i=0; i<BUF_SIZE; i++) {
рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдПрдХ рдзреНрд╡рдирд┐
рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓рддреА рд╣реИ (рдлрд┐рд░ рд╕реЗ, рдореИрдВ рдЖрдкрдХреЛ рд╕реБрдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ), рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рддреБрд░рдВрдд рджреБрд╕реНрд╕рд╛рд╣рд╕ рдореЗрдВ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛
рдорд╣рд╛рдорд╣рд┐рдо - рдПрдХ рд╕реНрд╡рд╕реНрде рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдирд┐рд╡рд╛рд▓рд╛ рдпрд╛ рднрдХреНрд╖рдХрдЖрдЗрдП, рдЗрд╕рдХреЗ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдкрд░ рдПрдХ рдирдЬрд╝рд░ рди рдбрд╛рд▓реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ:
рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдореЗрдВрдбрд░рдЕрдм рддрдХ, рдХреБрдЫ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ ... рдФрд░ рдЪрд▓реЛ рдкрд╣рд▓реЗ рдХреБрдЫ рд╣рд╛рд░рдореЛрдирд┐рдХреНрд╕ рджреЗрдЦреЗрдВ:
рдкрд╣рд▓рд╛ рд╣рд╛рд░рдореЛрдВрд╕рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдорд╛рдорд▓рд╛! рдЦреИрд░, рдЪрд▓реЛ рдЯреИрдмрд▓реЗрдЯ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВред рджреЗрдЦреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ 1, 3, 5 рдЖрджрд┐ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдЕрдЬреАрдм рд╕рд╛рдордВрдЬрд╕реНрдпред рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 25 рд╣рд░реНрдЯреНрдЬ рдХрд╛ рдкрд╣рд▓рд╛ рд╣рд╛рд░реНрдореЛрдирд┐рдХ рд╣реИ, рдЕрдЧрд▓рд╛ (рддреАрд╕рд░рд╛) 75 рд╣рд░реНрдЯреНрдЬ, рдлрд┐рд░ 125 рд╣рд░реНрдЯреНрдЬ рдЖрджрд┐, рдЬрдмрдХрд┐ рд╣рдорд╛рд░рд╛ рдЖрдпрд╛рдо рдзреАрд░реЗ-рдзреАрд░реЗ рдХрдо рд╣реЛ рд░рд╣рд╛ рд╣реИред рдереНрдпреЛрд░реА рдЕрднреНрдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдЕрднрд┐рд╕рд░рдг!
рдЕрдм рдзреНрдпрд╛рди! рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рд┐рдЧреНрдирд▓ рд╕рд┐рдЧреНрдирд▓ рдореЗрдВ рдПрдХ рдЙрдЪреНрдЪрддрд░ рдЖрд╡реГрддреНрддрд┐ рдХреА рд╣рд╛рд░реНрдореЛрдирд┐рдХреНрд╕ рдХреА рдЕрдирдВрдд рдорд╛рддреНрд░рд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рджреНрдпреБрдд рд╕рд░реНрдХрд┐рдЯ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡реГрддреНрддрд┐ (рдкрдЯрд░рд┐рдпреЛрдВ рдХреЗ рдЕрдзрд┐рд╖реНрдард╛рдкрди рдФрд░ рд╕рдорд╛рдИ рдХреЗ рдХрд╛рд░рдг) рдХреЗ рдКрдкрд░ рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЖрдк рдЕрдХреНрд╕рд░ рдСрд╕рд┐рд▓реЛрд╕реНрдХреЛрдк рд╕реНрдХреНрд░реАрди рдкрд░ рдирд┐рдореНрди рд╕рдВрдХреЗрдд рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
рд╕реНрдореЛрдХрд░ рдХрд╛ рдореЗрдиреНрдбрд░рдпрд╣ рддрд╕реНрд╡реАрд░
рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдХреА рдПрдХ рддрд╕реНрд╡реАрд░ рдХреА рддрд░рд╣ рд╣реИ, рдЬрд╣рд╛рдБ рдореЗрдиреНрдбрд┐рдпрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рднреА рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдХреЛ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рдХреБрдЫ рдХреЛред
рдкрд╣рд▓реЗ рд╣рд╛рд░реНрдореЛрдирд┐рдХреНрд╕ рдХрд╛ рдпреЛрдЧ, рдФрд░ рд╕рдВрдХреЗрдд рдХреИрд╕реЗ рдмрджрд▓рддрд╛ рд╣реИрд░реЗрдбрд┐рдпреЛ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдореЗрдВ рдореЗрдпрдВрдбрд░ рдХрд╛ рднреА рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рднреА рдбрд┐рдЬрд┐рдЯрд▓ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХрд╛ рдЖрдзрд╛рд░ рд╣реИ), рдФрд░ рдпрд╣ рд╕рдордЭрдирд╛ рд╕рд╛рд░реНрдердХ рд╣реИ рдХрд┐ рд▓рдВрдмреЗ рд╕рд░реНрдХрд┐рдЯ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдорд╛рдВ рдЗрд╕реЗ рдкрд╣рдЪрд╛рди рди рд╕рдХреЗред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдФрд░ рджрд┐рд▓рдЪрд╕реНрдк рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЯреАрд╡реА рдЬреИрдорд░реНрд╕ рдиреЗ рдЙрдЪреНрдЪ рд╣рд╛рд░реНрдореЛрдирд┐рдХреНрд╕ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛, рдЬрдм рдорд╛рдЗрдХреНрд░реЛрдХрд┐рд░рд┐рдЪ рдиреЗ рдЦреБрдж рдХреЛ рджрд╕рд┐рдпреЛрдВ рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХрд╛ рдореЗрдпрд░ рдмрдирд╛рдпрд╛, рдФрд░ рдЗрд╕рдХреЗ рдЙрдЪреНрдЪ рд╣рд╛рд░реНрдореЛрдирд┐рдХреНрд╕ рдореЗрдВ рдЯреАрд╡реА рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╕реИрдХрдбрд╝реЛрдВ рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рд╣реЛ рд╕рдХрддреА рдереА, рдФрд░ рдЙрдЪреНрдЪрддрд░ рд╣рд╛рд░реНрдореЛрдирд┐рдХреНрд╕ рдиреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЯреАрд╡реА рдХреЗ рдкреНрд░рд╕рд╛рд░рдг рд╕рдВрдХреЗрдд рдХреЛ рдЧреАрд▓рд╛ рдХрд░ рджрд┐рдпрд╛ред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдРрд╕реЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╡рд┐рд╖рдп рдЕрдВрддрд╣реАрди рд╣реИ, рдФрд░ рдЕрдм рдЖрдк рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдкрдврд╝рдирд╛
рдкреБрд╕реНрддрдХрдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╕рдордЭрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдФрд░ рднреА рдмреЗрд╣рддрд░ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдбреАрдПрд╕рдкреА рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рдкреБрд╕реНрддрдХ рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдбрдореА рдХреЗ рд▓рд┐рдП рдбреАрдПрд╕рдкреА рд╣реИ, рдЬреЛ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рд▓реЗрдЦрдХ рд╣реИрдВред рд╡рд╣рд╛рдВ, рдмрдЪреНрдЪреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рднрд╛рд╖рд╛ рднреА рд╕рдмрд╕реЗ рдЬрдЯрд┐рд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдмреЛрд▓рддреА рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЧрдгрд┐рдд рд╡рд┐рдЬреНрдЮрд╛рди рдХреА рд░рд╛рдиреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдмрд┐рдирд╛, рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЗрд╕рдореЗрдВ рд░реБрдЪрд┐ рдЦреЛ рджреЗрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдкреЛрд╕реНрдЯ рдЖрдкрдХреЛ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЕрдиреБрд░реВрдк рд╕рд░реНрдХрд┐рдЯрд░реА рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЕрджреНрднреБрдд рд╡рд┐рд╖рдп рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреА рд╣реИ (рдЕрдкрдиреЗ рдХрд╛рдиреЛрдВ рдХреЛ рдкреНрд▓рдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдХреЛрдИ рджрд┐рдорд╛рдЧ рдмрд╣ рди рдЬрд╛рдП!)ред :)
рд╕реМрднрд╛рдЧреНрдп рд╣реИ