快速傅立叶变换FFT算法试验.docx

上传人:scccc 文档编号:12977746 上传时间:2021-12-09 格式:DOCX 页数:23 大小:699.45KB
返回 下载 相关 举报
快速傅立叶变换FFT算法试验.docx_第1页
第1页 / 共23页
快速傅立叶变换FFT算法试验.docx_第2页
第2页 / 共23页
快速傅立叶变换FFT算法试验.docx_第3页
第3页 / 共23页
快速傅立叶变换FFT算法试验.docx_第4页
第4页 / 共23页
快速傅立叶变换FFT算法试验.docx_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《快速傅立叶变换FFT算法试验.docx》由会员分享,可在线阅读,更多相关《快速傅立叶变换FFT算法试验.docx(23页珍藏版)》请在三一文库上搜索。

1、实验二快速傅立叶变换(FFT)算法实验一. 实验目的1. 加深对DFT算法原理和基本性质的理解;2. 熟悉FFT算法原理和FFT子程序的应用;3. 学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。二. 实验设备计算机,CCS 2.0版软件,实验箱,DSP仿真器,短接块,导线。三. 基本原理1. 离散傅立叶变换 DFT的定义:将时域的采样变换成频域的周期性离散函数,频域 的采样也可以变换成时域的周期性离散函数,这样的变换称为离散傅立叶变换,简 称 DFT。2. FFT是DFT的一种快速算法, 将DFT的N2步运算减少为(N/2) lo

2、g2N步,极大的 提高了运算的速度。3. 旋转因子的变化规律。4. 蝶形运算规律。5. 基2FFT算法。四. 实验步骤1. 复习DFT的定义、性质和用 DFT作谱分析的有关内容;2. 复习FFT算法原理与编程思想,并对照 DIT-FFT运算流程图和程序框图,了解本 实验提供的FFT子程序;3. 阅读本实验所提供的样例子程序;4. 运行CCS软件,对样例程序进行跟踪,分析结果;记录必要的参数。5. 填写实验报告。6. 提供样例程序实验操作说明1)实验前的准备“语音处理单元”的拨码开关设置:S1:拨码开关码位备注1OFF:交流量输入2OFF:交流量输入S2:拨码开关码位备注1OFF:交流量输入2O

3、FF:扬声器关闭3ON:帧同步脉冲接通4ON:串口时钟接通在信号源单元中,设置左路信号源产生低频正弦波信号,右路产生高频正弦波信号。实验箱上电,用示波器分别观测OUT1和OUT2输出的模拟信号,并调节电位器直至低频正弦波信号为100HZ/1V左右;高频正弦波信号为6KHZ/1V左右; 将S3中的拨码开关 2打到ON,用示波器观测 OUT1输出的混叠信号波形。用导线连接“信号源单元”中 2号孔接口 OUT1和语音处理单元中的 2号孔接口TN ”;正确完成计算机、DSP仿真器和实验箱的连接后,系统上电 .2)实验过程启动 CCS 2.0,用 Project/Open 打开 “ ExpFFT01.p

4、jt ” 工程文件;双击 " ExpFFT01.pjt ”及“Source ”可查看各源程序;加载“ ExpFFT01.out ”;FlIv Ed k luirr £x<3j Ac L DvL'nu lirT占族知晶理* 旧生h=«= E 5Z 4耳又七|lzPT?TOL pjL二|匡心ft1J Filal闭?_J GEL fLl«iiH匚| »时"扫H 身 H1>PFTUL. f jl j)的矿由 KP/MCE 反血 口 臼n收F W TiltiE) 口 EM 率 的 口 Li Lrr irs be 曰Saur

