07-26-2017, 11:58 PM
(Сообщение последний раз редактировалось: 07-27-2017, 12:01 AM БендеровецЪ.)
Ну, если кому-то интересно, то это был один из шейперов который Шибата юзает в его SSRC
Сорс - https://github.com/shibatch/SSRC/blob/ma...percoefs.h
Собсна сам шейпер в numpy выглядит дето так:
Сорс - https://github.com/shibatch/SSRC/blob/ma...percoefs.h
Собсна сам шейпер в numpy выглядит дето так:
Код:
b = np.array([-3.3172307014465332031, 6.1978197097778320312,-7.7909684181213378906,
7.1505522727966308594,-4.7267832756042480469, 2.1657605171203613281,-0.50765365362167358398,
-0.028446925804018974304, 0.061983801424503326416, 0.0052601275965571403503, 0.0093981074169278144836,
-0.015898862853646278381, 0.010791713371872901917, 0.0031401265878230333328, 0.00092148158000782132149,
-0.0030198376625776290894, 0.0031266580335795879364,0.00065209472086280584335, -0.00054945144802331924438,
-4.1805269574979320168e-05,])#[::-1] # "ATH Curve B, Intensity 5"
noise= np.random.triangular(-1., 0., 1., (n_steps, n_ch))
errors = np.float64(np.zeros(len(b)))
output_shib = np.int16(np.zeros((n_steps, n_ch)))
for ch in range(len(sig_scaled[0,:])):
for i in range(n_steps):
output_shib[i, ch] = np.int16(np.rint(sig_scaled[i, ch] - np.sum(b*errors) + noise[i, ch]))
error_tmp = sig_scaled[i, ch] - output_shib[i, ch] - np.sum(b*errors)
errors = np.roll(errors, 1)
errors[0] = error_tmp
"Найкраще сало то ковбаса." (с)