求用C语言实现FFT变换的程序(见下面)2.用FFT程序分析正 玄信号,分别在以下情况进行分析,并讨论所得的结果a 信号频率F=50Hz,采样长N=32,采样时间T=0.000625sb 信号频率F=50Hz,采样长N=32,采
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/16 03:21:50
![求用C语言实现FFT变换的程序(见下面)2.用FFT程序分析正 玄信号,分别在以下情况进行分析,并讨论所得的结果a 信号频率F=50Hz,采样长N=32,采样时间T=0.000625sb 信号频率F=50Hz,采样长N=32,采](/uploads/image/z/14957886-30-6.jpg?t=%E6%B1%82%E7%94%A8C%E8%AF%AD%E8%A8%80%E5%AE%9E%E7%8E%B0FFT%E5%8F%98%E6%8D%A2%E7%9A%84%E7%A8%8B%E5%BA%8F%EF%BC%88%E8%A7%81%E4%B8%8B%E9%9D%A2%EF%BC%892.%E7%94%A8FFT%E7%A8%8B%E5%BA%8F%E5%88%86%E6%9E%90%E6%AD%A3+%E7%8E%84%E4%BF%A1%E5%8F%B7%2C%E5%88%86%E5%88%AB%E5%9C%A8%E4%BB%A5%E4%B8%8B%E6%83%85%E5%86%B5%E8%BF%9B%E8%A1%8C%E5%88%86%E6%9E%90%2C%E5%B9%B6%E8%AE%A8%E8%AE%BA%E6%89%80%E5%BE%97%E7%9A%84%E7%BB%93%E6%9E%9Ca+%E4%BF%A1%E5%8F%B7%E9%A2%91%E7%8E%87F%EF%BC%9D50Hz%2C%E9%87%87%E6%A0%B7%E9%95%BFN%EF%BC%9D32%2C%E9%87%87%E6%A0%B7%E6%97%B6%E9%97%B4T%EF%BC%9D0.000625sb+%E4%BF%A1%E5%8F%B7%E9%A2%91%E7%8E%87F%EF%BC%9D50Hz%2C%E9%87%87%E6%A0%B7%E9%95%BFN%EF%BC%9D32%2C%E9%87%87)
求用C语言实现FFT变换的程序(见下面)2.用FFT程序分析正 玄信号,分别在以下情况进行分析,并讨论所得的结果a 信号频率F=50Hz,采样长N=32,采样时间T=0.000625sb 信号频率F=50Hz,采样长N=32,采
求用C语言实现FFT变换的程序(见下面)
2.用FFT程序分析正 玄信号,分别在以下情况进行分析,并讨论所得的结果
a 信号频率F=50Hz,采样长N=32,采样时间T=0.000625s
b 信号频率F=50Hz,采样长N=32,采样时间T=0.005s
c 信号频率F=50Hz,采样长N=32,采样时间T=0.0046875s
d 信号频率F=50Hz,采样长N=32,采样时间T=0.004s
e 信号频率F=50Hz,采样长N=64,采样时间T=0.000625s
f 信号频率F=250Hz,采样长N=32,采样时间T=0.005s
g 将C信号后补32个0,做64点FFT
三 实验报告
1.记录下实验内容中各种情况下的X(k)值,作出频谱图,并深入讨论结果,说明参数的变化对信号频谱产生哪些影响.频谱只作模特性,模的最大值=1,全部规一化.
2.打印出用C语言编写的FFT源程序,并且在每一小段处加上详细的注释说明.
3.用C语言编写FFT编写程序时,要求采用人机界面形式:
N、T、F变量均由键盘输入;补零或不补零要求设置一开关.
求用C语言实现FFT变换的程序(见下面)2.用FFT程序分析正 玄信号,分别在以下情况进行分析,并讨论所得的结果a 信号频率F=50Hz,采样长N=32,采样时间T=0.000625sb 信号频率F=50Hz,采样长N=32,采
这是一个傅里叶变化的子函数,你可以自己做主函数传递你这里的参数验证
// 入口参数:
// l:l = 0,傅立叶变换; l = 1,逆傅立叶变换
// il:il = 0,不计算傅立叶变换或逆变换模和幅角;il = 1,计算模和幅角
// n:输入的点数,为偶数,一般为32,64,128,...,1024等
// k:满足n=2^k(k>0),实质上k是n个采样数据可以分解为偶次幂和奇次幂的次数
// pr[]:l=0时,存放N点采样数据的实部
// l=1时,存放傅立叶变换的N个实部
// pi[]:l=0时,存放N点采样数据的虚部
// l=1时,存放傅立叶变换的N个虚部
//
// 出口参数:
// fr[]:l=0,返回傅立叶变换的实部
// l=1,返回逆傅立叶变换的实部
// fi[]:l=0,返回傅立叶变换的虚部
// l=1,返回逆傅立叶变换的虚部
// pr[]:il = 1,l = 0 时,返回傅立叶变换的模
// il = 1,l = 1 时,返回逆傅立叶变换的模
// pi[]:il = 1,l = 0 时,返回傅立叶变换的辐角
// il = 1,l = 1 时,返回逆傅立叶变换的辐角
void kbfft(double *pr,double *pi,int n,int k,double *fr,double *fi,int l,int il)
{
int it,m,is,i,j,nv,l0;
double p,q,s,vr,vi,poddr,poddi;
//排序
for (it=0; it