先确定信号的频率,或者测量,或者是固定.
我觉得一个周期采64个点足够了,这样可以确定出采用周期,开A/D中断,如果用8-12位的A/D,可以用3个32bit的变量来保存乘积和,a1,a2,a3,初始化为0,
应该是一个A/D转换器,2个通道复用,开辟2个缓存,当2个通道采集完后,在A/D中断中做计算a1=a1+AD1^2,a2=a2+AD2^2,a3=a3+AD1*AD2,
所有64点采完以后,
计算a3/sqrt(a2*a2)
其中乘法和开方程序自己用汇编编一下。
乘法用大数乘法,开方用逐位逼近.
如果求的是相角,可以用查法去算. |