TMS320C5402DSP课程设计要点 - 图文(3)

2019-03-10 18:55

初始化 产生需要虑波信号 画出原始信号频谱图 生成fir滤波器 进行滤波 画出滤波后信号频谱图 图3-1 MATLAB程序流程图

CCS汇编程序流程图如图3-2所示。

初始化

输入原始信号

定义滤波器系数 为原始信号和系数指定寄存器 做滤波算法 本次滤波结束待滤波系数减一 是否有待滤波数据 滤波结束滤波结束 图3-2 CCS汇编流程图

第11页 共21页

第4章 滤波器的仿真

4.1滤波器参数设定

设计FIR滤波器:通带边缘频率10KHz,阻带边缘频率22KHz,阻带衰减75dB,采样频率50KHz。

窗函数选定:阻带衰减75dB,选择blackman窗 截止频率:2pi*(10+(22-10)/2)/50 = 0.64pi

窗函数长度:blackman窗的过渡带宽为5.98,单位为2pi/N,而要设计的低通滤波器的过渡带宽为2pi*12/50=0.48pi,二者相等,得N=24.9,取25。

理想滤波器脉冲响应:

h1[n] = sin(nΩ1)/n/pi = sin(0.64pi*n)/n/pi 窗函数为:

w[n] = 0.42 - 0.5cos(2pi*n/24) + 0.8cos(4pi*n/24) 则滤波器脉冲响应为: h[n] = h1*w[n] |n|<=12 h[n] = 0 |n|>12

4.2 MATLAB滤波后频谱图

MATLAB信号处理工具箱提供了各种窗函数、滤波器设计函数和滤波器实现函数。本文的FIR低通滤波器设计及主要的滤波程序如下: fs=8000;

shuru(1:256)=sin((0:255)/fs*2*pi*500)+sin((0:255)/fs*2*pi*1000)+ sin((0:255)/fs*2*pi*2500); xishu=fir1(16,1500/8000*2); shuchu=conv(shuru,xishu); t=(0:255)/fs;

w=8000*(0:127)/256; shuru1=fft(shuru,256); shuchu1=fft(shuchu,256); subplot(2,2,1)

plot(t,shuru);grid on;title('输入信号时域图');

第12页 共21页

程序执行结果得到的输入输出信号的时域频域图如图4-1所示。

图4-1 Matlab编程实现滤波前后的时域频域图形

Matlab的Signal Processing Toolbox提供一个交互式界面的滤波器设计工具FDATool,用户可以通过对话框的方式给出滤波器设计要求,然后直接进行设计,对于设计完成的滤波器,在FDATool中可以对其分析,观察幅频曲线、相位、零极点图等,可将设计结果保存为mat文件、文本文件、C语言头文件等,在安装了DSP Blockset下,可将设计出的滤波器实现为Simulink模块,并添加其它模块加以仿真。

在matlab命令提示窗口键入:FDATool,进入主界面,单击功能选择按钮“

”,

进入滤波器设计及分析界面,在设计参数指定区域中,将Filter Type设置为Lowpass;选择Design Method中的FIR,并设置为Window;选择Hamming窗,并将阶数设置为Specify oder,键入16;在Frequency中设置相应参数,Fs键入8000,Fc键入1500。至此一个数字滤波器就设计完成了。接下来把滤波器实现为Simulink模块,点击功能选项按钮“

”,进入界面后可修改模块的名字,选择要保存的路径,然后点击Realize

Model,完成模块的实现,双击该模块可以看到此滤波器是由一些列的sum模块、gain模块以及delay模块所组成的。接着启动Simulink,在命令提示窗口界面点击“

即可,进入Simulink Library Browser,把Signal Processing Blockset展开,选择相应的模块,托到滤波模块窗口上进行搭建,为了查看输出变量,可以添加适当模块把变量输出到工作空间中用于实时观测模拟结果,搭建完整的系统模块如图4-2所示。

第13页 共21页

图4-2 完整的FIR滤波模块系统

模型搭建完成后即可设置各个模块的参数,方法为双击该模块,选择正确的参数填入;图中的To Workspace模块可以观测和分析输出到空间的变量数据y和y1,Time Scope模块则用于观测输入信号与滤波后输出信号的时域图形;Spectrum Scope用于观察输入信号和滤波后输出信号的频域图形。模拟采用固定步长,且步长与DSP的Sine模块中的Sample time保持一致,若要修改参数,可在菜单中点击Configuration Parameters进入界面,在Solver中填入相应的参数,在参数都设置完成之后就可以进入模拟,并观测输入信号和滤波后输出信号的时域图与频域图。

仿真结果如图4-3所示:

图4-3 Simulink模块下的输入和输出信号时域频域图

4.3 利用MATLAB获取H参数

根据滤波器的脉冲响应计算出h[n],然后将脉冲响应值移位为因果序列 这里计算h[n]的值,采用Matlab计算。 代码如下:

第14页 共21页

Window=blackman(25); h=fir1(24,0.64,Window); freqz(h,1) 系数如下: h1 =

Columns 1 through 8

0.0000 -0.0000 0.0008 -0.0019 -0.0016 0.0100 -0.0087 -0.0180

Columns 9 through 16

0.0492 -0.0204 -0.1095 0.2800 0.6400 0.2800 -0.1095 -0.0204

Columns 17 through 24

0.0492 -0.0180 -0.0087 0.0100 -0.0019 -0.0016 0.0008 -0.0000

Columns 25

0.0000

第15页 共21页


TMS320C5402DSP课程设计要点 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浙江省绍兴一中2016-2017学年高一上学期期中考试地理试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: