《2022年FPGA的滤波器设计方案.docx》由会员分享,可在线阅读,更多相关《2022年FPGA的滤波器设计方案.docx(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品学习资源目录摘 要 1第 1 章系统设计 21.2 快速傅里叶变换 FFT2第 2 章硬件设计 62.1 设计程序流程图 62.2 TMS320C6000 芯片及参数设置 6第 3 章软件设计 83.1 N 的参数设置 83.2 CMD 源文件代码 : 8第 4 章试验结果 134.1 在 CCS 环境下加载、调试源程序4.2 试验结果 174.3 试验结果分析 18总结 19参考文献 191.1 离散傅里叶变换 DFT213欢迎下载精品学习资源摘要本次课程设计主要运用CCS 这一工具实现 快速傅里叶变换( FFT);CCSCode Composer Studio是一种针对 TM320 系
2、列 DSP的集成开发环境,在Windows 操作系统下,接受图形接口界面,供应环境配置、源文件编辑、程序调试、跟踪和分析等工具,可以帮忙用户在一个软件环境下完成编辑、编译、链接、调试和数据分析等工作;CCS 有两种工作模式,即软件仿真器和硬件在线编程;软件仿真器工作模式可以脱离 DSP 芯片,在 PC 上模拟 DSP 的指令集和工作机制,主要用于前期算法实现和调试;硬件在线编程可以实时运行在DSP 芯片上,与硬件开发板相结合进行在线编程和调试应用程序;关键词: CCS ; 快速傅里叶变换 ( FFT);第 1 章系统设计快速傅里叶变换 FFT快速傅里叶变换(FFT)是一种高效实现离散傅里叶变换
3、(DFT )的快速算法,是数字信号处理中最为重要的工具之一,它在声学,语音,电信和信号处理等领域有着广泛的应用;1.1 离散傅里叶变换 DFT对于 长度 为 N 的 有限 长序 列 xn , 它 的离 散 傅里 叶变 换 ( DFT ) 为欢迎下载精品学习资源X kn 1,NxnW nkn 0k0,1,N1( 1)欢迎下载精品学习资源欢迎下载精品学习资源式中, WNe j 2/ N, 称为旋转因子或蝶形因子;欢迎下载精品学习资源从 DFT 的定义可以看出,在 xn为复数序列的情形下,对某个k 值,直接按(1)式运算 Xk 只需要 N 次复数乘法和( N-1)次复数加法;因此,对全部N个 k 值
4、,共需要 N2 次复数乘法和 NN-1 次复数加法;对于一些相当大有N 值(如 1024 点)来说,直接运算它的 DFT 所需要的运算量是很大的,因此DFT 运欢迎下载精品学习资源算的应用受到了很大的限制;1.2 快速傅里叶变换 FFT旋转因子 WN 有如下的特性;W kW kN / 2对称性:NNW kW kN周期性: NN利用这些特性,既可以使DFT 中有些项合并,削减了乘法积项,又可以将长序列的 DFT 分解成几个短序列的 DFT;FFT 就是利用了旋转因子的对称性和周期性来削减运算量的;FFT 的算法是将长序列的 DFT 分解成短序列的 DFT ;例如: N 为偶数时,先将 N 点的
5、DFT 分解为两个 N/2 点的 DFT ,使复数乘法削减一半:再将每个N/2点的 DFT 分解成 N/4 点的 DFT,使复数乘又削减一半,连续进行分解可以大大削减运算量;最小变换的点数称为基数,对于基数为2 的 FFT 算法,它的最小变换是 2 点 DFT ;一般而言, FFT 算法分为按时间抽取的 FFT(DITFFT )和按频率抽取的FFT(DIF FFT)两大类; DIT FFT 算法是在时域内将每一级输入序列依次按奇偶分成 2 个短序列进行运算;而 DIF FFT 算法是在频域内将每一级输入序列依次奇偶分成 2 个短序列进行运算;两者的区分是旋转因子显现的位置不同,得算法是欢迎下载
6、精品学习资源k一样的;在 DIF FFT 算法中,旋转因子 W N显现在输入端,而在 DIF FFT 算法欢迎下载精品学习资源中它显现在输入端;假定序列 xn 的点数 N 是 2 的幂,依据 DIF FFT 算法可将其分为偶序列和奇欢迎下载精品学习资源序列; 偶序列:x0,x2,x4,xN- 2,即x1x 2r , r0,1,N / 21欢迎下载精品学习资源奇序列:欢迎下载精品学习资源x1,x3,x5,xN- 1,即x2x2r1, r0,1,N / 21欢迎下载精品学习资源就 xn 的 DFT 表示为欢迎下载精品学习资源X kN 1NxnW nkn 0N 1NxnW nkn 0欢迎下载精品学习
7、资源n为偶数n为奇数欢迎下载精品学习资源N / 21Nx 2r W 2rkN / 21x 2r1W 2 rN1k欢迎下载精品学习资源r 0r0欢迎下载精品学习资源N / 21x1 r W2rk NN / 2Wk N1N2x r W 2rk2欢迎下载精品学习资源W2由于Nr 0e j 2/ N 2re j 20/ N/ 2WN / 2, 就( 3) 式可表示为欢迎下载精品学习资源N / 2 1rkkN / 2 1rk欢迎下载精品学习资源X kx1 r WN / 2Nr 0WNx2 r WN / 2r 0欢迎下载精品学习资源X 1 kW k X2 kk0,1,N / 213欢迎下载精品学习资源欢迎
8、下载精品学习资源式中,X 1k 和X 2 k 分别为x1 n 和 x2 n 的 N/2 的 DFT ;欢迎下载精品学习资源K由于对称性,欢迎下载精品学习资源kN / 2W NW N , 就X kN / 2 X 1 k kW N X2 k ; 因 此 , N 点欢迎下载精品学习资源欢迎下载精品学习资源X k可分为两部分:欢迎下载精品学习资源N前半部分:欢迎下载精品学习资源X kX 1 k W k X2 kk0,1,N / 21 ( 4)欢迎下载精品学习资源后半部分 :k欢迎下载精品学习资源X kN / 2X1kWN X 2 kk0,1,N / 21( 5)欢迎下载精品学习资源欢迎下载精品学习资源
9、从式( 4)和式( 5)可以看出,只要求出0N/2-1 区间就可求出 0N-1 区间 X k 的 N 点值;X1 k 和 X 2 k 的值,欢迎下载精品学习资源以同样的方式进行抽取,可以求得N/4 点的 DFT ,重复抽取过程,就可以使N 点的 DFT 用上组 2 点的 DFT 来运算,这样就可以大削减运算量;欢迎下载精品学习资源基 2 DIF FFT 的蝶形运算如图 a 所示;设蝶形输入为为 xm p 和 xm q ,就有xm 1 p 和 xm1 q,输出欢迎下载精品学习资源x px pxqWk欢迎下载精品学习资源mm 1m 1N (6)欢迎下载精品学习资源x qx pxqWk欢迎下载精品学
10、习资源mm 1m 1N (7)欢迎下载精品学习资源在基数为 2 的 FFT 中,设 N=2M ,共有 M 级运算,每级有 N/2 个 2 点 FFT欢迎下载精品学习资源蝶形运算,因此, N 点 FFT 总共有N / 2 log2 N 个蝶形运算;欢迎下载精品学习资源xm 1qxm 1 qxm pxmq-1欢迎下载精品学习资源图 1.1 基 2 DIF FFT的蝶形运算例如:基数为 2 的 FFT,当 N=8 时,共需要 3 级, 12 个基 2 DIT FFT 的蝶形运算;其信号流程如图 b所示;图 1.2 8点基 2 DIF FFT蝶形运算从图 b 可以看出,输入是经过比特反转的倒位序列,称
11、为位码倒置,其排列顺序为 x0,x4,x2,x6,x1,x5,x3,x7 ; 输出 是按自 然顺 序排 列, 其次序为欢迎下载精品学习资源x0,x1, x6,x7;第 2 章硬件设计欢迎下载精品学习资源2.1 设计程序流程图图 2.1 设计程序流程图2.2 TMS320C6000 芯片及参数设置TMS320C6000 系列 DSP 是 TI 公司推向市场的高性能 DSP,综合了目前性价比高、功耗低等优点; TMS320C64 系列提高了时钟频率,在体系结构上接受了VelociTI 甚长指令集 VLIWVeryLong Instruction Word结构5 ,芯片内有 8 个独立功能单元的内核
12、,每个周期可以并行执行8 条 32bit 指令,最大峰值速度为4800MIPS, 2 组共 64 个 32bit 通用寄存器, 32bit 寻址范畴,支持 8/16/32/40欢迎下载精品学习资源bit 的数据拜望,芯片内集成大容量SRAM ,最大可达 8Mb ;由于杰出的运算才能、高效的指令集、大范畴的寻址才能,使其特别适用于无线基站、测试外表等对运算才能和储备量要求高的应用场合;本系统主要由 4 部分组成: DSP、FPGA、正交数字上变频器( Quadrature DigitalUpconverter ) 、 正 交 数 字 下 变 频 器 ( Quadrature Digital Do
13、wnconverter);系统硬件结构如图 2.2 所示;图中, D 表示数据总线, A 表示地址总线, C 表示把握总线, L 表示链路口数据线, 字母后面的数字表示总线的位数;50 MHz 晶振为两片 DSP 及 FPGA 供应时钟信号, 32.768 MHz 高稳固度晶振为 AD9857 和 AD6654 供应高质量的时钟信号;复位芯片MAX6708把握DSP、FPGA、AD9857 、AD6654 和 ST16C550的复位;DSP 完成 FFT/IFFT 变换;系统所使用的 DSP2是 ADI 公司的 Tiger sharc TS101;该 DSP 具有以下特性: 最高工作频率为 3
14、00 MHz , 3.3 ns指令周期; 6 MB 片内 SRAM ;2 个运算模块,每个模块都有 1 个 ALU 、1 个乘法器、 1 个移位寄存器和 1 个寄存器组; 2 个整型 ALU ,用来供应寻址和指针操作; 14 个DMA 把握器; 1149.1IEEE JTAG 口;该 DSP 最大的特点是:进行 256 点的复数 FFT 变换,仅需 3.67s图 2.2 DSP 硬件结构图第 3 章软件设计欢迎下载精品学习资源3.1 N 的参数设置进行 N 点 FFT 运算,分别实现 N=256, N=512 得到不同的功率谱图源程序:3.2 CMD 源文件代码:-f 0-w-stack 50
15、0-sysstack 500-l rts55.lib MEMORYDARAM: o=0x100, l=0x7f00 VECT:o=0x8000, l=0x100 DARAM2:o=0x8100,l=0x7f00 SARAM: o=0x10000,l=0x30000 SDRAM:o=0x40000,l=0x3e0000 SECTIONS.text: DARAM.vectors: VECT.trcinit:DARAM.gblinit:DARAM.frt:DARAM.cinit:DARAM.pinit:DARAM.sysinit:DARAM2.far:DARAM2.const:DARAM2欢迎下载精
16、品学习资源.switch:DARAM2.sysmem:DARAM2.cio:DARAM2.MEM$obj:DARAM2.sysheap:DARAM2.sysstack:DARAM2.stack:DARAM2.input:DARAM2.fftcode:DARAM23.3 C 文件源码:#include math.h #define sample_1 256#define signal_1_f 60#define signal_2_f 200#define signal_sample_f 512#define pi 3.1415926 int inputsample_1;float fwavers
17、ample_1,fwaveisample_1,wsample_1;float sin_tabsample_1;float cos_tabsample_1;void init_fft_tab ;void input_data;void fftfloat datarsample_1,float dataisample_1;void mainint i ;init_fft_tab ;欢迎下载精品学习资源input_data;for i=0 ;isample_1;i+fwaveri=inputi ;fwaveii=0.0f ;wi=0.0f ;fftfwaver,fwavei ;while1 ;voi
18、d init_fft_tabfloat wt1 ;float wt2 ;int i ;for i=0 ;isample_1;i+wt1=2*pi*i*signal_1_f ;wt1=wt1/signal_sample_f;wt2=2*pi*i*signal_2_f ;wt2=wt2/signal_sample_f;inputi=coswt1+coswt2/2*32768 ;void input_dataint i;fori=0 ;isample_1;i+欢迎下载精品学习资源sin_tabi=sin2*pi*i/sample_1 ;cos_tabi=cos2*pi*i/sample_1;void
19、 fftfloat datarsample_1,float dataisample_1int x0,x1,x2,x3,x4,x5,x6,x7,xx ;int i,j,k,b,p,L ;float TR,TI,temp;fori=0 ;isample_1;i+x0=x1=x2=x3=x4=x5=x6=0 ;x0=i&0x01 ;x1=i/2&0x01 ;x2=i/4&0x01 ;x3=i/8&0x01 ;x4=i/16&0x01;x5=i/32&0x01;x6=i/64&0x01;x7=i/128&0x01 ;xx=x0*128+x1*64+x2*32+x3*16+x4*8+x5*4+x6*2+
20、x7;dataixx=datari ;fori=0 ;isample_1;i+datari=dataii ;dataii=0 ;forL=1 ;L0b=b*2 ;i- ;欢迎下载精品学习资源forj=0 ;j0p=p*2 ;i-;p=p*j ;fork=j;k256;k=k+2*bTR=datark;TI=dataik ;temp=datark+b;datark=datark+datark+b*cos_tabp+dataik+b*sin_tabp ;dataik=dataik-datark+b*sin_tabp+dataik+b*cos_tabp ;datark+b=TR-datark+b*c
21、os_tabp-dataik+b*sin_tabp ;dataik+b=TI+temp*sin_tabp-dataik+b*cos_tabp ;fori=0 ;isample_1/2;i+wi=sqrtdatari*datari+dataii*dataii;第 4 章 试验结果4.1 在 CCS 环境下加载、调试源程序( 1)起动 CCS,在 CCS 中建立一个工程文件projectnewFFT, 往工程文件里添加程序 filenewsourcefile. 建立 C 源文件和一个命令文件,并将这两个文件添 加到工程,再编译并装载程序:欢迎下载精品学习资源阅读 Dsp 原理及应用中 fft 用
22、dsp 实现的有关程序;双击, 启动 CCS 的仿 真平台 的配 着选项; 选 择 C5510 Simulator;Add 加到 my system ,按下 save图 4.1 选择 my system(2) 启动 ccs2后建立工程文件 FFT.pjt欢迎下载精品学习资源图 4.2 建立工程文件FFT.pjt(3) 建立源文件 FFT.c 与链接文件 FFT.cmd图 4.3 建立源文件与链接文件(4) 将这两个文件加到 FFT.pjt 这个工程中;欢迎下载精品学习资源欢迎下载精品学习资源(5) 创建 out 文件图 4.4 将源文件与链接文件加到工程中欢迎下载精品学习资源欢迎下载精品学习资
23、源(6) 加载 out 文件图 4.5 创建 out 文件欢迎下载精品学习资源欢迎下载精品学习资源(7) 加载数据图 4.6加载 out 文件欢迎下载精品学习资源图 4.7数据加载 8 通过 graph property dialog窗口,转变 N 点的值,得到不同的结果;欢迎下载精品学习资源4.2 试验结果4.2.1 作图得到输入信号的功率图谱图 4.8 输入信号的功率图谱4.2.2FFT 变换结果图图 4.9FFT 变换结果图4.2.3转变信号的频率可以再做次试验欢迎下载精品学习资源4.10 转变信号的频率 FFT 变换结果图欢迎下载精品学习资源4.3 试验结果分析FFT 算法特点 :共需
24、 r 次迭代;N2 r 欢迎下载精品学习资源欢迎下载精品学习资源第 L 1Lr 次迭代对偶结点的偶距为K LK L2 r LN / 2 L ,因此一组结点掩盖的欢迎下载精品学习资源欢迎下载精品学习资源序号个数是2K LK L N2 L 1 ;欢迎下载精品学习资源欢迎下载精品学习资源第 L1LWPL Nr 次迭代结点的组数为PN / 2 K LK L 2 L 1 ;0 N1欢迎下载精品学习资源可以预先运算好,而且L因此 N 越大,运算越多;的变化范畴是2;欢迎下载精品学习资源总结通过这次课程设计,我获得了很多;一开头对DSP 这个概念很生疏,对于其中的内容更是一知半解;我只知道这门学科应当很有用
25、,但是不知道该如何去把握它,熟识它;这次课程设计,让我对DSP 有了更进一步的明白;对 FFT 算法有了新的熟识,对其原理和基本性质做了回忆,为以后深化的学习奠定了基础;这次课程设计,我觉得最有意义的就是把握了确定的DSP 系统的软件设计才能;而且仍明白了 CCS 的组成与基本功能;把握了它的安装、配置、基本操作、工程工程的欢迎下载精品学习资源建立和调试等;期望在以后的应用中能学到更多的学问,并将它们运用到实践中去;参考文献1 戴明桢等编著.TMS320C54X DSP 结构原理及应用 .北京:航空航天高校出版社,第2 版,2007;2 彭启琮编著 .DSP 技术的进展与应用. 北京:高等训练出版社,2002;3 胡广书编著 . 数字信号处理理论、算法与实现. 北京:清华高校出版社,2005;4 北京合众达电子技术有限公司编著.SEED-DTK系列试验手册 . 北京合众达电子技术有限公司出版, 2007;欢迎下载