一、实验目的 了解数字信号混叠,实现信号的混频处理并使用FFT算法对混频信号进行处理并分析频谱。 二、实验原理信号混频 混频信号:两路信号进行相加,并对结果的幅度进行限制,从而产生混合后的输出波形。 (1)输入信号的产生:外部信号输入和自定义信号输入。在本实验中采用的是自定义信号输入,自定义两路输入信号分别为:f1(t) = 4sin (20πt − π/3)和f2(t) = sin (200πt )。 (2)混频信号的频谱分析:对混频后的信号利用 FFT 算法进行快速傅里叶变换,得到混频信号的频谱图。经过信号频谱的分析,可知,混频后的信号频谱与原信号频谱的关系为:混频信号的频谱为原信号在频谱上的叠加。 程序流程设计 设计中首先在程序中自定义生成两路信号,接着将两路信号混频相加,最后将混频信号转为复数模式,并对混频信号进行FFT变换。 dsplib_c674x_3_4_0_0 将DSPLIB安装到CCS5.5 的安装路径,安装完成后会有相应的文件夹出现。源码所在路径:\dsplib_c674x_3_4_0_0\packages\ti\dsplib\src 函数源码 FFT运算函数 使用 DSPLIB 的库来进行FFT运算。使用时,直接调用“DSPF_sp_fftSPxSP.h”文件 即可。 API接口 void DSPF_sp_fftSPxSP(int N, float *ptr_x, float *ptr_w, float *ptr_y, unsigned char *brev, int n_min, int offset, int n_max); 程序使用 DSPLIB 的库来进行FFT运算,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的FFT函数中,第一个参数是样本中 FFT 的长度,第二个参数是指向数据输入的指针。第三个参数是指向复杂旋转因子的指针。第四个参数是指向复杂输出数据的指针。第五个参数是指向包含 64 个条目的位反转表的指针。如果样本的FFT长度可以表示为 4 的幂,第六个参数是4,否则 第六个参数是 2 。第七个参数是从主FFT开始的样本中的子 FFT偏移索引 。 第八个参数是样本中主FFT的大小。 FFT逆变换函数 使用DSPLIB 的库来进行FFT逆变换。使用时,直接调用“DSPF_sp_ifftSPxSP.h”文件 即可。 API接口 void DSPF_sp_ifftSPxSP (int N, float *ptr_x, float *ptr_w, float *ptr_y, unsigned char *brev, int n_min, int offset, int n_max); 程序使用DSPLIB 的库来进行FFT逆变换,调用的程序源码和使用说明可以安装DSPLIB后查看。调用的IFFT函数中,第一个参数是样本中 FFT 的长度。第二个参数是指向数据输入的指针。第三个参数是指向复杂旋转因子的指针。第四个参数是指向复杂输出数据的指针。第五个参数是指向包含 64 个条目的位反转表的指针 。如果样本的FFT长度可以表示为 4 的幂,第六个参数是4,否则第六个参数是2 。第七个参数是从主FFT开始的复杂样本中的子FFT偏移索引 。第八个参数是样本中主FFT的大小。 三、操作现象实验设备 本实验所需硬件为实验板、仿真器和电源。 硬件连接 (1)连接仿真器和电脑的USB接口。 (2)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。 软件操作 导入工程,选择Demo文件夹下的对应工程 编译工程,生成可执行文件 将CCS连接实验箱并加载程序 程序加载完成后点击运行程序 运行程序后,程序执行完成后会在断点处停下,可以通过CCS的图形显示工具查看波形。 首先查看两路输入波形,点击工具,选择图像显示,选择双曲线图显示;点击Import,选择导入工程配置好的属性,可以看到图像的属性配置,点击确认后可看到两路输入波形。 接着查看两路输入波形的幅度频谱,点击工具,选择图像显示,选择FFT幅度;点击Import,选择导入工程配置好的属性,可以看到图像的属性配置,点击确认后可看到一路输入波形的幅度频谱。再次点击工具,选择图像显示,选择FFT幅度;点击Import,选择导入工程配置好的属性,可以看到图像的属性配置,点击确认后可看到另外一路输入波形的幅度频谱。 最后查看混频后的波形和幅度频谱,点击工具,选择图像显示,选择双曲线图显示;点击Import,选择导入工程配置好的属性,可以看到图像的属性配置,点击确认后可看到混频波形及频谱。 - 实验结束后,点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。
|