5、e«IhpJFmi. »=|固| lD3tCS4nZ. ”extern vend,(voitj); axtrn vp?d OpmiNjcBSPfvgi d );MxtBii*n vaic C IcbbMeBSP (va id ) Kterni void REAI'ADSO (void);AXten Vdld WRITEAD5 D (Vfl id);Lr111J-prlisJti it-piisj:fl#1口园zJCfii HALTMFw HHp! Eftsx Fl|X* il Cel 1 |W 重沌叫j 1 0)1 |庖孔5«刑£1财-CS.在主

6、程序中,k+处设置断点;单击“Run”运行程序,或按 F5运行程序;程序将运行至断点处停止;用 View / Graph / Time/Frequency 打开一个图形观察窗 口 ;设置该观察图形窗口变量及参数;采用双踪观察在启始地址分别为0x3000h和0x3080h ,长度为128的单元中数值的变化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经 A/D转换后的输入信号和对该信号进行FFT变换后的结果;单击“ Animate”运行程序,或按 F10运行;调整观察窗口并观察变换结果;单击“ Halt”暂停程序运行,关闭窗口,本实验结束;实验结果:在CCS2.0环境,同步观察输

7、入信号波形及其FFT变换结果;五. 思考题1. 对于不同的N,幅频特性会相同吗?为什么?2. FFT进行谱分析,可以应用的什么方面?六. 实验报告要求1. 简述实验原理及目的;2. 结合实验中所给定典型序列幅频特性曲线,与理论结果比较,并分析说明误差产生 的原因以及用FFT作谱分析时有关参数的选择方法。3. 总结实验所得主要结论。七. 程序参数说明extern void InitC5402(void)extern void OpenMcBSP(void)extern void CloseMc BSP(void)extern void READAD50(void)extern void WRIT

8、EAD50(void)void kfft(pr,pi,n,k,fr,fi,l,il):基2快速傅立叶变换子程序,n为变换点数,应满足 2的整数次藉,k为藉次(正整数);数组x :输入信号数组,A/D转换数据存放于地址为3000H307FH存储 器中,转为浮点型后,生成x数组,长度128;数组mo: FFT变换输出数组,长度 128,浮点型,整型后,写入3080H30FFH存储器中。子程序流程图:初始化实验三有限冲击响应滤波器(FIR)算法实验实验目的1. 掌握用窗函数法设计 FIR数字滤波器的原理和方法;2. 熟悉线性相位FIR数字滤波器特性;3. 了解各种窗函数对滤波特性的影响。二、实验设备

9、计算机,CCS 2.0版软件,实验箱,DSP仿真器三、实验原理1. 有限冲击响应数字滤波器的基础理论;2. 模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器)3. 数字滤波器系数的确定方法。四、实验步骤1. 复习如何设计FIR数字滤波。阅读本实验原理,掌握设计步骤;2. 阅读本实验所提供的样例子程序;3 .运行CCS软件,对样例程序进行跟踪,分析结果;4. 填写实验报告。5 .样例程序实验操作说明1)实验前准备“语音处理单元”的拨码开关设置:S1:拨码开关码位备注1OFF:交流量输入2OFF:交流量输入S2:拨码开关码位备注1OFF:交流量输入2OFF:扬声器关闭3ON:帧同步脉冲

10、接通4ON:串口时钟接通在信号源单元中,设置左路信号源产生低频正弦波信号,右路产生高频正弦波信号。实验箱上电,用示波器分别观测OUT1和OUT2输出的模拟信号,并调节电位器直至低频正弦波信号为100HZ/1V左右;高频正弦波信号为 6KHZ/1V左右; 将S3中的拨码开关 2 打到ON,用示波器观测 OUT 1输出的混叠信号波形。用导线连接“信号源单元”中2号孔接口 OUT1和语音处理单元中的 2号孔接口TN ”;正确完成计算机、DSP仿真器和实验箱的连接后,系统上电.2)实验过程启动 CCS 2.0,用 Project/Open 打开 “ FIRtestN01.pjt 工程文件;双击 &qu

