您好,欢迎来到尚佳旅游分享网。
搜索
您的当前位置:首页快速傅立叶变换(FFT)算法实验

快速傅立叶变换(FFT)算法实验

来源:尚佳旅游分享网
仅供个人参考

实验二 快速傅立叶变换(FFT)算法实验

一.

实验目的

1. 加深对DFT算法原理和基本性质的理解; 2. 熟悉FFT算法原理和FFT子程序的应用;

3. 学习用FFT对连续信号和时域信号进行谱分析的方法,了解可能出现的分析误差及

其原因,以便在实际中正确应用FFT。

二. 三. 四.

For personal use only in study and research; not for commercial use 实验设备

计算机,CCS 2.0 版软件,实验箱,DSP仿真器,短接块,导线。 五.

基本原理

1. For personal use only in study and research; not for commercial use 2.

3. 离散傅立叶变换DFT的定义:将时域的采样变换成频域的周期性离散函数,频域

的采样也可以变换成时域的周期性离散函数,这样的变换称为离散傅立叶变换,简称DFT。

4. FFT是DFT的一种快速算法,将DFT的N2步运算减少为(N/2)log2N步,极大的

提高了运算的速度。 5. 旋转因子的变化规律。 6. 蝶形运算规律。 7. 基2FFT算法。 六.

实验步骤

1. 复习DFT的定义、性质和用DFT作谱分析的有关内容;

2. 复习FFT算法原理与编程思想,并对照DIT-FFT运算流程图和程序框图,了解本

实验提供的FFT子程序; 3. 阅读本实验所提供的样例子程序;

4. 运行CCS软件,对样例程序进行跟踪,分析结果;记录必要的参数。 5. 填写实验报告。

6. 提供样例程序实验操作说明

1) 实验前的准备

“语音处理单元”的拨码开关设置:

不得用于商业用途

仅供个人参考

S1:拨码开关 码位 1 2 S2: 拨码开关: 码位 1 2 3 4 备注 OFF:交流量输入 OFF:扬声器关闭 ON:帧同步脉冲接通 ON:串口时钟接通 备注 OFF:交流量输入 OFF:交流量输入 在信号源单元中,设置左路信号源产生低频正弦波信号,右路产生高频正弦波信号。 实验箱上电,用示波器分别观测OUT1和OUT2输出的模拟信号,并调节电位器直至低频正弦波信号为100Hz/1V左右;高频正弦波信号为6KHz/1V左右; 将S3中的拨码开关2打到ON,用示波器观测OUT1输出的混叠信号波形。

用导线连接“信号源单元”中2号孔接口OUT1和语音处理单元中的2号孔接口“IN”;

正确完成计算机、DSP仿真器和实验箱的连接后,系统上电. 2)实验过程

启动CCS 2.0,用Project/Open打开“ExpFFT01.pjt”工程文件;双击“ExpFFT01.pjt” 及“Source”可查看各源程序;加载“ExpFFT01.out”;

不得用于商业用途

仅供个人参考

在主程序中,k++处设置断点;单击“Run”运行程序,或按F5运行程序;程序将运行至断点处停止;

用View / Graph / Time/Frequency打开一个图形观察窗口;

不得用于商业用途

仅供个人参考

设置该观察图形窗口变量及参数;采用双踪观察在启始地址分别为0x3000h和0x3080h,长度为128的单元中数值的变化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行FFT变换后的结果;

单击“Animate”运行程序,或按F10运行;调整观察窗口并观察变换结果;

单击“Halt”暂停程序运行,关闭窗口,本实验结束;

实验结果:在CCS2.0环境,同步观察输入信号波形及其FFT变换结果; 七.

思考题

1. 对于不同的N,幅频特性会相同吗?为什么? 2. FFT进行谱分析,可以应用的什么方面? 八.

实验报告要求

不得用于商业用途

仅供个人参考

1. 简述实验原理及目的;

2. 结合实验中所给定典型序列幅频特性曲线,与理论结果比较,并分析说明误差产生

的原因以及用FFT作谱分析时有关参数的选择方法。 3. 总结实验所得主要结论。 九.

程序参数说明

extern void InitC02(void) extern void OpenMcBSP(void) extern void CloseMcBSP(void) extern void READAD50(void) extern void WRITEAD50(void)

void kfft(pr,pi,n,k,fr,fi,l,il):基2快速傅立叶变换子程序,n为变换点数,应满足2的整数次幂,k为幂次(正整数);

数组x :输入信号数组,A/D转换数据存放于地址为3000H~307FH存储 器中,转为浮 点型后,生成x数组,长度128;

数组mo:FFT变换输出数组,长度128,浮点型,整型后,写入 3080H~30FFH存储器中。 十.

子程序流程图:

不得用于商业用途

仅供个人参考

初始化输入数组排序计算第一层中间值计算层数计算对应层步长计算计算各层中间结果计算层数=0?Y计算结果输出N

实验三 有限冲击响应滤波器(FIR)算法实验

一、

实验目的

1. 掌握用窗函数法设计FIR数字滤波器的原理和方法;

不得用于商业用途

仅供个人参考

2. 熟悉线性相位FIR数字滤波器特性; 3. 了解各种窗函数对滤波特性的影响。 二、实验设备

计算机,CCS 2.0 版软件,实验箱,DSP仿真器

三、实验原理

1. 有限冲击响应数字滤波器的基础理论;

2. 模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器); 3. 数字滤波器系数的确定方法。 四、实验步骤

1. 复习如何设计FIR数字滤波。阅读本实验原理,掌握设计步骤; 2. 阅读本实验所提供的样例子程序;

3.运行CCS软件,对样例程序进行跟踪,分析结果; 4.填写实验报告。 5.样例程序实验操作说明

1) 实验前准备

“语音处理单元”的拨码开关设置: S1:拨码开关 码位 1 2 S2: 拨码开关: 码位 1 2 3 4 备注 OFF:交流量输入 OFF:扬声器关闭 ON:帧同步脉冲接通 ON:串口时钟接通 备注 OFF:交流量输入 OFF:交流量输入 在信号源单元中,设置左路信号源产生低频正弦波信号,右路产生高频正弦波信号。 实验箱上电,用示波器分别观测OUT1和OUT2输出的模拟信号,并调节电位器直至低频正弦波信号为100Hz/1V左右;高频正弦波信号为6KHz/1V左右; 将S3中的拨码开关2打到ON,用示波器观测OUT1输出的混叠信号波形。

用导线连接“信号源单元”中2号孔接口OUT1和语音处理单元中的2号孔接口“IN”;

正确完成计算机、DSP仿真器和实验箱的连接后,系统上电. 2)实验过程 不得用于商业用途

仅供个人参考

启动CCS 2.0,用Project/Open打开“FIRtestN01.pjt工程文件;双击“FIRtestN01.pjt”和“Source”可查看各源程序;加载“FIRtestN01.out”;

在主程序,k++处,设置断点;

用View / Graph / Time/Frequency打开一个图形观察窗口;设置观察图形窗口变量及参数为:采用双踪观察启始地址分别为0x3000H和0x3100H,长度为256的单元中数值的变化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行FIR变换后的结果;

不得用于商业用途

仅供个人参考

单击“Animate”运行程序,或按F10运行程序;调整观察窗口并观察滤波结果;

单击“Halt”暂停程序运行,激活“FIRtestN01.c”的编辑窗口;

实验程序说明:该程序为51阶FIR低通滤波器算法程序,采用矩形窗函数实现,数组h和xmid长度均为51,fs为采样频率,fstop为滤波器截止频率,可以修改以上参数来改变滤波器性能。

不得用于商业用途

仅供个人参考

重新“Rebuild All”后,并加载“Load”,单击“Animate”,可得到不同的实验结果; 实验结果:在CCS2.0环境,同步观察输入信号及其FIR低通滤波结果。 五、思考题

1. 如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线

性相位低通滤波器?写出设计步骤。

2. 定性说明本实验中,3dB截止频率的理论值在什么位置?是否等于理想低通的截止

频率?

3. 如果要求用窗函数法设计带通滤波器,且给定上下边带截止频率,试求理论带通的

单位脉冲响应。

六、实验报告要求

1. 简述实验目的及理论。

2. 自己设计一串数据应用样例子程序,进行滤波。 3. 总结设计FIR滤波器的主要步骤。 4. 描绘出输入、输出数组的曲线 七、FIR程序参数说明 系统函数

H(z)bkZk

k0M对应的常系数线性差分方程:y(n)程序参数说明:

extern void InitC02(void)

bxnk

kk0M不得用于商业用途

仅供个人参考

extern void OpenMcBSP(void) extern void CloseMcBSP(void) extern void READAD50(void) extern void WRITEAD50(void) void firdes (int m, double npass):

输入信号:输入信号经A/D转换后,写入地址为3000H~30FFH存储器,16位整型; 输出信号:FIR低通滤波器输出,写入地址为3100H~31FFH存储器,16位整型。 八、程序流程图:

不得用于商业用途

初始化输入低通滤波器各频率参数构建滤波器频域特性波形调用FIR滤波器参数计算子程序计算各参数构建FIR滤波器进行滤波END

仅供个人参考

实验四 无限冲击响应滤波器(IIR)算法实验

一、实验目的

1. 熟悉设计IIR数字滤波器的原理与方法; 2. 掌握数字滤波器的计算机仿真方法;

3. 通过观察对实际信号的滤波作用,获得对数字滤波的感性认识。 二、实验设备

计算机,CCS 2.0 版软件,实验箱,DSP仿真器,短接块,导线。

三、实验原理

1. 无限冲击响数字滤波器的基础理论;

2. 模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器); 3. 双线性变换的设计原理。 四、实验步骤

1. 复习有关巴特沃斯滤波器设计和用双线性变换法设计IIR数字滤波器的知识; 2. 阅读本实验所提供的样例子程序;

3. 运行CCS软件,对样例程序进行跟踪,分析结果; 4. 填写实验报告。 5.样例程序实验操作说明 1)实验前准备

“语音处理单元”的拨码开关设置: S1:拨码开关 码位 1 2 S2: 拨码开关: 码位 1 2 3 4 不得用于商业用途

备注 OFF:交流量输入 OFF:扬声器关闭 ON:帧同步脉冲接通 ON:串口时钟接通 备注 OFF:交流量输入 OFF:交流量输入 仅供个人参考

在信号源单元中,设置左路信号源产生低频正弦波信号,右路产生高频正弦波信号。 实验箱上电,用示波器分别观测OUT1和OUT2输出的模拟信号,并调节电位器直至低频正弦波信号为100Hz/1V左右;高频正弦波信号为6KHz/1V左右; 将S3中的拨码开关2打到ON,用示波器观测OUT1输出的混叠信号波形。

用导线连接“信号源单元”中2号孔接口OUT1和语音处理单元中的2号孔接口“IN”;

正确完成计算机、DSP仿真器和实验箱的连接后,系统上电. 2)实验过程

启动CCS 2.0,用Project/Open打开“ExpIIRokLP02.pjt”工程文件;双击“ExpIIRokLP02.pjt” ,双击“Source”可查看各源程序;加载“ExpIIRokLP02.out”;

在主程序最后,K++处,设置断点;单击“Run”,程序运行到断点处;

用View / Graph / Time/Frequency打开一个图形观察窗口;采用双踪观察在启始地址分别为0x3000h和0x3100h,长度为256的单元中数值的变化,数值类型为16位有符号整型不得用于商业用途

仅供个人参考

变量,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行IIR低通滤波后的输出信号;

单击“Animate”运行程序,或按F10运行程序;调整观察窗口,并观察滤波结果;

单击“Halt”暂停程序运行,激活“ExpIIRokLP02.c”的编辑窗口; 该IIR低通滤波器滤波性能参数为:

采样频率为16KHz,通带内最大允许衰减3dB,阻带内最小衰减大于30dB,过度带宽度为3.2KHz;通带上限频率:1.6KHz;阻带下限截止频率:4.8KHz。可以修改以上参数来改变滤波器性能。

修改“ExpIIRokLP02.c” 程序中“nlpass”和“nlstop”参数可改变IIR低通滤波器的

不得用于商业用途

仅供个人参考 滤波性能。

重新“Rebuild All”后,加载,单击“Animate”,可得到不同的结果。 实验结果:在CCS2.0环境下,同步观察输入信号及其IIR低通滤波结果。 五、思考题

1.试述用双线性变换法设计数字滤波器的过程?

2.实验中,计算每个二阶滤波器的输出序列时,如何确定计算点数? 3.对滤波前后的信号波形,说明数字滤波器的滤波过程与滤波作用。 六、实验报告要求

1. 简述IIR滤波器的基本原理;

2. 对比FIR滤波器与IIR滤波器的异同; 3. 描绘出输入、输出数组的曲线。 七、IIR程序参数说明 系统函数: H(z)11akZkk1N

对应的常系数线性差分方程:y(n)x(n)程序参数说明:

extern void InitC02(void) extern void OpenMcBSP(void) extern void READAD50(void)

aynk

kk0N不得用于商业用途

仅供个人参考

extern void WRITEAD50(void)

void biir2lpdes(double fs, double nlpass, double nlstop, double a[], double b[]): IIR低通滤波器参数设计子程序参数说明:

fs:采样频率;nlpass:通带上限频率参数,nlstop:阻带下限截止频率参数;

设置时,采样频率对应为1,应使“nlpass”和“nlstop”两参数均要小于0.5,且“nlpass”要比“nlstop”小0.2,否则,将不能满足阻带的最大衰减大于30dB。 数组a:存放IIR低通滤波器传递函数的极点计算结果,浮点型; 数组b:存放IIR低通滤波器传递函数的零点计算结果,浮点型;

输入信号:输入信号经A/D转换后,写入地址3000H~30FFH单元,16位整型; 输出信号:滤波后信号,写入地址3100H~31FFH单元,16位整型,经D/A转换后输出。 八、子程序流程图

初始化滤波器参数nlpass,nlstop调用低通滤波器设计子程序完成滤波器a和b参数设计调用滤波器滤波子程序对输入信号滤波结束

实验五 离散余弦变换(DCT)算法实验

一、实验目的

1、了解图像处理中的常用算法; 2、学习DCT算法的实现方法。 二、实验设备

计算机,CCS 2.0 版软件,实验箱,仿真器,导线。

三、实验原理

离散余弦算法是与离散傅立叶算法紧密相关的,属于正弦类正交变换,由于其优良的去

冗余性能及高效快速算法的可实现性,被广泛用于语音及图像的有损和无损压缩。在开始实不得用于商业用途

仅供个人参考

验之前,应了解以下基本原理。

1. 语音或图象的压缩手段;

2. DCT变换在数据压缩中的作用与应用。 四、实验步骤

1. 复习有关DCT的基础知识; 2. 阅读本实验所提供的样例子程序;

3. 运行CCS软件,对样例程序进行跟踪,分析结果; 4. 填写实验报告。 5. 样例程序实验操作说明 1)实验前准备

“语音处理单元”的拨码开关设置: S1:拨码开关 码位 1 2 S2: 拨码开关: 码位 1 2 3 4 备注 OFF:交流量输入 OFF:扬声器关闭 ON:帧同步脉冲接通 ON:串口时钟接通 备注 OFF:交流量输入 OFF:交流量输入 在信号源单元中,设置左路信号源产生低频正弦波信号,右路产生高频正弦波信号。 实验箱上电,用示波器分别观测OUT1和OUT2输出的模拟信号,并调节电位器直至低频正弦波信号为100Hz/1V左右;高频正弦波信号为6KHz/1V左右; 将S3中的拨码开关2打到ON,用示波器观测OUT1输出的混叠信号波形。

用导线连接“信号源单元”中2号孔接口OUT1和语音处理单元中的2号孔接口“IN”;

正确完成计算机、DSP仿真器和实验箱的连接后,系统上电. 2)实验过程

启动CCS 2.0,用Project/Open打开“ExpDCT01.pjt”工程文件;双击“Source”可查看各源程序;加载“ExpDCT01.out”;

不得用于商业用途

仅供个人参考

在主程序最后,K++处,设置断点;

用View / Graph / Time/Frequency打开两个图形观察窗口;采用双踪观察在启始地址分别为0x3000h和0x3080h,长度为128的单元中数值的变化,数值类型为16位有符号整型变量,这两段存储单元中分别存放的是经A/D转换后的输入信号和对该信号进行DCT变换和逆DCT变换后,重构信号的结果;

不得用于商业用途

仅供个人参考

再打开一个图形观察窗口,设置观察变量为y;变量y为输入信号的DCT变换结果,长度128,32位浮点型,并用它作为输入变量进行逆DCT变换,得到重构信号;

单击“Animate”运行程序,调整观察窗口并观察变换结果;

单击“Halt”暂停程序运行,关闭窗口,实验结束;

实验结果:在CCS2.0环境,同步观察输入信号及其DCT变换结果。 五、思考题

1. 压缩的实质是什么?

2. 实际压缩处理时,应该有那些流程? 六、实验报告要求

1. 简述DCT的基本原理。 2. 说明DCT系数是如何确定的? 不得用于商业用途

仅供个人参考

4. 以8*8矩阵描述输入、输出。 七、DCT子程序 变换的核函数

Ck,n式中系数:

2N1(2n1)kgkcosNn02Nk,n0,1,,N1

12gk1程序说明:

extern void InitC02(void) extern void OpenMcBSP(void) extern void READAD50(void) extern void WRITEAD50(void)

k0k0.

void dct1c2 (double x[], double y[], int n)为DCT正变换子程序; void idct1c2 (double y[], double z[], int n)为逆DCT变换子程序; 两子程序中,各参数为:

数组x :输入信号数组,A/D转换数据存放于地址为3000H~307FH单元中,转为浮点型 后,生成x数组,长度128;

数组y :DCT正变换输出信号数组,也是逆DCT变换输入数组,浮点型,长度128; 数组z :输出信号数组,为逆DCT变换输出信号数组,即重构信号,浮点型,长度128, 转换为整型后,存放于地址为3080H~30FFH单元中,由D/A转换后输出。 八、程序流程图(DCT)

初始化调用DCT变换子程序计算DCT变换系数输出变换结果调用DCT逆变换子程序计算DCT逆变换系数输出重构信号 不得用于商业用途

仅供个人参考

仅供个人用于学习、研究;不得用于商业用途。

For personal use only in study and research; not for commercial use.

Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden. Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.

только для людей, которые используются для обучения, исследований и не должны использоваться в коммерческих целях.

以下无正文

不得用于商业用途

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- shangjiatang.cn 版权所有 湘ICP备2022005869号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务