ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 апреля
136917 Топик полностью
MBedder, терминатор (31.10.2008 20:16, просмотров: 309) ответил diper на Сумму синусов в количестве от 20 до 200. Выше я про 40 написал, это если частота Fo будет 50Гц.
Код собственно генератора синуса (именно генератора, а не табличного!) для dsPIC занимает 4 (четыре) ассемблерных команды, т.е. выполняется за 100 нс на отсчет: init_sin: sin1 = 806 ; 2^15*sin(2*pi/256) cos1 = 32758 ; 2^15*cos(2*pi/256) clr w12 ; sin 0 mov #sin1,w5 ; 2^15*sin(2*pi/256) mov w5,w13 ; 2-tap 16-bit delay 1st stage mov #cos1,w4 ; 2^15*cos(2*pi/256) singen: mpy w4*w5,A ; AH = 0.5*sin(2*pi*N/256) sac.r A,#-2,w5 ; w5 ~= 2*sin(2*pi*N/256) sub w5,w12,w5 ; w5 = 2*sin(2*pi*N/256)-sin(2*pi*(N-2)/256) mov w13,w12 ; w12 = sin(2*pi*(N-1)/256) (previous sample)