"рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рд╡рд╛рд▓реЗ рд╢реБрд░реБрдЖрддреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рдгрд╛рдкрддреНрд░" рдпрд╛ рдореИрдВ рдЬреАрд╡рди рдореЗрдВ рдЗрд╕ рдореБрдХрд╛рдо рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрд╛

рдореЗрд░рд╛ рдЖрдЬ рдХрд╛ рд▓реЗрдЦ рдПрдХ рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдЬрд┐рд╕рдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд▓рдЧрднрдЧ рджреБрд░реНрдШрдЯрдирд╛рд╡рд╢ (рдпрджреНрдпрдкрд┐ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ) рдЕрдкрдирд╛рдпрд╛ред

рд╣рд╛рдВ, рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рд╕рд┐рд░реНрдл рдореЗрд░рд╛ рдЕрдиреБрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд╡реГрддреНрддрд┐ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рдЕрдиреБрднрд╡ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЗ рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдордЬрд╝рд╛рдХ рдирд╣реАрдВ рд╣реИ - рдпрд╣ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

"рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рд╡рд╛рд▓реЗ рд╢реБрд░реБрдЖрддреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рдгрд╛рдкрддреНрд░" рдпрд╛ рдореИрдВ рдЬреАрд╡рди рдореЗрдВ рдЗрд╕ рдореБрдХрд╛рдо рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрд╛
рд╕реНрд░реЛрдд: https://xkcd.com/664/

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рдкреВрд░реНрд╡ рдЫрд╛рддреНрд░ рдХреА рдУрд░ рд╕реЗ рд╕рднреА рд╡рд░реНрддрдорд╛рди рдЫрд╛рддреНрд░реЛрдВ рдХреЛ рд╕рдорд░реНрдкрд┐рдд!

рдЙрдореНрдореАрджреЛрдВ

рдЬрдм рдореИрдВрдиреЗ 2014 рдореЗрдВ рдЗрдиреНрдлреЛрдХрдореНрдпреБрдирд┐рдХреЗрд╢рди рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреАрдЬ рдФрд░ рдХрдореНрдпреБрдирд┐рдХреЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЕрдкрдиреА рд╕реНрдирд╛рддрдХ рдХреА рдбрд┐рдЧреНрд░реА рдкреВрд░реА рдХреА, рддреЛ рдореБрдЭреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рджреБрдирд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рдкрддрд╛ рдерд╛ред рд╣рд╛рдВ, рдХрдИ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рддрд░рд╣, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рд╡рд░реНрд╖ рдореЗрдВ "рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди" рд╡рд┐рд╖рдп рд▓рд┐рдпрд╛ - рд▓реЗрдХрд┐рди, рднрдЧрд╡рд╛рди, рдпрд╣ рдореЗрд░реЗ рдкрд╣рд▓реЗ рд╡рд░реНрд╖ рдореЗрдВ рдерд╛! рдпрд╣ рдПрдХ рдЕрдирдВрдд рдХрд╛рд▓ рд░рд╣рд╛ рд╣реИ!

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЬрдм рдореИрдВрдиреЗ рд╕реНрдирд╛рддрдХреЛрддреНрддрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдпрд╛, рддреЛ рдореБрдЭреЗ рд╕реНрдирд╛рддрдХ рдХреА рдбрд┐рдЧреНрд░реА рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХреБрдЫ рднреА рдЕрд▓рдЧ рд╣реЛрдиреЗ рдХреА рдЙрдореНрдореАрдж рдирд╣реАрдВ рдереА "рд╕рдВрдЪрд╛рд░ рдФрд░ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ" рдЬрд░реНрдорди-рд░реВрд╕реА рдЗрдВрд╕реНрдЯреАрдЯреНрдпреВрдЯ рдСрдл рдиреНрдпреВ рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреАрдЬред

рдкрд░рдиреНрддреБ рд╕рдлрд▓рддрд╛ рдирд╣реАрдВ рдорд┐рд▓реА...

