数字信号处理C语言——离散傅里叶变换DFT/离散傅里叶反变换IDFT

本文介绍了使用C语言实现离散傅里叶变换(DFT)和离散傅里叶反变换(IDFT)。通过dft.c和idft.c源代码,展示了DFT和IDFT的计算过程。在main.c中,计算并输出了信号的傅里叶变换实际值和理论值,并进行了反变换验证。
摘要由CSDN通过智能技术生成

离散傅里叶变换

离散傅里叶反变换

在这里插入图片描述
傅里叶变换理论值过程
在这里插入图片描述

dft.c

#include "math.h"
double dft(a,b,A,B,N)
int N;
double a[],b[],A[],B[];
{
   
    double PI=acos(-1.0);
    int n,k;
    double c,d,w0,w,s;
    w0=2*PI/N;
    for(k=0;k<N;k++){
   
        w=k*w0;
        A[k]=B[k]=0.0;
        for(n=0;n<N;n++){
   
            d=n*w;
            c=cos(d);
            s=sin(d);
            A[k]+=c*a[n]+s*b[n];
            B[k]+=c*b[n]-s*a[n];
        }
    }
    return PI;
}

idft.c

#include "math.h"
void idft(A,B,a,b,N)
int N;
double A[],B[],a[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值