微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > MATLAB辅助DSP设计的研究与实现

MATLAB辅助DSP设计的研究与实现

时间:10-20 来源:3721RD 点击:

数fir1(N, WN)即可返回对应滤波器的系数矩阵,其中N为阶数,WN为滤波器的归一化截止频率,即WN= 2Fc/Fs,且0≤WN≤1。

4.2 DSP滤波算法实现

结合MATLAB产生的滤波器系数,就可以编写DSP滤波主程序了,关键代码如下:

FIR_TASK:

STM #K_FIR_BFFR, BK ; 设置FIR循环缓冲区的大小

LD *INBUF_P+, -1, A ; 数据输入

FIR_FILTER:

STL A, *FIR_DATA_P+% ; 最新数据替代最旧数据

RPTZ A, (K_FIR_BFFR-1)

MAC *FIR_DATA_P+0%, *FIR_COFF_P+0%, A ; 乘累加

STH A,*OUTBUF_P ; 数据输出

4.3 MATLAB辅助设计

本设计中,算法仿真、系数产生、用户界面等部分由MATLAB辅助完成。算法仿真、系数产生方法在4.1中已详细介绍,本节重点介绍用户界面部分。本图形用户界面可以实现如下功能:修改参数,如滤波参数n和Wn,这种参数选取方法避免了反复修改DSP程序的弊端,可以满足不同层次使用者的使用;控制操作过程,如加载工程文件、下载可执行文件、运行程序等;绘制DSP输入数据的时域及频域信号;绘制滤波后DSP输出数据的时域及频域信号;使用MATLAB提供的滤波函数对输入数据进行滤波计算,并把所得结果与DSP输出信号进行比较,以验证或改良DSP算法。

用户界面的流程图如图1所示,主要由图形界面和回调函数两大部分组成。其中,图形界面由文件FIR_BPF.m实现;回调函数总共由6个文件实现,分别是input.m,input2.m,output.m,output2.m,lvbopin.m和lvbohou.m。

当输入带有干扰的方波信号后,分别查看输入波形、MATLAB滤波输出信号、DSP滤波输出信号,结果如图2所示。比较MATLAB滤波输出信号和DSP滤波输出信号,据此可以采用修改滤波器系数或DSP程序等措施来改进DSP滤波算法。

\

图1 用户图形界面流程图

图2 实验结果

5 结束语

本文探索并实现了利用CCSLink辅助DSP设计的完整过程。同时以FIR滤波器为例,利用CCSLink辅助设计了基于DSP TMS320VC5416的应用系统,该系统具有灵活的参数设置和快速的处理效率,很好地达到了辅助DSP设计的目的;再者,利用MATLAB的GUI工具设计了相应的图形用户界面,便于不同技术层次的用户操作,增强了DSP系统的适用性。

本文作者创新点:1.发展了利用MATLAB辅助DSP设计的思想,把DSP系统设计中的算法仿真、系数产生、结果验证、用户界面等环节交由MATLAB完成,实现了二者的无缝连接。2.通过MATLAB设计的人机界面,增强了DSP系统的适用性,便于不同技术层次的用户操作。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top