рд╣рдо рдХреЗрд╡рд▓ рджреВрд╕рд░реЗ рдЗрдВрдЯреЗрдХ рдореЗрдВ рдереЗ, рдФрд░ рдкрд╣рд▓реЗ рдХреЗ рд▓реЛрдЧ рдЕрднреА рднреА рджреВрд░ рдЬрд░реНрдордиреА рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдмреИрдЧ рдкреИрдХ рдХрд░ рд░рд╣реЗ рдереЗ (рдЗрдВрдЯрд░реНрдирд╢рд┐рдк рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдбрд┐рдЧреНрд░реА рдХреЗ рджреВрд╕рд░реЗ рд╡рд░реНрд╖ рдореЗрдВ рдЫрд╣ рдорд╣реАрдиреЗ рд▓рдЧрддреЗ рд╣реИрдВ)ред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рддрддреНрдХрд╛рд▓ рд╕рд░реНрдХрд▓ рд╕реЗ рдХрд┐рд╕реА рдиреЗ рднреА рдЕрднреА рддрдХ рдпреВрд░реЛрдкреАрдп рд╢рд┐рдХреНрд╖рд╛ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рдФрд░ рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрдиреЗ рд╡рд╛рд▓рд╛ рднреА рдХреЛрдИ рдирд╣реАрдВ рдерд╛ред

рд╣рдорд╛рд░реЗ рдкрд╣рд▓реЗ рд╡рд░реНрд╖ рдореЗрдВ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рдерд╛рдПрдВ рдереАрдВ, рдЬрд┐рд╕рдореЗрдВ рд╣рдореЗрдВ рдЖрдо рддреМрд░ рдкрд░ рд▓реЛрдХрддрд╛рдВрддреНрд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ (рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдореИрдЯрд▓реИрдм рднрд╛рд╖рд╛ рдореЗрдВ) рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЕрддреНрдпрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬреАрдпреВрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЬрд╛рддреА рдереА (рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреЗ рдмрд┐рдирд╛ - рд╕рд┐рдореБрд▓реЗрд╢рди рдореЙрдбрд▓рд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг)ред

"рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рд╡рд╛рд▓реЗ рд╢реБрд░реБрдЖрддреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рдгрд╛рдкрддреНрд░" рдпрд╛ рдореИрдВ рдЬреАрд╡рди рдореЗрдВ рдЗрд╕ рдореБрдХрд╛рдо рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрд╛

рдХрд╣рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рд╣рдо, рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рднрд╛рд╡реА рдорд╛рд╕реНрдЯрд░реНрд╕, рдЕрдкрдиреА рдпреБрд╡рд╛рд╡рд╕реНрдерд╛ рдХреА рдореВрд░реНрдЦрддрд╛ рдХреЗ рдХрд╛рд░рдг, рдЖрдЧ рдХреА рддрд░рд╣ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдерд╡рд░реНрдХреНрд╕ рд╕реЗ рд╕рд┐рдореБрд▓рд┐рдВрдХ рд╣реИ: рдпрд╣рд╛рдВ рдмреНрд▓реЙрдХ рд╣реИрдВ, рдпрд╣рд╛рдВ рдХрдиреЗрдХреНрд╢рди рд╣реИрдВ, рдпрд╣рд╛рдВ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рд╕реНрд╡рд┐рдЪ рд╣реИрдВред

рдПрдХ рджреГрд╢реНрдп рдЬреЛ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдореВрд▓ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдЬрд┐рд╕рдиреЗ рдкрд╣рд▓реЗ рд╕рд░реНрдХрд┐рдЯ рдбрд┐рдЬрд╛рдЗрди рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ!

"рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рд╡рд╛рд▓реЗ рд╢реБрд░реБрдЖрддреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рдгрд╛рдкрддреНрд░" рдпрд╛ рдореИрдВ рдЬреАрд╡рди рдореЗрдВ рдЗрд╕ рдореБрдХрд╛рдо рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрд╛
рд╕реНрд░реЛрдд: https://ch.mathworks.com/help/comm/examples/parallel-concatenated-convolutional-coding-turbo-codes.html

рддреЛ рд╣рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрд╛...

рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛

рдкрд╣рд▓реЗ рд╕реЗрдореЗрд╕реНрдЯрд░ рдХреЗ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ "рдореЙрдбрд▓рд┐рдВрдЧ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреЗ рддрд░реАрдХреЗ" рд╡рд┐рд╖рдп рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдУрдПрдлрдбреАрдПрдо рд╕рд┐рдЧреНрдирд▓ рдЯреНрд░рд╛рдВрд╕реАрд╡рд░ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдерд╛ред рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рд╕рдлрд▓ рд╣реИ: рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдЕрднреА рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрд╛рд░рдг рдХрд╛рдлреА рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд╛рдИ-рдлрд╛рдИ рдФрд░ рдПрд▓рдЯреАрдИ/рдПрд▓рдЯреАрдИ-рдП рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ (рдУрдПрдлрдбреАрдПрдордП рдХреЗ рд░реВрдк рдореЗрдВ)ред рджреВрд░рд╕рдВрдЪрд╛рд░ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдореЙрдбрд▓рд┐рдВрдЧ рдореЗрдВ рдЕрдкрдиреЗ рдХреМрд╢рд▓ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рд╕реНрдЯрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред

"рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рд╡рд╛рд▓реЗ рд╢реБрд░реБрдЖрддреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рдгрд╛рдкрддреНрд░" рдпрд╛ рдореИрдВ рдЬреАрд╡рди рдореЗрдВ рдЗрд╕ рдореБрдХрд╛рдо рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрд╛

рдФрд░ рдЕрдм рд╣рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рдлреНрд░реЗрдо рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рддрдХрдиреАрдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЗ рдХрдИ рд╡рд┐рдХрд▓реНрдк рджрд┐рдП рдЧрдП рд╣реИрдВ (рддрд╛рдХрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рди рд╣реЛ), рдФрд░ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕рд┐рдореБрд▓рд┐рдВрдХ рдкрд░ рдЭрдкрдЯ рдкрдбрд╝рддреЗ рд╣реИрдВ... рдФрд░ рд╣рдорд╛рд░реЗ рд╕рд┐рд░ рдкрд░ рдЪрд╛рдпрджрд╛рдиреА рд╕реЗ рд╡рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХрд╛:

  • рдкреНрд░рддреНрдпреЗрдХ рдмреНрд▓реЙрдХ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдЬреНрдЮрд╛рдд рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реБрдЖ рд╣реИ, рдЬрд┐рдиреНрд╣реЗрдВ рддреБрд░рдВрдд рдмрджрд▓рдирд╛ рдбрд░рд╛рд╡рдирд╛ рд╣реИред
  • рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╣реЗрд░рдлреЗрд░ рдХрд░рдирд╛ рд╕рд░рд▓ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЖрдкрдХреЛ рдкрд░реЗрд╢рд╛рди рд╣реЛрдирд╛ рдкрдбрд╝реЗрдЧрд╛, рднрдЧрд╡рд╛рди рди рдХрд░реЗред
  • рдЙрдкрд▓рдмреНрдз рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рд░реНрдлрд┐рдВрдЧ рдХреЗ рдЪрд░рдг рдореЗрдВ рднреА, рдХреИрдереЗрдбреНрд░рд▓ рдорд╢реАрдиреЗрдВ рдЬреАрдпреВрдЖрдИ рдХреЗ рдЙрдиреНрдорддреНрдд рдЙрдкрдпреЛрдЧ рд╕реЗ рдХрд╛рдлреА рдзреАрдореА рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред
  • рдШрд░ рдкрд░ рдХреБрдЫ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╣реА рд╕рд┐рдореБрд▓рд┐рдВрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред

рд╣рд╛рдВ, рдЕрдВрдд рдореЗрдВ, рдмреЗрд╢рдХ, рд╣рдордиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреВрд░реА рдХрд░ рд▓реА, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЗрд╕реЗ рд░рд╛рд╣рдд рдХреА рдЬреЛрд░рджрд╛рд░ рд╕рд╛рдВрд╕ рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рдХрд┐рдпрд╛ред

рдХреБрдЫ рд╕рдордп рдмреАрдд рдЧрдпрд╛, рдФрд░ рд╣рдо рдорд╛рд╕реНрдЯрд░ рдбрд┐рдЧреНрд░реА рдХреЗ рдкрд╣рд▓реЗ рд╡рд░реНрд╖ рдХреЗ рдЕрдВрдд рддрдХ рдкрд╣реБрдБрдЪ рдЧрдпреЗред рдЬрд░реНрдорди рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рдЕрдиреБрдкрд╛рдд рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде рдЬреАрдпреВрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реЛрдорд╡рд░реНрдХ рдХреА рдорд╛рддреНрд░рд╛ рдЖрдиреБрдкрд╛рддрд┐рдХ рд░реВрдк рд╕реЗ рдШрдЯрдиреЗ рд▓рдЧреА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЕрднреА рддрдХ рдПрдХ рдЖрджрд░реНрд╢ рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд┐рдВрджреБ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреА рдереАред рд╣рдордореЗрдВ рд╕реЗ рдХрдИ рд▓реЛрдЧреЛрдВ рдиреЗ, рдЬрд┐рдирдореЗрдВ рдореИрдВ рднреА рд╢рд╛рдорд┐рд▓ рд╣реВрдВ, рдирд┐рд░реНрдорд╛рдг рдХреЗ рдЕрдкрдиреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЖрдпрд╛рдо рдкрд░ рдХрд╛рдмреВ рдкрд╛рддреЗ рд╣реБрдП, рдЕрдкрдиреА рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдореИрдЯрд▓реИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ (рдпрджреНрдпрдкрд┐ рдЯреВрд▓рдмреЙрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ), рдФрд░ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдЪрд┐рдд рд╕рд┐рдореБрд▓рд┐рдВрдХ рдХрд╛ рдирд╣реАрдВред

рд╣рдорд╛рд░реЗ рд╕рдВрджреЗрд╣ рдХрд╛ рдореБрджреНрджрд╛ рджреВрд╕рд░реЗ рд╡рд░реНрд╖ рдХреЗ рдЫрд╛рддреНрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдерд╛ (рд╡реЗ рдЙрд╕ рд╕рдордп рддрдХ рд░реВрд╕ рд▓реМрдЯ рдЖрдП рдереЗ):

  • рднреВрд▓ рдЬрд╛рдЗрдП, рдХрдо рд╕реЗ рдХрдо рдЗрдВрдЯрд░реНрдирд╢рд┐рдк рдХреА рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП, рд╕рд┐рдорд┐рд▓рд┐рдВрдХ, рдореИрдердХреИрдб рдФрд░ рдЕрдиреНрдп рд▓реИрдмрд╡реНрдпреВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - рдкрд╣рд╛рдбрд╝реА рдкрд░, рд╕рдм рдХреБрдЫ рдореИрдЯрд▓реИрдм рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдЯрд▓реИрдм рдпрд╛ рдЗрд╕рдХреЗ рдореБрдлреНрдд "рд╕рдВрд╕реНрдХрд░рдг" рдСрдХреНрдЯреЗрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред

рдпрд╣ рдХрдерди рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕рддреНрдп рдирд┐рдХрд▓рд╛: рдЗрд▓реНрдореЗрдиреМ рдореЗрдВ, рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдкрд╕рдВрдж рдкрд░ рд╡рд┐рд╡рд╛рдж рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ рдерд╛ред рд╕рдЪ рд╣реИ, рдЪреБрдирд╛рд╡ рдЕрдзрд┐рдХрддрд░ MATLAB, Python рдФрд░ C рдХреЗ рдмреАрдЪ рдерд╛ред

рдЙрд╕реА рджрд┐рди, рдореИрдВ рдПрдХ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рдЙрддреНрд╕рд╛рд╣ рд╕реЗ рднрд░ рдЧрдпрд╛: рдХреНрдпрд╛ рдореБрдЭреЗ рдУрдПрдлрдбреАрдПрдо рдЯреНрд░рд╛рдВрд╕рдореАрдЯрд░ рдореЙрдбрд▓ рдХреЗ рдЕрдкрдиреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рд╕рд┐рд░реНрдл рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдПред

рдФрд░ рдореБрдЭреЗ рдХрд╛рдо рдорд┐рд▓ рдЧрдпрд╛.

рдХреНрд░рдорд╢рдГ

рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдЧрдгрдирд╛рдУрдВ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рдмрд╕ рдЗрд╕рдХрд╛ рдПрдХ рд▓рд┐рдВрдХ рджреВрдВрдЧрд╛ рдЙрддреНрдХреГрд╖реНрдЯ рд▓реЗрдЦ 2011 рд╕реЗ TGX рдФрд░ рд╕реНрд▓рд╛рдЗрдбреНрд╕ рдкрд░ рдПрд▓рдЯреАрдИ рднреМрддрд┐рдХ рдкрд░рдд рдкреНрд░реЛрдлреЗрд╕рд░реЛрдВ рдорд┐рд╢реЗрд▓-рдЯреАрд▓рд╛ (рдЯреАрдпреВ рдЗрд▓реНрдореЗрдиреМ)ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдпреЗ рдХрд╛рдлреА рд╣реЛрдЧрд╛.

"рддреЛ," рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, "рдЪрд▓реЛ рджреЛрд╣рд░рд╛рдПрдБ, рд╣рдо рдХреНрдпрд╛ рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ?"
рд╣рдо рдореЙрдбрд▓рд┐рдВрдЧ рдХрд░реЗрдВрдЧреЗ рдУрдПрдлрдбреАрдПрдо рдлреНрд░реЗрдо рдЬрдирд░реЗрдЯрд░ (рдУрдПрдлрдбреАрдПрдо рдлреНрд░реЗрдо рдЬрдирд░реЗрдЯрд░)ред

рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛:

  • рд╕реВрдЪрдирд╛ рдкреНрд░рддреАрдХ
  • рдкрд╛рдпрд▓рдЯ рд╕рдВрдХреЗрдд
  • рд╢реВрдиреНрдп (рдбреАрд╕реА)

(рд╕рд░рд▓рддрд╛ рдХреЗ рд▓рд┐рдП) рд╣рдо рдХрд┐рд╕рд╕реЗ рд╕рд╛рд░ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ:

  • рдЪрдХреНрд░реАрдп рдЙрдкрд╕рд░реНрдЧ рдХреЗ рдореЙрдбрд▓рд┐рдВрдЧ рд╕реЗ (рдпрджрд┐ рдЖрдк рдореВрд▓ рдмрд╛рддреЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛)

"рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рд╡рд╛рд▓реЗ рд╢реБрд░реБрдЖрддреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рдгрд╛рдкрддреНрд░" рдпрд╛ рдореИрдВ рдЬреАрд╡рди рдореЗрдВ рдЗрд╕ рдореБрдХрд╛рдо рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрд╛

рд╡рд┐рдЪрд╛рд░рд╛рдзреАрди рдореЙрдбрд▓ рдХрд╛ рдмреНрд▓реЙрдХ рдЖрд░реЗрдЦред рд╣рдо рд╡реНрдпреБрддреНрдХреНрд░рдо рдПрдлрдПрдлрдЯреА (рдЖрдИрдПрдлрдПрдлрдЯреА) рдмреНрд▓реЙрдХ рдкрд░ рд░реБрдХреЗрдВрдЧреЗред рддрд╕реНрд╡реАрд░ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рд░ рдХреЛрдИ рдмрд╛рдХреА рдХреЛ рд╕реНрд╡рдпрдВ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддрд╛ рд╣реИ - рдореИрдВрдиреЗ рд╡рд┐рднрд╛рдЧ рдХреЗ рд╢рд┐рдХреНрд╖рдХреЛрдВ рд╕реЗ рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ред

рдЖрдЗрдП рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдпрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред рд╡реНрдпрд╛рдпрд╛рдо:

  • рдЙрдк-рд╡рд╛рд╣рдХреЛрдВ рдХреА рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрдЦреНрдпрд╛;
  • рдирд┐рд╢реНрдЪрд┐рдд рдлреНрд░реЗрдо рд▓рдВрдмрд╛рдИ;
  • рд╣рдореЗрдВ рдмреАрдЪ рдореЗрдВ рдПрдХ рд╢реВрдиреНрдп рдФрд░ рдлреНрд░реЗрдо рдХреЗ рдЖрд░рдВрдн рдФрд░ рдЕрдВрдд рдореЗрдВ рд╢реВрдиреНрдп рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдЬреЛрдбрд╝рдиреА рд╣реЛрдЧреА (рдХреБрд▓, 5 рдЯреБрдХрдбрд╝реЗ);
  • рд╕реВрдЪрдирд╛ рдкреНрд░рддреАрдХреЛрдВ рдХреЛ рдПрдо-рдкреАрдПрд╕рдХреЗ рдпрд╛ рдПрдо-рдХреНрдпреВрдПрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдо рдореЙрдбреНрдпреВрд▓реЗрд╢рди рдСрд░реНрдбрд░ рд╣реИред

рдЖрдЗрдП рдХреЛрдб рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред

рд╕рдВрдкреВрд░реНрдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд▓рд┐рдВрдХ.

рдЖрдЗрдП рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ:

clear all; close all; clc

M = 4; % e.g. QPSK 
N_inf = 16; % number of subcarriers (information symbols, actually) in the frame
fr_len = 32; % the length of our OFDM frame
N_pil = fr_len - N_inf - 5; % number of pilots in the frame
pilots = [1; j; -1; -j]; % pilots (QPSK, in fact)

nulls_idx = [1, 2, fr_len/2, fr_len-1, fr_len]; % indexes of nulls

рдЕрдм рд╣рдо рдЗрд╕ рдЖрдзрд╛рд░ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддреЗ рд╣реБрдП рд╕реВрдЪрдирд╛ рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рдпрд▓рдЯ рд╕рд┐рдЧреНрдирд▓ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╢реВрдиреНрдп рд╕реЗ рдкрд╣рд▓реЗ рдФрд░/рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП:

idx_1_start = 4;
idx_1_end = fr_len/2 - 2;

idx_2_start = fr_len/2 + 2;
idx_2_end =  fr_len - 3;

рдлрд┐рд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ linspace, рдорд╛рдиреЛрдВ рдХреЛ рдирд┐рдХрдЯрддрдо рдкреВрд░реНрдгрд╛рдВрдХреЛрдВ рдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рддрдХ рдХрдо рдХрд░рдирд╛:

inf_idx_1 = (floor(linspace(idx_1_start, idx_1_end, N_inf/2))).'; 
inf_idx_2 = (floor(linspace(idx_2_start, idx_2_end, N_inf/2))).';

inf_ind = [inf_idx_1; inf_idx_2]; % simple concatenation

рдЖрдЗрдП рдЗрд╕рдореЗрдВ рд╢реВрдиреНрдп рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ:

%concatenation and ascending sorting
inf_and_nulls_idx = union(inf_ind, nulls_idx); 

рддрджрдиреБрд╕рд╛рд░, рдкрд╛рдпрд▓рдЯ рд╕рд┐рдЧреНрдирд▓ рд╕реВрдЪрдХрд╛рдВрдХ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рд╣реИрдВ:

%numbers in range from 1 to frame length 
% that don't overlape with inf_and_nulls_idx vector
pilot_idx = setdiff(1:fr_len, inf_and_nulls_idx); 

рдЕрдм рдкрд╛рдпрд▓рдЯ рд╕рд┐рдЧреНрдирд▓ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ.

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ (рд╡реЗрд░рд┐рдПрдмрд▓) рд╣реИ рдкрд╛рдпрд▓рдЯреЛрдВ), рдФрд░ рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реЗ рдкрд╛рдпрд▓рдЯреЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рд╣рдорд╛рд░реЗ рдлреНрд░реЗрдо рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛рдПред рдмреЗрд╢рдХ, рдпрд╣ рдПрдХ рд▓реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рдЖрдк рдореИрдЯреНрд░рд┐рд╕реЗрд╕ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдореБрд╢реНрдХрд┐рд▓ рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ - рд╕реМрднрд╛рдЧреНрдп рд╕реЗ MATLAB рдЖрдкрдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рдЖрд░рд╛рдо рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рддрдиреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝реНрд░реЗрдо рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рдлрд┐рдЯ рдмреИрдарддреЗ рд╣реИрдВ:

pilots_len_psudo = floor(N_pil/length(pilots));

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдПрдХ рд╡реЗрдХреНрдЯрд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдорд╛рд░реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ:

% linear algebra tricks:
mat_1 = pilots*ones(1, pilots_len_psudo); % rank-one matrix
resh = reshape(mat_1, pilots_len_psudo*length(pilots),1); % vectorization

рдФрд░ рд╣рдо рдПрдХ рдЫреЛрдЯреЗ рд╡реЗрдХреНрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ - "рдкреВрдВрдЫ", рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлреНрд░реЗрдо рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ:

tail_len = fr_len  - N_inf - length(nulls_idx) ...
                - length(pilots)*pilots_len_psudo; 
