数字信号处理实验介绍范文第1篇
数字信号处理
姓名:
殷超宇
班级:
14060142 学号:
1406014226
实验题目:Z Z 变换及离散时间系统分析
指导教师:
张志杰
分数:
一
实验题目:
Z 变换及离散时间系统分析
二
实验目的:
1、通过本实验熟悉 Z 变换在离散时间系统分析中的地位和作用。
2、掌握并熟练使用有关离散系统分析的 MATLAB 调用函数及格式,以深入理解离散时间系统的频率特性。
三
实验内容:
给定系统 ) 8 .0 /( 2 .0 ) (2 z z H ,编程并绘出系统的单位阶跃响应 y(n),频率响应 ) e (jwH ,并给出实验数据与代码。
四
参考代码:
详见《数字信号处理上机实验指导》(班群里有)
五
实验代码(代码从 B MATLAB )
软件复制粘贴于此处,教师检查重点): :
clear;
x=ones(100);% x(n)=1,n=1~100;
t=1:100;% t 用于后面的绘图;
b=[0,0,-0.2]; % 形成向量 b;
a=[1,0,0.8]; % 形成向量 a;
y=filter(b,a,x);% 求所给系统的阶跃响应;
plot(t,y,"k-"); grid on;
ylabel(" y(n)")
xlabel("n")
六
实验数据(图像或表格复制粘贴于此处,教师检查重点):
七
实验心得与收获(可手写):
数字信号处理实验介绍范文第2篇
摘
要........................................................................................................................................... 1 1 绪论 .............................................................................................................................................. 2
1.1 DSP系统特点和设计基本原则 ...................................................................................... 2 1.2 国内外研究动态 ............................................................................................................. 2 2系统设计........................................................................................................................................ 3 3硬件设计........................................................................................................................................ 5
3.1 硬件结构 ........................................................................................................................... 5 3.2 硬件电路设计 ................................................................................................................... 7
3.2.1 总输入电路 ........................................................................................................... 7 3.2.2 总输出电路 ........................................................................................................... 7 3.2.3 语音输入电路 ....................................................................................................... 9 3.2.4 语音输出电路 ....................................................................................................... 9
4 实验结果及分析 ......................................................................................................................... 10 4.1 实验结果 ......................................................................................................................... 10 4.2 实验分析 ......................................................................................................................... 12 5 总结与心得体会 ......................................................................................................................... 13 参考文献......................................................................................................................................... 14 致谢 ................................................................................................................................................ 15
摘
要
基于DSP的语音信号处理系统,该系统采用TMS320VC5509作为主处理器,TLV320AIC23B作为音频芯片,在此基础上完成系统硬件平台的搭建和软件设计,从而实现对语音信号的采集、滤波和回放功能,它可作为语音信号处理的通用平台。
语音是人类相互之间进行交流时使用最多、最自然、最基本也是最重要的信息载体。在高度信息化的今天,语音信号处理是信息高速公路、多媒体技术、办公自动化、现代通信及智能系统等新兴领域应用的核心技术之一。通常这些信号处理的过程要满足实时且快速高效的要求,随着DSP技术的发展,以DSP为内核的设备越来越多,为语音信号的处理提供了良好的平台。本文设计了一个基于TMS320VC5509定点的语音信号处理系统,实现对语音信号的采集、处理与回放等功能,为今后复杂的语音信号处理算法的研究和实时实现提供一个通用平台。
关键词:语音处理;DSP;TMS320VC5509;TLV320AIC23B
1 1 绪论
语音是人类相互间所进行的通信的最自然和最简洁方便的形式,语音通信是一种理想的人机通信方式。语音通信的研究涉及到人工智能、数字信号处理、微型计算机技术、语言声学、语言学等许多领域,所以说语音的通信是一个多学科的综合研究领域,其研究成果具有重要的学术价值。另外通过语音来传递信息是人类最重要的、最有效、最常用的交换信息的形式。语言是人类特有的功能,声音是人类常用的工具,是相互传递信息的主要手段。同时也是众构成思想交流和感情沟通的最主要的途径。
1.1 DSP系统特点和设计基本原则
DSP(digital signal processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。其工作原理是接收模拟信号,转换为0或1的数字信号。再对数字信号进行修改、删除、强化,并在其他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器,是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。
1.2 国内外研究动态
语音信号处理作为一个重要的研究领域,已经有很长的研究历史。但是它的快速发展可以说是从1940年前后Dudley的声码器和Potter等人的可见语音开始的;20世纪60年代中期形成的一系列数字信号处理的理念和技术基础;到了80年代,由于矢量量化、隐马尔可夫模型和人工神经网络等相继被应用于语音信号处理,并经过不断改进与完善,使得语音信号处理技术产生了突破性的进展。一方面,对声学语音学统计模型的研究逐渐深入,鲁棒的语音识别、基于语音段的建模方法及隐马尔可夫模型与人工神经网络的结合成为研究的热点。另一方面,为了语音识别实用化的需要,讲者自适应、听觉模型、快速搜索识别算法以及进一步的语言模型的研究等课题倍受关注。
在通信越来越发达的当今世界,尤其最近几十年,语音压缩编码技术在移动
2 通信、IP电话通信、保密通信、卫星通信以及语音存储等很多方面得到了广泛的应用。因此,语音编码一直是通信和信号处理的研究热点,并其取得了惊人的进展,目前在PC机上的语音编码已经趋于成熟,而如何在嵌入式系统中实时实现语音压缩编码则是近些年来语音信号处理领域的研究热点之一。
2系统设计
在实际生活中,当声源遇到物体时会发生反射,反射的声波和声源声波一起传输,听者会发现反射声波部分比声源声波慢一些,类似人们面对山体高声呼喊后可以在过一会儿听到回声的现象。声音遇到较远物体产生的反射会比遇到较近的反射波晚些到达声源位置,所以回声和原声的延迟随反射物体的距离大小改变。同时,反射声音的物体对声波的反射能力,决定了听到的回声的强弱和质量。另外,生活中的回声的成分比较复杂,有反射、漫反射、折射,还有回声的多次反射、折射效果。
当已知一个数字音源后,可以利用计算机的处理能力,用数字的方式通过计算模拟回声效应。简单的讲,可以在原声音流中叠加延迟一段时间后的声流,实现回声效果。当然通过复杂运算,可以计算各种效应的混响效果。如此产生的回声,我们称之为数字回声。
本次实验的程序流程图如下:
图2.1 程序流程图
3
本次实验的系统框图如下:
图2.2 系统框图
4
3硬件设计
3.1 硬件结构
图3.1是系统的硬件结构框图, 系统主要包括VC5509和A IC23 两个模块。
图3.1系统硬件结构框图
利用VC5509 的片上外设I2C( Inter - Integrated Circuit, 内部集成电路)模块配置AIC23 的内部寄存器; 通过VC5509 的McBSP (Multi channel Buffered Serial Ports, 多通道缓存串口)接收和发送采样的音频数据。控制通道只在配置AIC23 的内部寄存器时工作, 而当传输音频数据时则处于闲置状态。
AIC23通过麦克风输入或者立体声音频输入采集模拟信号, 并把模拟信号转化为数字信号, 存储到DSP的内部RAM中,以便DSP处理。
当DSP完成对音频数据的处理以后, AIC23再把数字信号转化为模拟信号, 这样就能够在立体声输出端或者耳机输出端听到声音。
5 AIC23能够实现与VC5509 DSP的McBSP端口的无缝连接, 使系统设计更加简单。接口的原理框图, 如下图所示。
图3.2 AIC23与VC5509接口原理图
系统中A IC23的主时钟12 MHz直接由外部的晶振提供。MODE接数字地, 表示利用I2 C控制接口对AIC23传输控制数据。CS接数字地, 定义了I2 C总线上AIC23的外设地址, 通过将CS接到高电平或低电平, 可以选择A IC23作为从设备在I2 C总线上的地址。SCLK和SDIN是AIC23控制端口的移位时钟和数据输入端,分别与VC5509的I2C模块端口SCL和SDA相连。
收发时钟信号CLKX1和CLKR1由A IC23的串行数据输入时钟BCLK提供, 并由A IC23的帧同步信号LRCIN、LRCOUT启动串口数据传输。DX1和DR1分别与A IC23 的D IN 和DOUT 相连, 从而完成VC5509与AIC23间的数字信号通信。
6 3.2 硬件电路设计
3.2.1 总输入电路
图3.3 总输入电路
从左到右各部分电路为:
话筒,开关,语音输入电路,UA741高增益放大电路,有源二阶带 通滤波器。
3.2.2 总输出电路
图3.4 总输出电路
从左到右各部分电路为:
LM386高频功率放大器及其外围器件连接电路,语音输出电路,开关,扬声器。
8 3.2.3 语音输入电路
图3.5语音输入电路
3.2.4 语音输出电路
图3.6 语音输出电路
语音信号通道包括模拟输入和模拟输出两个部分。模拟信号的输入输出电路如图所示。上图中MICBIAS 为提供的麦克风偏压,通常是3/4 AVDD,MICIN为麦克风输入,可以根据需要调整输入增益。下图中LLINEOUT 为左声道输出,RLINEOUT为右声道输出。用户可以根据电阻阻值调节增益的大小,使语音输入输出达到最佳效果。从而实现良好的模拟语音信号输入与模拟信号的输出。
9 4 实验结果及分析
4.1 实验结果
按“F5”键运行,注意观察窗口中的bEcho=0,表示数字回声功能没有激活。这时从耳机中能听到麦克风中的输入语音放送。将观察窗口中bEcho的取值改成非0值。这时可从耳机中听到带数字回声道语音放送。
分别调整uDelay和uEffect的取值,使他们保持在0-1023范围内,同时听听耳机中的输出有何变化。
当uDelay和uEffect的数值增大时,数字回声的效果就会越加的明显。
图4.1 修改前程序图
图4.2 修改前程序图
图4.3 频谱分析
图4.4 左声道及右声道波形
11 4.2 实验分析
所以,从本实验可知当已知一个数字音源后,可以利用计算机的处理能力,用数字的方式通过计算模拟回声效应。简单的讲,可以在原声音流中叠加延迟一段时间后的声流,实现回声效果。当然通过复杂运算,可以计算各种效应的混响效果。
声音放送可以加入数字回声,数字回声的强弱和与原声的延迟均可在程序中设定和调整。
12 5 总结与心得体会
通过本次课程设计,我明白了细节决定成败这句话的道理,在实验中,有很多注意的地方,都被忽视了,导致再花费更多的时间去修改,这严重影响了试验的进度。同时,在本次实验中我了解了ICETEK – VC5509 – A板上语音codec芯片TLV320AIC23的设计和程序控制原理,并进一步掌握了数字回声产生原理、编程及其参数选择、控制,以及了解了VC5509DSP扩展存储器的编程使用方法。
这一学期的理论知识学习加上这次课程设计,使我对DSP有了更加深刻的了解,对数字信号的处理功能,软硬件相结合,语音信号的采集与放送等等方面都有了很深的了解,相信本次课程设计,无论是对我以后的学习,还是工作等方面都有一个很大的帮助。因此,本次课程设计让我受益匪浅。
参考文献
[1]李利.DSP原理及应用[M].北京:中国水利水电出版社,2004. [2]王安民,陈明欣,朱明.TMS320C54xxDSP实用技术[M].北京:清华大学出版社,2007 [3]彭启琮,李玉柏.DSP技术[M].成都:电子科技大学出版社,1997 [4]李宏伟,等.基于帧间重叠谱减法的语音增强方法[J].解放军理工大学学报,2001(1):41~44 [5]TexasInstrumentsIncorporated.TMS320C54x系列DSP的CPU与外设[M].梁晓雯,裴小平,李玉虎,译.北京:清华大学出版社,2006 [6]赵力.语音信号处理[M].北京:机械工业出版社,2003比较图4和图5,可以看到1200Hz以上的频谱明显得到了抑制。
[7]江涛,朱光喜.基于TMS320VC5402的音频信号采集与系统处理[J].电子技术用,2002,28(7):70~72[8]TexasInstrumentsIncorporated:TMS320VC5402Datasheet,2001
致谢
在本次课程设计的即将完成之际,笔者的心情无法平静,本文的完成既是笔者孜孜不倦努力的结果,更是指导老师樊洪斌老师亲切关怀和悉心指导的结果。在整个课程设计的选题、研究和撰写过程中,老师都给了我精心的指导、热忱的鼓励和支持,他的精心点拨为我开拓了研究视野,修正了写作思路,对课程设计的完善和质量的提高起到了关键性的作用。另外,导师严谨求实的治学态度、一丝不苟的工作作风和高尚的人格魅力,都给了学生很大感触,使学生终生受益。在此,学生谨向老师致以最真挚的感激和最崇高的敬佩之情。
数字信号处理实验介绍范文第3篇
数字信号处理
姓名:
殷超宇
班级:
14060142 学号:
1406014226
实验题目:Z Z 变换及离散时间系统分析
指导教师:
张志杰
分数:
一
实验题目:
Z 变换及离散时间系统分析
二
实验目的:
1、通过本实验熟悉 Z 变换在离散时间系统分析中的地位和作用。
2、掌握并熟练使用有关离散系统分析的 MATLAB 调用函数及格式,以深入理解离散时间系统的频率特性。
三
实验内容:
给定系统 ) 8 .0 /( 2 .0 ) (2 z z H ,编程并绘出系统的单位阶跃响应 y(n),频率响应 ) e (jwH ,并给出实验数据与代码。
四
参考代码:
详见《数字信号处理上机实验指导》(班群里有)
五
实验代码(代码从 B MATLAB )
软件复制粘贴于此处,教师检查重点): :
clear;
x=ones(100);% x(n)=1,n=1~100;
t=1:100;% t 用于后面的绘图;
b=[0,0,-0.2]; % 形成向量 b;
a=[1,0,0.8]; % 形成向量 a;
y=filter(b,a,x);% 求所给系统的阶跃响应;
plot(t,y,"k-"); grid on;
ylabel(" y(n)")
xlabel("n")
六
实验数据(图像或表格复制粘贴于此处,教师检查重点):
七
实验心得与收获(可手写):
数字信号处理实验介绍范文第4篇
学院 理学院 班级 地信131 学号 姓名
编写日期:1
2015.5
▶▶作业a
1.LS8_C_20140613_022505_000000_118039_GEOTIFF_L4
2. L5118_39_19860531 ProductDescription用记事本打开,读取头文件,并填写相关信息与相应位置即可
2
3. L5118-39-19960103
4. L7118039_20050815 直接打开以_mtl为后缀的文件,该文件中包含了遥感影像的所有波段
3 5. LM212803919761127 直接打开波段,然后波段合成即可
6. s5kj297_289_10m
7. WORLDVIEW-052606622010_01
4
▶▶作业b
在ENVI中将landsat的4景影像和SPOT-5的1景的影像打开,并联动连接查看同一区域
link displays是根据象元位置来连接的,geographic link是通过地理坐标位置来连接的。
5
由上图可知,将遥感影像联动时亦可实现不同影像同一区域的快速检索,但是我们也可以看到,由于受到各方面因素的影像并不能特别精确的指在同一地方。
▶▶作业c
1.WORLDVIEW-2影像保存为jpg和TIF格式的4-3-2波段合成的假彩色图像。可用同样的方法将SPOT-5影像保存为jpg和tif格式的4-3-2波段合成的假彩色图像
6 2.为landsat的5景影像附上波段的波长,并根据波长用landsat 5的7-4-3波段,保存为jpg和tif格式影像
为波长复制后,导入影像文件各波段显示差异前后对比
转换为JPG格式后可以用看图软件直接打开
7
▶▶作业d
需要对影像进行裁剪,裁剪的基本步骤如下:
1.L5118_39_19860531裁剪前后对比
2. L5118-39-19960103裁剪前后对比
3. L7118039_20050815裁剪前后对比
4. LS8_C_20140613_022505_000000_118039_GEOTIFF_L4裁剪前后对比
▶▶
作业e
将剪裁影像,重采样成10m,重采样的操作主要如下
9
1.L5118_39_19860531重采样前后对比
2. L5118-39-19960103重采样前后对比
10
3. L7118039_20050815重采样前后对比
11
4.LS8_C_20140613_022505_000000_118039_GEOTIFF_L4重采样前后对比
数字信号处理实验介绍范文第5篇
2)请在授课教师规定的时间内完成;
3)完成作业后,请以word格式保存,文件名为:学号+姓名
4)请通读全文,依据第2及第3 两部分内容,认真填写第4部分所需的实验数据,并给出程序内容。
1. 实验目的
(1) 学会MATLAB的使用,掌握MATLAB的程序设计方法
(2) 掌握在windows环境下语音信号采集的方法
(3) 掌握MATLAB设计FIR和IIR滤波器的方法及应用
(4) 学会用MATLAB对语音信号的分析与处理方法
2. 实验内容
录制一段自己的语音信号,对录制的语音信号进行采样,画出采样后语音信号的时域波形和频谱图,确定语音信号的频带范围;使用MATLAB产生白噪声信号模拟语音信号在处理过程中的加性噪声并与语音信号进行叠加,画出受污染语音信号的时域波形和频谱图;采用双线性法设计出IIR滤波器和窗函数法设计出FIR滤波器,画出滤波器的频响特性图;用自己设计的这两种滤波器分别对受污染的语音信号进行滤波,画出滤波后语音信号的时域波形和频谱图;对滤波前后的语音信号进行时域波形和频谱图的对比,分析信号的变化;回放语音信号,感觉与原始语音的不同。
3. 实验步骤
1)语音信号的采集与回放
利用windous下的录音机或其他软件录制一段自己的语音(规定:语音内容为自己的名字,以wav格式保存,如wql.wav),时间控制再2秒之内,利用MATLAB提供的函数wavread对语音信号进行采样,提供sound函数对语音信号进行回放。
[y,fs,nbits]=wavread(file),
采样值放在向量y中,fs表示采样频率nbits表示采样位数。Wavread的更多用法请使用help命令自行查询。
2)语音信号的频谱分析
利用fft函数对信号进行频谱分析
3)受白噪声干扰的语音信号的产生与频谱分析
①白噪声的产生:
N1=sqrt(方差值)×randn(语音数据长度,2)(其中2表示2列,是由于双声道的原因) 然后根据语音信号的频谱范围让白噪声信号通过一个带通滤波器得到一个带限的白噪声信号N2;
带通滤波器的冲激响应为:
hB(n)=c2
sinc(c2
(n))c1
sinc(c1
(n)) 其中ωc1为通带滤波器的下截止频率,
ωc2为通带滤波器的上截止频率。其中下截止频率由每个人的语音信号的最高频率确定 滤波器的长度N由滤波器的过渡带确定,一般不宜太小(大于1000),α=(N-1)/2; ②信号y通过低通滤波器,得到信号为x1
低通滤波器的冲激响应为:
hL(n)c1sinc(c1
(n))其中的ωc1与上面的带通滤波器的下截止频率一致,滤波器的
长度N也于上面的带通滤波器一致,α=(N-1)/2
③将N1加上x1得到一个受到噪声污染的声音信号
4)据语音信号的频带情况,设计FIR和IIR两种滤波器
5)用滤波器对受污染语音信号进行滤波
FIR滤波器fftfilt函数对信号进行滤波,IIR滤波器用filter函数对信号进行滤波
6)比较滤波前后信号的波形与频谱
7)回放滤波后的语音信号
4. 实验数据及实验程序
实验数据
1)原始语音信号的时域波形和频谱图及语音信号的频带范围
2)带限白噪声信号的时域波形和幅频特性
3)受污染语音信号的时域波形和幅频谱图
4)滤波器的频响特性图
FIR滤波器的幅频响特性图
IIR滤波器的幅频响特性图
5)滤波后语音信号的时域波形和频谱图
6)滤波前后的语音信号时域波形对比图和幅频谱对比图
7)将实验的资料的电子文档交给班长(建立一个文件夹,里面包括:①实验报告的电子版;②采集的语音信号电子文件;③受污染的语音信号及滤波后的语音信号存在文件名为“姓名+学号.mat”文件的文件中)
实验程序:
1)实验主程序
2)FIR滤波器子程序
数字信号处理实验介绍范文第6篇
《课程设计报告》
题 目:IIR数字滤波器的DSP实现 专 业: 电子信息工程 班 级: 电子二班 姓 名: 高二奎 学 号: 1104030205 指导教师: 尹艳群
2015年 1月 8 日
信息与电气工程学院 课程设计任务书
2014—2015学年第一学期
专业: 电子信息工程 班级: 电子二班 学号: 1104030205姓名: 高二奎 课程设计名称: DSP原理及应用 设计题目: IIR数字滤波器的DSP实现
完成期限:自 2015 年 1 月 1 日至 2015 年 1 月 8 日共 1 周 设计依据、要求及主要内容(可另加附页):
1、设计目的:通过课程设计,使学生综合运用DSP技术课程和其他有关先修课程的理论和生产实际知识去分析和解决具体问题的能力得到提高,并使其所学知识得到进一步巩固、深化和发展。通过课程设计初步培养学生对工程设计的独立工作能力,学习设计的一般方法。通过课程设计树立正确的设计思想,提高学生分析问题、解决问题的能力。通过课程设计训练学生的设计基本技能,如计算、绘图、查阅设计资料和手册,熟悉标准与规范等。
2、要求:
1.熟悉DSP处理器及其结构性能,掌握DSP芯片配套开发工具的使用方法。 2.按要求设计出硬件电路。
3.画出硬件连接原理图,并对硬件工作原理进行说明。
4.给出软件流程图及编写程序,每一条指令的后面附上相应的注释。 5.进行软、硬件调试,检查是否达到相关的功能。 6.写出调试方法。
7.设计报告结尾附上心得体会。
3、主要内容:熟悉5410DSP的MCBSP的使用,了解AD50的结构,掌握AD50各寄存器的意义及其设置,掌握AD50与DSP的接口,AD50的通讯格式及AD50的DA实验。
指导教师(签字): 批准日期: 年 月 日
目 录
一、 摘要·························································3
二、 数字滤波器介绍和IIR数字滤波器的理论分析·····················3 2.1数字滤波器介绍··············································3 2.2 IIR滤波器的设计方法及原理···································4
三、 DSP软件的简单介绍···········································6 3.1DSP系统的特点···············································6 3.2DSP系统的设计流程···········································7 3.3DSP系统的开发工具CCS········································7
四、 TMS320C5402的介绍···········································9
五、 基于DSP的IIR程序设计及软件调试·····························11 5.1IIR程序设计················································11
5.2软件调试结果·········································13
六、 总结和心得··················································15
七、参考文献·······················································
一、摘要
随着计算机和信息技术的飞速发展,数字信号处理已经成为高速实时处理的一项关键技术,广泛应用在语音识别、智能检测、工业控制等各个领域。数字滤波器是对数字信号实现滤波的线性时不变系统。数字滤波实质上是一种运算过程,实现对信号的运算处理。
DSP数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。传感器数字信号处理是利用传感器对模拟信号或数字信号进行采集并把其转换成计算机可识别的电信号,并利用计算机对信号进行处理以达到计算机辅助控制或是计算机自动控制的目的。
DSP 芯片是一种特别适合数字信号处理运算的微处理器,主要用来实时、快速地实现各种数字信号处理算法。用DSP 芯片实现IIR 数字滤波器,不仅具有精确度高、不受环境影响等优点,而且因DSP 芯片的可编程性,可方便地修改滤波器参数,从而改变滤波器的特性,设计十分灵活。
本课题主要应用MATLAB软件设计IIR数字滤波器,并对所设计的滤波器进行仿真;应用DSP集成开发环境——CCS调试汇编程序,文章结合TM320C5509的结构特点,介绍了一种IIR滤波器在TM320C5509中的实现方法。文中程序已经过硬件验证,仿真结果表明该设计符合要求。
关键词
数字滤波;IIR;DSP;TM320C5509;MATLAB
二、数字滤波器介绍和IIR数字滤波器的理论分析 2.1数字滤波器介绍
数字滤波器是对数字信号实现滤波的线性时不变系统。数字滤波实质上是一种运算过程,实现对信号的运算处理。输入数字信号(数字序列)通过特定的运算转变为输出的数字序列,因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。描述离散系统输出与输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。时域离散系统的频域特性:
, 其中、分别是数字滤波器的输出序列和输入序列的频域特性(或是数字滤波器的单位取样响应的频谱,又称为数字滤波器
经过滤波后
,因此,只要按称为频谱特性),的频域响应。输入序列的频谱照输入信号频谱的特点和处理信号的目的, 适当选择,使得滤波后的满足设计的要求,这就是数字滤波器的滤波原理。
数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。IIR 数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型
来实现,其差分方程为:
系统函数为:
设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数H(z),使其频率响应H(z)满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数。 2.2 IIR滤波器的设计方法及原理
IIR滤波器差分方程的一般表达式为:
式中x(n)为输入序列;y(n)为输出序列;于0,则为FIR滤波器. IIR滤波器具有无限长的单位脉冲响应,在结构上存在反馈回路,具有递归性,即IIR滤波器的输出不仅与输入有关,而且与过去的输出有关. 将上式展开得出y(n)表达式为:
和为滤波器系数.若所有系数等
在零初始条件下,对上式进行z变换,得到:
设N=M,则传递函数为:
上式可写成:
上式具有N个零点和N个极点.若有极点位于单位圆外将导致系统不稳定.由于FIR滤波器所有的系数均为0,不存在极点,不会造成系数的不稳定.对于IIR滤波器,系统稳定的条件如下: 若||<1,当n→时,h(n)→0,系统稳定; 若||>1,当n→时,h(n)→,系统不稳定. IIR滤波器具有多种形式,主要有:直接型(也称直接I型)、标准型(也称直接II型)、变换型、级联型和并联型.
三、DSP软件的简单介绍 3.1DSP系统的特点
DSP系统是以数字信号处理为基础的,因此不但具有数字处理的全部优点而且还具有以下特点[24]: 1.接口方便:DSP应用系统与其他以现代数字技术为基础的系统或设备都是相互兼容的,这样的系统接口以实现某种功能要比模拟系统与这些系统接口要容易得多。
2.编程方便:DSP应用系统中的可编程DSP芯片,能灵活方便地进行修改和升级。
3.稳定性好:DSP应用系统以数字处理为基础,受环境温度及噪声的影响较小、可靠性高,无器件老化现象。
4.精度高:16位数字系统可以达到10-5级的精度。 5.可重复性好:模拟系统的性能受元器件参数性能变化的影响比较大,而数字系统基本不受影响,因此数字系统便于测试、调试和大规模生产。
6.集成方便:DSP应用系统中的数字部件有高度的规范性,便于大规模集成。
当然,数字信号处理也存在一些缺点。例如,对于简单信号处理任务,若采用DSP则使成本增加。DSP系统中的高速时钟可能带来高频干扰和电磁泄漏等问题,而且DSP系统消耗的功率也较大。此外,DSP技术更新速度快,对于数学知识要求高,开发和测试工具还有待进一步完善。 3.2DSP系统的设计流程
一个DSP系统的设计过程大概要有以下几个步骤。
1.根据系统的任务要求,确定系统处理精度要求、速度要求、实时性要求等性能指标。
2.根据系统的要求进行高级语言的算法模拟,比如使用MATLAB等仿真工具,验证算法的可行性,得出最佳的处理方法。
3.DSP的系统设计,主要分为硬件设计和软件设计。硬件设计是指根据系统要求选择合适的DSP芯片,然后设计相应的外围电路。软件设计主要是指根据系统的要求和选用的DSP芯片编写相应的程序。程序的编写可以使用汇编语言,汇编语言编写的程序效率高,但比较烦杂;也可采用C语言,DSP的C语言基本上是标准C语言,编写比较简单,但效率低。在实际系统开发时往往是两种语言结合编写,在算法运算量大的地方使用汇编语言,在运算量小的地方使用C语言,这样既能缩短软件的开发周期,提高程序的可读性和可移植性,又满足了系统的实时性要求。本文的设计采用汇编语言编写、设计软件程序。 3.3DSP系统的开发工具CCS CCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。
CCS有两种工作模式,即
软件仿真器模式:可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。 硬件在线编程模式:可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。
CCS的开发系统主要由以下组件构成:
1. 2. 3. 4. 5. TMS320C54x集成代码产生工具; CCS集成开发环境;
DSP/BIOS实时内核插件及其应用程序接口API; 实时数据交换的RTDX插件以及相应的程序接口API; 由TI公司以外的第三方提供的各种应用模块插件。
CCS的功能十分强大,它集成了代码的编辑、编译、链接和调试等诸多功能,而且支持C/C++和汇编的混合编程,其主要功能如下:
1.具有集成可视化代码编辑界面,用户可通过其界面直接编写C、汇编、.cmd文件等;
2.含有集成代码生成工具,包括汇编器、优化C编译器、链接器等,将代码的编辑、编译、链接和调试等诸多功能集成到一个软件环境中;
3.高性能编辑器支持汇编文件的动态语法加亮显示,使用户很容易阅读代码,发现语法错误;
4.工程项目管理工具可对用户程序实行项目管理。在生成目标程序和程序库的过程中,建立不同程序的跟踪信息,通过跟踪信息对不同的程序进行分类管理;
5.基本调试工具具有装入执行代码、查看寄存器、存储器、反汇编、变量窗口等功能,并支持C源代码级调试;
6.断点工具,能在调试程序的过程中,完成硬件断点、软件断点和条件断点的设置;
7.探测点工具,可用于算法的仿真,数据的实时监视等;
8.分析工具,包括模拟器和仿真器分析,可用于模拟和监视硬件的功能、评价代码执行的时钟;
9.数据的图形显示工具,可以将运算结果用图形显示,包括显示时域/频域波形、眼图、星座图、图像等,并能进行自动刷新;
10.提供GEL工具。利用GEL扩展语言,用户可以编写自己的控制面板/菜单,设置GEL菜单选项,方便直观地修改变量,配置参数等;
11.支持多DSP的调试;
12.支持RTDX技术,可在不中断目标系统运行的情况下,实现DSP与其他应用程序的数据交换;
13.提供DSP/BIOS工具,增强对代码的实时分析能力。
四、TMS320C5402的介绍
TMS320C5509采用双乘累加单元(MAC)结构。整个处理器内部分为5个大的功能单元:存储器缓冲单元(M)、指令缓冲单元(I)、程序控制单元(P)、地址生成单元(A)和数据计算单元(D),各个功能单元之间通过总线连接。TMS320C5509中共有12条总线:1条32位程序数据总线(PB),1条24位程序地址总线(PAB),5条16位的数据总线(BB、CB、DB、EB、FB)和5条24位的数据地址总线(BAB、CAB、DAB、EAB、FAB)。
作为嵌入式芯片的一种,DSP芯片是一种非常适合于进行数字信号处理的微处理器芯片,已经广泛应用于实现各种数字信号处理运算。其显著特点可以归纳如下: 1.哈佛结构
哈佛结构是不同于传统的冯·诺曼(Von Neuman)结构的并行体系结构,其主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线两条总线,从而使数据的吞吐率提高了一倍。 2.流水线
与哈佛结构相关,DSP芯片广泛采用流水线以减少指令执行时间,从而增强了处理器的处理能力。TMS320系列处理器的流水线深度从2-6级不等。第一代TMS320处理器采用二级流水线,第二代采用三级流水线,而第三代则采用四级流水线。也就是说,处理器可以并行处理2-6条指令,每条指令处于流水线上的不同阶段。
3.专用的硬件乘法器
在一般形式的FIR滤波器中,乘法是DSP的重要组成部分。对每个滤波器抽头,必须做一次乘法和一次加法。乘法速度越快,DSP处理器的性能就越高。在通用的微处理器中,乘法指令是由一系列加法来实现的,故需许多个指令周期来完成。相比而言,DSP芯片的特征就是有一个专用的硬件乘法器。 4.特殊的DSP指令
DSP芯片的另一个特征是采用特殊的指令。例如TMS320C10中的LTD指令,可单周期完成加载寄存器、数据移动、同时累加操作。还有DMOV指令,它完成数据移位功能。在数字信号处理中,延迟操作非常重要,这个延迟就是由DMOV指令来实现的[9]。 5.快速的指令周期
哈佛结构、流水线操作、专用的硬件乘法器、特殊的DSP指令再加上集成电路的优化设计,可使DSP芯片的指令周期缩短到200ns以下。现在,许多DSP处理器的指令周期已经从第一代的200ns降低至现在的20ns以下,甚至在10ns以内。快速的指令周期使得DSP芯片能够实时实现许多DSP应用。 6.面向寄存器和累加器
DSP所使用的不是一般的寄存器文件,而是专用寄存器,较新的DSP产品都有类似于RISC的寄存器文件。许多DSP还有大的累加器,可以在异常情况下对数据溢出进行处理。 7.支持前、后台处理
DSP支持复杂的内循环处理,包括建立起X、Y内存和分址/循环计数器。一些DSP在做内循环处理中把中断屏蔽了,另一些则以类似后台处理的方式支持快速中断。许多DSP使用硬连线的堆栈来保存有限的上下文,而有些则用隐蔽的寄存器来加快上下文转换时间。 8.拥有简便的单片内存和内存接口
DSP设法避免了大型缓冲器或复杂的内存接口,减少了内存访问。一些DSP的内循环是在其单片内存中重复执行指令或循环操作部分代码,它多采用SRAM而不是DRAM,因为前者接口更简便。2000年3月,德州仪器(TI)公司推出了高性能低功耗的TMS320C55x芯片[10]。
其性能可以达到400-800MIPS,但功耗低到0.05 mW/MIPS。TMS320系列包括定点、浮点和多处理器等三种类型的数字信号处理器。它的结构是专门针对实时信号处理而设计的,具有指令灵活、可操作性强、速度快以及支持并行运算和C语言等特点,是性价比较高的一类DSP,在通信设备中得到了广泛的应用。C5000系列DSP是针对个人便携设备而设计的,如音乐播放器、3G蜂窝电话、数码相机、高速音频设备、高精度的信号和多通道应用。通常人们把C54x和C55x系列通称C5000系列,主要用于功耗低、便携式的无线通信终端产品。C5000系列包括旧有的C5x、当前主流的C54x和较新的C55x系列。其中,C54x采用改进的哈佛结构,并集成有丰富的硬件逻辑和外部接口资源,具有较高的性能,及较低的成本和体积。C55x是在C54x的基础上发展起来的,也采用改进型哈佛结构,其器件功耗较C54x更低,性能更高。
TMS320C55x采用多总线结构,由五组内部数据总线(3个用于读,2个用于写)和一组内部程序存储总线构成。32bit的程序总线(PB)传送从程序存储器来的指令代码和立即数。三组16bit数据读总线(BB,CB和DB)连接数据读地址产生逻辑。CB和DB总线传送双操作数。DB总线传送单操作数。BB总线提供第三种读路径并且能够提供双乘操作数的系数。两组16bit数据写总线(EB,FB)连接数据写地址产生逻辑。六组24bit数据总线(PAB,CAB,DAB,BAB,EAB,FAB)传送执行指令所需要的地址。还有一条附加总线为DMA控制器和外设控制器提供服务。
TMS320C55x的CPU结构主要包括四种功能单元:即指令缓冲单元(I单元),程序流程单元(P单元),地址数据流程单元(A单元)和数据计算单元(D单元)。其数据计算单元包括一个40bit的可以提供-32到31移位范围的桶形移位器,一个40bit的算术逻辑电路(ALU),两个乘累加器(MAC)可以在一个周期中执行两个MAC操作,以及四个40bit的累加器。在其地址数据流程单元还包括一个16bit的算术逻辑电路(ALU),为主ALU提供简单的算术运算。
55x的指令集功能强大而且使用灵活,它同时具有易于使用和程序效率高的特点。寻址方式包括绝对寻址、寄存器间接寻址、直接寻址,这些寻址方式降低了算法所需要的指令数量,减小了代码量,也提高了芯片运算速度。特别要提到的是C55x指令集中所提供的三操作数指令,这种指令可以实现3个操作数的同时处理(如写入寄存器或存储器等操作),大大压缩了代码的指令数量。
五、基于DSP的IIR程序设计及软件调试 5.1IIR程序设计 IIR.c程序
#include
#define IIRNUMBER 2 #define SIGNAL1F 1000 #define SIGNAL2F 4500 #define SAMPLEF 10000 #define PI 3.1415926
float InputWave(); float IIR();
float fBn[IIRNUMBER]={ 0.0,0.7757 }; float fAn[IIRNUMBER]={ 0.1122,0.1122 }; float fXn[IIRNUMBER]={ 0.0 }; float fYn[IIRNUMBER]={ 0.0 }; float fInput,fOutput; float fSignal1,fSignal2; float fStepSignal1,fStepSignal2; float f2PI; int i; float fIn[256],fOut[256]; int nIn,nOut;
main() { nIn=0; nOut=0; fInput=fOutput=0; f2PI=2*PI; fSignal1=0.0; fSignal2=PI*0.1; // fStepSignal1=2*PI/30; // fStepSignal2=2*PI*1.4; fStepSignal1=2*PI/50; fStepSignal2=2*PI/2.5; while ( 1 ) {
fInput=InputWave();
fIn[nIn]=fInput;
nIn++; nIn%=256;
fOutput=IIR();
fOut[nOut]=fOutput;
nOut++;
// break point
if ( nOut>=256 )
}
{
nOut=0; } }
float InputWave() {
}
float IIR() {
} float fSum; fSum=0.0; for ( i=0;i
} return(fSum); fSum+=(fXn[i]*fAn[i]); fSum+=(fYn[i]*fBn[i]); for ( i=IIRNUMBER-1;i>0;i-- ) {
} fXn[0]=sin((double)fSignal1)+cos((double)fSignal2)/6.0; fYn[0]=0.0; fSignal1+=fStepSignal1; if ( fSignal1>=f2PI ) fSignal1-=f2PI; fSignal2+=fStepSignal2; if ( fSignal2>=f2PI ) fSignal2-=f2PI; return(fXn[0]); fXn[i]=fXn[i-1]; fYn[i]=fYn[i-1]; IIR.cmd程序
-w -stack 400h -heap 100 -l rts.lib MEMORY {
} PAGE 0: VECT : o=80h,l=80h PRAM : o=100h,l=1f00h
PAGE 1: DRAM : o=2000h,l=1000h SECTIONS {
} .text : {}> PRAM PAGE 0 .data : {}> PRAM PAGE 0 .cinit : {}> PRAM PAGE 0 .switch : {}> PRAM PAGE 0 .const : {}> DRAM PAGE 1 .bss : {}> DRAM PAGE 1 .stack : {}> DRAM PAGE 1 .vectors: {}> VECT PAGE 0
5.2软件调试结果 通过IIR滤波器前的波形
通过IIR滤波器后的波形
在效果图中,上面波形为DSP实验箱产生的滤波前的效果图,下面波形为进行IIR滤波后的效果图。从两图的比较可以看出,所设计的IIR滤波器收到了较好的效果,完成了设计要求。
在编写及调试的过程中主要遇到以下问题:
(1)在编写程序的过程中要对所涉及的存储单元进行初始化,这样在数据或是代码段进行汇编时才不会出现问题。
(2)编写程序需要对数据段、代码段、堆栈段进行设置。要编写相应的.cmd(链接命令文件)文档对其进行合理化的分配空间。
(3)在编写程序时一定要编写相应的中断向量表文件,这样在汇编时才不会出错。
六、总结和心得
通过对本课题的研究,自己从中取得了一些成绩,理论水平也得到了一定的提高,同时也暴露了一些问题:
首先,对一个课题必须要阅读大量的文献和书籍来获得一定的感性认识,然后才能有自己的想法,这是一条必经之路。其次,理论基础知识很重要,论文涉及了很多的算法,会用到很多基础知识,如果用的时候再去学会浪费时间,因此要在平时注意搜集相关的资料,多学一些有用实用的技术,这样在以后的学习和工作中才能够做到游刃有余。最后,要有信心,遇到困难要向别人请教,这样可以大大加快研究进程。以上是我做论文的一些心得体会,这些对我以后的学习会有很大的帮助。
由于本人的时间和能力有限,本次的开发系统还存在一些不足之处,整个系统还需要进一步完善。文中也难免有不足之处,恳请老师批评指正。同时,对评审设计的老师表示衷心的感谢!
七、 参考文献