11、ot; FIRtestN01.pjt和“Source”可查看各源程序;加载“ FIRtestN01.out ”;在主程序,k+处,设置断点;司 XK,1* si 蚌 c:-!r «: a: EIC * % % t- 1 GuKTBtaiL Fa4iM j J 4 J UlrKTLil3 口 ?«J Jjm. + r;加 tJseopr-at iona hers IIL ntaH 0x5100*1 sI Lg |327£B.D " yWRTEAE 5D() k+;IxiT. r tfor (t-0i tC-a; t+-*J. 0 JLpi*I 0 ) iE

12、J SUTEItw IJiLp. pr+ii: FlS TO., CiE、CM- 用 View / Graph / Time/Frequency打开一个图形观察窗口;设置观察图形窗口变量及参数为:采用双踪观察启始地址分别为数值类型为16位有符号整型变量,0X3000H和0X3100H,长度为256的单元中数值的变化,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行 FIR变换后的结果;Display TypeDm! TimeGraph Ti tieGr迎hi cal £i splayInterligavsd Data Sources血Start Address -

13、upper display0x3000Start Address 一 low er di splayOkSIOOAcquisi tion Buffer Siz$256Indx Increment11 Display Dwt龟 SizeDSF DMm Typ4l&-li t sigried integerQ-value0Sampling Rate Of。1Plot Data FromLeft to Right二1Graph Froperty DialogQK单击“ Animate”运行程序,或按 F10运行程序;调整观察窗口并观察滤波结果;单击“ Halt”暂停程序运行,激活“ FIRt

14、estN01.c ”的编辑窗口;实验程序说明:该程序为51阶FIR低通滤波器算法程序,采用矩形窗函数实现,数组xmid长度均为51, fs为采样频率,fstop为滤波器截止频率,可以修改以上参数来改变滤波 器性能。重新"Rebuild All”后,并加载"Load ”,单击"Animate”,可得到不同的实验结果; 实验结果:在CCS2.0环境,同步观察输入信号及其FIR低通滤波结果。五、思考题1. 如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线 性相位低通滤波器?写出设计步骤。2. 定性说明本实验中,3dB截止频率的理论值在什么位置?是

15、否等于理想低通的截止 频率?3. 如果要求用窗函数法设计带通滤波器,且给定上下边带截止频率,试求理论带通的 单位脉冲响应。六、实验报告要求1. 简述实验目的及理论。2. 自己设计一串数据应用样例子程序,进行滤波。3. 总结设计FIR滤波器的主要步骤。4. 描绘出输入、输出数组的曲线七、FIR程序参数说明M系统函数H (z) -、' bkZk =0对应的常系数线性差分方程:My(n)=' bkxn-kk =0程序参数说明:extern void InitC5402(void) extern void OpenMcBSP(void)extern void CloseMc BSP(v

16、oid)extern void READAD50(void)extern void WRITEAD50(void)void firdes (int m, double npass):输入信号:输入信号经A/D转换后,写入地址为3000H30FFH存储器,16位整型;输出信号:FIR低通滤波器输出,写入地址为3100H31FFH存储器,16位整型。八、程序流程图:初始化输入低通滤波器各频率参数构建滤波器频域特性波形调用FIR滤波器参数计算子程序计算各参数构建FIR滤波器进行滤波END实验四 无限冲击响应滤波器(IIR)算法实验一、实验目的1. 熟悉设计IIR数字滤波器的原理与方法;2. 掌握数字

17、滤波器的计算机仿真方法;3. 通过观察对实际信号的滤波作用,获得对数字滤波的感性认识。二、实验设备计算机,CCS 2.0版软件,实验箱,DSP仿真器,短接块,导线。三、实验原理1. 无限冲击响数字滤波器的基础理论;2. 模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器);3. 双线性变换的设计原理。四、实验步骤1. 复习有关巴特沃斯滤波器设计和用双线性变换法设计IIR数字滤波器的知识;2. 阅读本实验所提供的样例子程序;3. 运行CCS软件,对样例程序进行跟踪,分析结果;4. 填写实验报告。5 .样例程序实验操作说明1)实验前准备“语音处理单元”的拨码开关设置:S1:拨码开关码位备

18、注1OFF:交流量输入2OFF:交流量输入S2:拨码开关码位备注1OFF:交流量输入2OFF:扬声器关闭3ON:帧同步脉冲接通4ON:串口时钟接通在信号源单元中,设置左路信号源产生低频正弦波信号,右路产生高频正弦波信号。实验箱上电,用示波器分别观测OUT1和OUT2输出的模拟信号,并调节电位器直至低频正弦波信号为100HZ/1V左右;高频正弦波信号为 6KHZ/1V左右; 将S3中的拨码开关 2 打到ON,用示波器观测 OUT1输出的混叠信号波形。用导线连接“信号源单元”中2号孔接口 OUT1和语音处理单元中的 2号孔接口TN ”; 正确完成计算机、DSP仿真器和实验箱的连接后,系统上电 .2

19、)实验过程启动 CCS 2.0 ,用 Project/Open 打开 “ ExpIIRokLP02.pjt ” 工程文件;双击ExpIIRokLP02.out ;"ExpIIRokLP02.pjt ",双击"Source”可查看各源程序;加载"在主程序最后,:t-flrn ->id iaLT54OJ!r-*0id i: Ilin Eld |Mf* vi|d:tm wid REUUUiwad:.: :me mud mrmiMiFi谊 1:d±rK+处,设置断点;单击Run”,程序运行到断点处;护 S-1 K-l1二八*5*珪妾 %用七n &

20、#174; l.陷 旬代第曳a *5 a id -i d* CaapaMT Sh Jh 111. H" 匚.l妊 MhJL” fEL >H4£i I«iB OQTi'UIE IiU. &L>E WLTDm £j Librsri-HB _| J* 2' 白 TehTX5 rii-n瓦(ilw'I FT4-JiiClE- 园riiJO w!_jJ&_| WmrM/S ril+ah*krktifiiDrt a*. <aTiol LKtrim U3 i 梅用View / Graph / Time/Freq

21、uency 打开一个图形观察窗口;采用双踪观察在启始地址分别为0x3000h和0x3100h,长度为256的单元中数值的变化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行IIR低通滤波后的输出信号;单击“Animate ”运行程序,或按 F10运行程序;调整观察窗口,并观察滤波结果;单击“ Halt”暂停程序运行,激活“ ExpIIRokLP02.c ”的编辑窗口;该IIR低通滤波器滤波性能参数为:采样频率为16KHz,通带内最大允许衰减 3dB,阻带内最小衰减大于 30dB,过度带宽 度为3.2KHz;通带上限频率:1.6KHz ;阻带下

22、限截止频率: 4.8KHz。可以修改以上参数来 改变滤波器性能。修改 “ ExpIIRokLP02.c程序中"nlpass”和"nlstop”参数可改变IIR低通滤波器的滤波性能。HHE 口】# Edit 崩. EXaJmtL 咔也£ mo上iW ml Qpi知 IsMJc DCTj'MK- iixk. tHP 枝峰四畔 括专疝丘瓦普慕七14. _J >:4L £il«lEl £3 EtfljwdaE 目 Bxp-IlkvMJ«£.rjM irl b3_| B时KES Si_由rHFWbrf F 如三

23、审的蜉 -a «小.饥ul|wS-wl-fiiflLOsfor ( s :)'IoitC54D2 a initifllin C5402 D5P / i的酣4:圈P“11 Li IikJaAi* Lj LahrciriwiS _| Xz |也I EmU?5?K Vfg-UDon;.-* HR LP filturrnJpaiK 0 Is uIeqt 0*3:foir (j-0:RIADAHSOd ;fwr (b-Os ii<-255; .-*+pi intHOxSDOn z_ad . fcp« %矗-s;_iid3276BnD5葡 rsn 1 F1f 2 *w0;

