fs=2500% 你给的100ms换算成采样频率是10HZ,这不符合采样定理,建议提高采样频率
f=50
N=256
n=1:N
t=(n-1)/fs
Am= [30.6 6 15 5 10 18]% 这个是幅值,如果是单频率,一个数即可
PH= [60 30 90 90 90 90]% 这个是相位,如果是单频率,同上
m = 6% 如果是单频率 取 1
x=zeros(1,N)
PH = PH/180*pi% 如果给的是角度,需要换算成弧度
for k=1 : m
x=x+Am(k)*cos(2*pi*f*k*t+PH(k))% x就是信号采样后的数据,就是你需要的FFT输入数据
end
比如做64点的,采样频20K,频率分辨为20K/64=312所以第一个点是312* 0HZ
第二个点是 312*1HZ
第三个点是 312*2HZ
.......
FFT后应该是各个频率的幅值的吧,如果你的信号频率集中,幅值最大的对应的点的频率就相近你要求的频率
51单片机是不是太慢了或存不下数据。。求程序参考。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)