|
楼主 |
发表于 2019-12-10 15:50:29
|
显示全部楼层
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- void main() {
- float m,pi,sr,si;
- int rr,ii, n,i;
- n=100;
- m=2;
- pi=3.141592;
- for(i=0;i<n;i++){
- sr=cos(2*pi*i*m/n);
- si=-sin(2*pi*i*m/n);
- rr=sr*0x8000;
- ii=si*0x8000;
- printf("0x%04X,0x%04X,",rr,ii);
- }
- printf("\n");
- }
-
复制代码
就是这个程序生成正弦和余弦表,我C语言不熟悉,不知道这个程序有没有问题,n是点数,m是代表需要哪个点的频率,本来我做的这个表ADC是1M采样率,除100=10K,每个点10K,我这个表应该在第1个点上,而第1个点上发现数很小,所以就取了第2个,这地方可能有问题,我也不熟悉数字信号处理,不知道到底是哪里问题,网上问也没人解答,也没仪器测正弦波的频率到地是多少,或者采样率不准确,这地方最后我也没搞懂。
我这程序都是自己写的,不是官方的库函数,库函数我还不会用,可能我写的程序有问题,要是能对比下就好了。 |
|