24、y-b 0 "wi2+b 1 >wl4b2 -*O;wQ*wliMA心_阳J _LJy_da-iiit (y*3276B.DJ; py iiDt«)0x310D+ai 冲-V_d.as_d重新"Rebuild All”后,加载,单击"Animate”,可得到不同的结果。实验结果:在CCS2.0环境下,同步观察输入信号及其IIR低通滤波结果。五、思考题1 .试述用双线性变换法设计数字滤波器的过程?2. 实验中,计算每个二阶滤波器的输出序列时,如何确定计算点数?3. 对滤波前后的信号波形,说明数字滤波器的滤波过程与滤波作用。六、实验报告要求1. 简述I

25、IR滤波器的基本原理;2. 对比FIR滤波器与IIR滤波器的异同;3. 描绘出输入、输出数组的曲线。七、IIR程序参数说明1系统函数:H (z) =n1 -、akZk ±N对应的常系数线性差分方程:y(n)=x(n)+£ aky(n-k)k =0程序参数说明:extern void InitC5402(void)extern void OpenMcBSP(void)extern void READAD50(void)extern void WRITEAD50(void)void biir2lpdes(double fs, double nlpass, double nlst

26、op, double a, double b):IIR低通滤波器参数设计子程序参数说明:fs:采样频率;nlpass:通带上限频率参数,nlstop:阻带下限截止频率参数;设置时,采样频率对应为1,应使"nlpass”和"nlstop”两参数均要小于 0.5,且"nlpass” 要比“ nlstop”小0.2,否则,将不能满足阻带的最大衰减大于30dB。数组a:存放IIR低通滤波器传递函数的极点计算结果,浮点型; 数组b:存放IIR低通滤波器传递函数的零点计算结果,浮点型;输入信号:输入信号经A/D转换后,写入地址 3000H30FFH单元,16位整型;输出信号:

27、滤波后信号,写入地址3100H31FFH单元,16位整型,经 D/A转换后输出。八、子程序流程图实验五 离散余弦变换(DCT)算法实验一、实验目的1、了解图像处理中的常用算法;2、学习DCT算法的实现方法。二、实验设备计算机,CCS 2.0版软件,实验箱,仿真器,导线。三、实验原理离散余弦算法是与离散傅立叶算法紧密相关的,属于正弦类正交变换,由于其优良的去冗余性能及高效快速算法的可实现性,被广泛用于语音及图像的有损和无损压缩。在开始实 验之前,应了解以下基本原理。1. 语音或图象的压缩手段;2. DCT变换在数据压缩中的作用与应用。四、实验步骤1. 复习有关DCT的基础知识;2. 阅读本实验所

28、提供的样例子程序;3. 运行CCS软件,对样例程序进行跟踪,分析结果;4. 填写实验报告。5. 样例程序实验操作说明1)实验前准备“语音处理单元”的拨码开关设置:S1:拨码开关码位备注1OFF:交流量输入2OFF:交流量输入S2:拨码开关码位备注1OFF:交流量输入2OFF:扬声器关闭3ON:帧同步脉冲接通4ON:串口时钟接通在信号源单元中,设置左路信号源产生低频正弦波信号,右路产生高频正弦波信号。实验箱上电,用示波器分别观测OUT1和OUT2输出的模拟信号,并调节电位器直至低频正弦波信号为100HZ/1V左右;高频正弦波信号为6KHZ/1V左右; 将S3中的拨码开关 2打到ON,用示波器观测

