DSP大作业 终结版 精

发布 2022-09-03 09:13:28 阅读 5166

dsp原理与应用。

一、fft算法原理。

1、 dft(离散傅里叶变换。

2、 idft(离散傅里叶变换逆变换。

3、 fft(快速傅里叶变换。

设有限长序列x( n的长度为 ,l为整数。由于n为偶数,先将x( n按奇偶分成两组。于是。

利用系数的可约性:得:

期中x1(k和x2(k分别是序列x1(m和x2(m的n/2的dft,得到的只是x(k前一半项数的结果。由dft的性质可知,x1(k和x2(k都是周期为n/2的周期函数,再利用因子得:

利用蝶形运算:

可得结果。二、dsp实现的方法。

1、dsp芯片采用tms320c5402

tms320c5402是ti公司为了实现低功耗、高性能而专门设计的定点dsp芯片,它具有如下特点:运算速度快,指令周期可以达到10ns以内;优化的cpu结构,内部有一个40位的算术逻辑单元,2个40位的累加器,2个40位的加法器,1个17乘17的乘法器和40位的桶形移位器。有4条内部总线和2个地址产生器。

先进的dsp芯片可以高效快速的实现任何数字信号处理算法的运算,他不仅具有标准的串行口和分时复用的串行口,还有自动缓冲的串行口和与外部处理器链接的接口。

2、ccs编程工具。

ccs集成了开发环境,使得dsp**开发过程从编程、编译、**调试。

性能优化都集成到了一个环境中,简化了开发过程。ccs集成了以下几个软件工具:(1dsp**产生工具(c编译器、汇编优化器、汇编器和连接器,ccs不仅支持高级语言c语言、汇编语言,还支持c语言和汇编语言的混合编程,大大降低了开发难度;(2软件模拟器,模拟整个硬件的开发过程,使得开发更加安全。

(3实时基础软件,dsp/bios和主机目标主机之间实时数据交换的软件rtdx.

3、fft算法的c++语言实现。

1 fft的类**:

class fft

private:

void changeorder(double* xr,double* xi,int n;

public:

fft(void;

voidfft_1d(double*ctxr,double*ctxi,double*cfxr,double* cfxi,int len;

void rfft_1d(double* ctxr,double* cfxr,double* cfxi,int len;

void ifft_1d(double*cfxr,double* cfxi,double*ctxr,double*ctxi,int len;

void rifft_1d(double* cfxr,double* cfxi,double* ctxr,int len;

fft(void;

2 倒序实现。

xr实部,xi虚部,n为2的幂。

**如下:void fft::changeorder(double *xr,double *xi,int n

double temp;

int k;

int lh=n/2;

int j=lh;

int n1=n-2;

for(int i=1;i<=n1;i++

k=lh;

while(j>=k

j=j+k;

3 fft算法。

ctxr和ctxi的长度为len, cfxr和cfxi的长度为2的幂。

void fft::fft_1d(double*ctxr,double*ctxi,double *cfxr,double *cfxi,int len

int m=ceil(log((doublelen/log(2.0;

int l,b,j,p,k;

double rkb,ikb;

int n=1<

double* rcos=new double[n/2];

double* isin=new double[n/2];

for(l=0;l

memcpy(cfxr,ctxr,sizeof(double*len;

memcpy(cfxi,ctxi,sizeof(double*len;

for(l=len;l

changeorder(cfxr,cfxi,n; /倒序

for(l=1;l<=m;l++

delete rcos;

delete isin;

4 ifft算法。

cfxr和cfxi的长度为n(2的幂, ctxr和ctxi的长度为len

void fft::ifft_1d(double*cfxr,double*cfxi,double*ctxr,double*ctxi,int len

int m=ceil(log((doublelen/log(2.0;

int n=1<

double* txr=new double[n];

double* txi=new double[n];

for(int i=0;i

cfxi[i]=-cfxi[i];

fft_1d(cfxr,cfxi,txr,txi,n;

for(i=0;i

delete txr;

delete txi;

三、耗时分析。

在dft中,通常x(n和wn的nk次方都是复数,所以计算一个x(k的值需。

要n次复数乘法运算和n -1次复数加法运算。那么,所有的x(k就要n的平方次复数乘法运算,n(n-1次复数加法运算。当n很大时,运算量将是惊人的。

而fft算法,将原函数分为奇数项和偶数项,通过不断的一个奇数一个偶数的相加(减),最终得到需要的结果。也就是说fft是将复杂的运算变成两个数相加(减)的简单运算的重复。从而降低运算次数,提高运算速度,计算x(k的值总共只需要n/2*logn次复数乘法和n*logn的复数加法。

例如n=1024的时候,只需要5120次复数乘法和10240次复数加法。

四、优化手段。

五、总结。

管理信息系统大作业终结版

吉林财经大学。酒店管理信息系统分析与设计。专业。班级。学号。姓名。二 一四年七月。课程设计评分标准。吉林财经大学。管理信息系统大作业。酒店管理信息系统分析与设计。专业。班级。学号。姓名。二 一四年七月。课程设计评分标准。一 引言。一 选题意义。对酒店整个来说,对酒店经营状况起决定作用的是酒店的服务管...

管理信息系统大作业终结版

吉林财经大学。酒店管理信息系统分析与设计。专业。班级。学号。姓名。二 一四年七月。课程设计评分标准。吉林财经大学。管理信息系统大作业。酒店管理信息系统分析与设计。专业。班级。学号。姓名。二 一四年七月。课程设计评分标准。一 引言。一 选题意义。对酒店整个来说,对酒店经营状况起决定作用的是酒店的服务管...

plc终结版

plc的英文全称是programmable logic controller,mpi 的英文全称是multi point interface sm 信号模块的英文全称是signal module,扫描周期的英文全称是scan cycle time。rlo result of logic operat...