tail = pilots(1:tail_len); % "tail" of pilots vector

рд╣рдореЗрдВ рдкрд╛рдпрд▓рдЯ рдкрд╛рддреНрд░ рдорд┐рд▓рддреЗ рд╣реИрдВ:

vec_pilots = [resh; tail]; % completed pilots vector that frame consists

рдЖрдЗрдП рд╕реВрдЪрдирд╛ рдкреНрд░рддреАрдХреЛрдВ рдХреА рдУрд░ рдмрдврд╝рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рд╣рдо рдПрдХ рд╕рдВрджреЗрд╢ рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ рдЙрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВрдЧреЗ:

message = randi([0 M-1], N_inf, 1); % decimal information symbols

if M >= 16
    info_symbols = qammod(message, M, pi/4);
else
    info_symbols = pskmod(message, M, pi/4);
end 

рд╕рдм рддреИрдпрд╛рд░ рд╣реИ! рдлрд╝реНрд░реЗрдо рдХреЛ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рдирд╛:

%% Frame construction
frame = zeros(fr_len,1);
frame(pilot_idx) = vec_pilots;
frame(inf_ind) = info_symbols

рдЖрдкрдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:

frame =

   0.00000 + 0.00000i
   0.00000 + 0.00000i
   1.00000 + 0.00000i
  -0.70711 - 0.70711i
  -0.70711 - 0.70711i
   0.70711 + 0.70711i
   0.00000 + 1.00000i
  -0.70711 + 0.70711i
  -0.70711 + 0.70711i
  -1.00000 + 0.00000i
  -0.70711 + 0.70711i
  -0.70711 - 0.70711i
   0.00000 - 1.00000i
   0.70711 + 0.70711i
   1.00000 + 0.00000i
   0.00000 + 0.00000i
   0.00000 + 1.00000i
   0.70711 - 0.70711i
  -0.70711 + 0.70711i
  -1.00000 + 0.00000i
  -0.70711 + 0.70711i
   0.70711 + 0.70711i
   0.00000 - 1.00000i
  -0.70711 - 0.70711i
   0.70711 + 0.70711i
   1.00000 + 0.00000i
   0.70711 - 0.70711i
   0.00000 + 1.00000i
   0.70711 - 0.70711i
  -1.00000 + 0.00000i
   0.00000 + 0.00000i
   0.00000 + 0.00000i

"рдкрд░рдо рдЖрдирдВрдж!" - рдореИрдВрдиреЗ рд╕рдВрддреБрд╖реНрдЯ рд╣реЛрдХрд░ рд╕реЛрдЪрд╛ рдФрд░ рд▓реИрдкрдЯреЙрдк рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред рдореБрдЭреЗ рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдореЗрдВ рдХреБрдЫ рдШрдВрдЯреЗ рд▓рдЧ рдЧрдП: рдЬрд┐рд╕рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦрдирд╛, рдХреБрдЫ рдореИрдЯрд▓реИрдм рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реАрдЦрдирд╛ рдФрд░ рдЧрдгрд┐рддреАрдп рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЛрдЪрдирд╛ рд╢рд╛рдорд┐рд▓ рдерд╛ред

рддрдм рдореИрдВрдиреЗ рдХреНрдпрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛?

рд╡реНрдпрдХреНрддрд┐рдкрд░рдХ:

  • рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╕реБрдЦрдж рдФрд░ рдХрд╡рд┐рддрд╛ рдХреЗ рд╕рдорд╛рди рд╣реИ!
  • рд╕рдВрдЪрд╛рд░ рдФрд░ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╢реЛрдз рдкрджреНрдзрддрд┐ рд╣реИред

рдЙрджреНрджреЗрд╢реНрдп:

  • рдЧреМрд░реИрдпреЛрдВ рдХреЛ рддреЛрдк рд╕реЗ рдорд╛рд░рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдЬрдм рддрдХ рдХрд┐ рдРрд╕рд╛ рд╢реИрдХреНрд╖рд┐рдХ рд▓рдХреНрд╖реНрдп, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рди рд╣реЛ): рд╕рд┐рдореБрд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдордиреЗ рдПрдХ рдкрд░рд┐рд╖реНрдХреГрдд рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред
  • рдЬреАрдпреВрдЖрдИ рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди "рд╣реБрдб рдХреЗ рдиреАрдЪреЗ" рдХреНрдпрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред

рдФрд░ рдЕрдм, рдПрдХ рдЫрд╛рддреНрд░ рд╣реЛрдиреЗ рд╕реЗ рджреВрд░ рд░рд╣рддреЗ рд╣реБрдП, рдореИрдВ рдЫрд╛рддреНрд░ рд╕рдореБрджрд╛рдп рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:

  • рдЕрдЪреНрдЫрд╛ рдЬрдпрдХрд╛рд░ рдХреЗ рд╣реЛ!

рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рднрд▓реЗ рд╣реА рд╡рд╣ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЦрд░рд╛рдм рд╣реЛред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ, рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреА рддрд░рд╣, рд╕рдмрд╕реЗ рдХрдард┐рди рд╣рд┐рд╕реНрд╕рд╛ рд╢реБрд░реБрдЖрдд рд╣реИред рдФрд░ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: рдпрджрд┐ рдЖрдк рдПрдХ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд╣реИрдВ рдпрд╛ рд╕рд┐рд░реНрдл рдПрдХ рддрдХрдиреАрдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реИрдВ, рддреЛ рджреЗрд░-рд╕рдмреЗрд░ рдЖрдкрдХреЛ рдЗрд╕ рдХреМрд╢рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

  • рдорд╛рдБрдЧ!

рд╢рд┐рдХреНрд╖рдХреЛрдВ рдФрд░ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХреЛрдВ рд╕реЗ рдкреНрд░рдЧрддрд┐рд╢реАрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдорд╛рдВрдЧ рдХрд░реЗрдВред рдпрджрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рдЕрд╡рд╢реНрдп...

  • рд╕реГрдЬрди рдХрд░рдирд╛!

рдПрдХ рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдирд╣реАрдВ рддреЛ рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдХреЗ рд╕рднреА рджреБрдЦреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдФрд░ рдХрд╣рд╛рдБ рдмреЗрд╣рддрд░ рд╣реИ? рдЕрдкрдиреЗ рдХреМрд╢рд▓ рдмрдирд╛рдПрдВ рдФрд░ рдирд┐рдЦрд╛рд░реЗрдВ - рдлрд┐рд░, рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рдЖрдк рд╢реБрд░реБрдЖрдд рдХрд░реЗрдВрдЧреЗ, рдЙрддрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред

рд╕рднреА рджреЗрд╢реЛрдВ рдХреЗ рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, рдПрдХрдЬреБрдЯ рд╣реЛрдВ!

рдкреБрдирд╢реНрдЪ

рдЫрд╛рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕реАрдзреЗ рд╕рдВрдмрдВрдз рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рджреЛ рд░реЗрдХреНрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде 2017 рдХреА рдПрдХ рдпрд╛рджрдЧрд╛рд░ рддрд╕реНрд╡реАрд░ рд╕рдВрд▓рдЧреНрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ: рдкреАрдЯрд░ рд╢рд╛рд░реНрдлрд╝ (рджрд╛рдПрдВ) рдФрд░ рдЕрд▓реНрдмрд░реНрдЯ рдЦрд╛рд░рд┐рд╕реЛрд╡рд┐рдЪ рдЧрд┐рд▓рдореБрдЯрджреАрдиреЛрд╡ (рдмрд╛рдПрдВ)ред

"рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рд╡рд╛рд▓реЗ рд╢реБрд░реБрдЖрддреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реЛрдВ рдХреЗ рд▓рд┐рдП рдШреЛрд╖рдгрд╛рдкрддреНрд░" рдпрд╛ рдореИрдВ рдЬреАрд╡рди рдореЗрдВ рдЗрд╕ рдореБрдХрд╛рдо рддрдХ рдХреИрд╕реЗ рдкрд╣реБрдВрдЪрд╛

рдХрдо рд╕реЗ рдХрдо рдЗрди рд╡реЗрд╢рднреВрд╖рд╛рдУрдВ рдХреЗ рдХрд╛рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рдерд╛! (рдордЬрд╝рд╛рдХ рдХрд░ рд░рд╣рд╛ рд╣реИ)

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