29、 OUT 1输出的混叠信号波形。用导线连接“信号源单元”中2号孔接口 OUT1和语音处理单元中的 2号孔接口TN ”;正确完成计算机、DSP仿真器和实验箱的连接后,系统上电 .2)实验过程启动 CCS 2.0,用 Project/Open 打开 “ ExpDCT01.pjt ”工程文件;双击 " Source” 可查 看各源程序;加载“ ExpDCT01.out ”;-"rrm函代HDIif顷vxtvra wn-xl l.irJteH5T vci-xl): wrr*n WM# rii*MrBKp Ivrf I jLfttara md. A£A£6Di;&

30、#165;aiLd=rr+n *»14iIPI I|i»ifl>Ti> inriL金',向遇耳反!-eu - Ca4ihg# izrinu : iT*"* ,r a m% 炸e KmP+r Bilf-.PIU t.1 Qtf MUP 4 h*,vChj a30 ii m在主程序最后,K+处,设置断点;HMEi'VmwLLHoCSIll WP - CHcESP l: | I. E*r tJ-Qi. J <.-2! j-M-)F£ADAD5Q|!Ew- 1C-127J L+)(pH » | i AL* I Qi90

31、W* L);xb, *pk :9£1| - xnFHT&EL味det e2 x I;idct 2e2 I-y k 11 :'w.m#率1 尚 H W |傅 hipy nvj - bfor £i-0 ic-iaj; lH)px ® |lhtB-| |Dx3D$Cl!-L); XB-|3Ht| |-X|3 砧¥泡;g ;M<l I1CAIJO| I :lf+ ;>(d导 th?iwi» 耳Ckf414 Xhlq*4un s -mm-i 14CKi<«214叫.:1 |» h用 View / Gr

32、aph / Time/Frequency打开两个图形观察窗口;采用双踪观察在启始地址分别为0x3000h和0x3080h,长度为128的单元中数值的变化,数值类型为16位有符号整型A/D转换后的输入信号和对该信号进行DCT变换变量,这两段存储单元中分别存放的是经和逆DCT变换后,重构信号的结果;再打开一个图形观察窗口,设置观察变量为y;变量y为输入信号的DCT变换结果,长度128, 32位浮点型,并用它作为输入变量进行逆DCT变换,得到重构信号;Display TypeSin殂痛 TimeGraph TitleGr aphi. c£L B i spl aySturt Addressy

33、PageBataAcquisi tion Buffer Size123Index Iikcremsnt1Display Data1261 DSP Data Type32_bi t floatinc pointSapling Rats Qlz)1Plot mt电 FromLeft to RightLeftshi fted.Di splayYesAutoscleOrDC Value0I QK | Cuic«lJ 限p 1EGraph Froperty Dialog单击“Animate”运行程序,调整观察窗口并观察变换结果;单击“ Halt”暂停程序运行,关闭窗口,实验结束;实验结果:在C

34、CS2.0环境,同步观察输入信号及其DCT变换结果。五、思考题1. 压缩的实质是什么?2. 实际压缩处理时,应该有那些流程?六、实验报告要求1. 简述DCT的基本原理。2. 说明DCT系数是如何确定的?4. 以8*8矩阵描述输入、输出。七、DCT子程序变换的核函数Ck,n =旧£ gk cos *1)k"k,n = 0,1, - , N _1N n2N式中系数:W2k = 0gk =1k。0程序说明:extern void InitC5402(void)extern void OpenMcBSP(void)extern void READAD50(void)extern v

35、oid WRITEAD50(void)void dct1c2 (double x, double y, int n) 为 DCT 正变换子程序;void idct1c2 (double y, double z, int n) 为逆 DCT 变换子程序;两子程序中,各参数为:数组x :输入信号数组,A/D转换数据存放于地址为3000H307FH单元中,转为浮点型 后,生成x数组,长度128;数组y : DCT正变换输出信号数组,也是逆 DCT变换输入数组,浮点型,长度 128;数组z :输出信号数组,为逆DCT变换输出信号数组,即重构信号,浮点型,长度 128,转换为整型后,存放于地址为3080H30FFH单元中,由D/A转换后输出。八、程序流程图(DCT)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1