资源简介
FFT加窗插值C程序 快速傅立叶变换(FFT)在测量电力系统谐波时存在的频谱泄漏问题会产生较大误差,从而影响分析结果。加窗插值算法可以有效减小泄漏,改善谐波幅值、相位测量准确度。
代码片段和文件信息
/*****************fft programe*********************/
/*基二FFT算法*/
#include “math.h“
#include “stdio.h“
struct compx
{ double real;
double imag;
} compx ;
struct compx EE(struct compx b1struct compx b2)
{
struct compx b3;
b3.real=b1.real*b2.real-b1.imag*b2.imag;
b3.imag=b1.real*b2.imag+b1.imag*b2.real;
return(b3);
}
void FFT(struct compx *xinint N)
{
int fmLHnmikjL;
double p ps ;
int leBip;
float pi;
struct compx vwt;
LH=N/2;
f=N;
for(m=1;(f=f/2)!=1;m++){;}
nm=N-2;
j=N/2;
/*变址运算*/
for(i=1;i<=nm;i++)
{
if(i k=LH;
while(j>=k){j=j-k;k=k/2;}
j=j+k;
}
{
for(L=1;L<=m;L++)
{
le=pow(2L);
B=le/2;
pi=3.14159;
for(j=0;j<=B-1;j++)
{
p=pow(2m-L)*j;
ps=2*pi/N*p;
w.real=cos(ps);
w.imag=-sin(ps);
for(i=j;i<=N-1;i=i+le)
{
ip=i+B;
t=EE(xin[ip]w);
xin[ip].real=xin[i].real-t.real;
xin[ip].imag=xin[i].imag-t.imag;
xin[i].real=xin[i].real+t.real;
xin[i].imag=xin[i].imag+t.imag;
}
}
}
}
return ;
}
/************************************************
加blackmanharris窗,生成短时信号,inputN为每帧需计算的点数
************************************************/
int Do_blackmanharris_window(float *inputA int inputN)
{
int i;
float* blackmanharris_window ; /*暂存空间*/
float temp = (float)(2 * M_PI / (float)(inputN-1));
blackmanharris_window = (float*)malloc(inputN*4);
for (i=0 ; i for (i=0 ; i free(blackmanharris_window);
return(1);
}
/************************************************
插值
************************************************/
int saluve_r(int a)
{
double x=1.99;
double r=0;
double k=1.2;
if(a>2.5)
return 0;
while((a-r)>0.00001||(a-r)<-0.00001)
{
r=-(2*pow(x6)-12*pow(x5)-941*pow(x4)+3844*pow(x3)+35041*pow(x2) -77802*x-390632)*(x+3)/((2*pow(x6)-971*pow(x4)+
- 上一篇:4g模块电路设计pcb
- 下一篇:汇编语言菜单程序设计-docx.
相关资源
- 基于Altera MegaCore实现FFT的方法
- 基于FPGA的快速并行FFT及应用
- 基于FPGA的移位寄存器流水线结构FFT处
- 在FPGA上优化实现复数浮点计算
- 基于十项余弦窗插值FFT的谐波相量算
- 基于FFT算法的电网谐波检测方法
- 基于MEMS传感器的插值法姿态解算算法
- 基4-浮点-时域-FFT
- 用FFT进行频谱分析
- Altera最新FFT ip核使用手册
- 双立方插值实现
- 反距离加权插值算法
- 单片机与DSP中的基于DSP的FFT算法在无
- 128点的基2-FFT算法
- AUSPLINE 插值程序 arcview插件
- FFT并行MPI实现
- FFT(快速傅里叶变换)的FPGA实现
- FFT快速傅立叶变换)图文并茂
- fftw-3.3.4.tar.gz安装包
- NUFFT算法及说明
- STM32F103通过DMA传输进行快速FFT.rar
- fftw-3.2.1.rar
- myplot.rar
- 数字信号处理-快速傅里叶变换FFT实验
- 空间插值算法
- 64点FFT变换
- FFT FPGA VERILOG 可综合,申请加精
- 基于FFT和小波变换的电力系统谐波检
- ANUSPLIN 3.1 插值软件
- ARCGIS克里金插值法
评论
共有 条评论