DSP课程考核论文.docx
- 文档编号:12846681
- 上传时间:2023-04-22
- 格式:DOCX
- 页数:15
- 大小:159.56KB
DSP课程考核论文.docx
《DSP课程考核论文.docx》由会员分享,可在线阅读,更多相关《DSP课程考核论文.docx(15页珍藏版)》请在冰豆网上搜索。
DSP课程考核论文
基于F2812的FIR数字滤波器设计与实现
摘要:
FIR滤波器具有幅度特性可随意设计、线性相位特性可严格精确保证等优点,因此在要求相位线性信道的现代电子系统,如图像处理、数据传输等波形传递系统中,具有很大吸引力。
本文简单介绍了其线性相位条件和设计方法,并且提供了一种用DSP实现的方法。
关键词:
IIR(InfiniteImpulseResponse) FIR(FiniteImpulseResponse) DSP(DigitalSignalProcessor)。
1引 言
数字信号处理(DigitalSignalProcessing,简称DSP)是涉及多门学科并且广泛应用在很多科学和工程领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的迅速发展,积极地推动和促进了DSP技术的发展进程。
在过去的二十多年里,DSP技术已经在通信等领域得到了广泛的应用。
步入21世纪以后,信息社会进入了数字化时代,DSP技术已成为数字化社会最重要的技术之一。
数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效的传输与应用。
与模拟信号处理相比,数字信号处理具有精确、灵活、抗干扰能力强、可靠性高、体积小、易于大规模集成等优点。
数字信号处理器(DsP)主要针对描述连续信号的数字信号进行数学运算,以得到相应的处理结果。
这种数学运算以快速傅立叶变换(FFT)为基础,对数字信号进行实时的处理。
最近二十年来,由于集成电路技术的高速发展,用硬件来实现各种数字滤波和快速傅立叶变换成为可能,从而使DSP得到了非常快速的发展和广泛的应用。
在数字化的世界和互联网的时代,DSP变得越来越重要,可以说是无处不在。
1、1数字滤波技术
一般来说,时域信号含有各种频率成分。
所谓滤波器是一类系统,它能够使输入信号中的某些频率成分充分地衰减,同时保留那些需要的频率成分。
数字滤波器将输入信号序列通过一定的运算后变换为输出信号序列,从而完成滤波功能。
因此,数字滤波器就是一个数字系统(离散系统),而且_般情况下还是线性时不变系统。
与模拟滤波相比,数字滤波具有很多突出的优点:
它可以满足滤波器对幅度和相位特性的严格要求,可以避免模拟滤波无法克服的电压漂移、温度漂移和噪声等问题。
且精度可以达到很高,容易集成。
在数字信号处理中,滤波有极其重要的作用,它通过对采样数据信号进行数学运算处理来达到频域滤波的目的。
几乎,每一科学和工程领域例如声学、物理学、通信、数据通信、控制系统和雷达等都涉及信号。
在许多应用中都希望根据期望的指标把一个信号的频谱加以修改、整形或运算。
这些过程都可能包含衰减一个频率范围,组织或隔离一些频率成分,用数字滤波器来实现这些功能是方便、有效、可行的。
由于电子计算机技术和大规模集成电路的发展,数字滤波器可用计算机软件实现,也可用大规模集成数字硬件实时实现。
2DSP简介
数字信号处理(DigitalSignalProcessing,DSP)是利用专用或通用数字信号处理芯片,通过数字方法实现信号处理。
DSP最早应用于军事领域。
DSP用于GPS制导系统中,可以高速分析定位卫星信号并将指令传给飞行器,大大提高了制导效率和精度。
在民用方面,数字移动蜂窝电话是DSP最重要的应用领域。
DSP芯片已经在通信与电子系统、信号处理系统、自动控制、雷达、军事、航空航天、医疗、家用电器、电力系统等许多领域中得到广泛的应用,而且新的应用领域在不断地被发掘。
2.1DSP系统
2.1.1DSP系统的构成
通常,一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D转换器、数字信号处理器DSP、A/D转换器和低通滤波器,其组成框图如图1所示。
图1典型的DSP系统组成框图
系统的输入信号x(f)有各种各样的形式,可以是语音信号、传真信号,也可以是视频信号,还可以是来自电话线的已调信号。
需要指出的是DSP系统可以由一个DSP芯片和外围电路组成,也可以由多个DSP芯片及外围电路组成,这完全取决于对信号处理的要求。
另外,并不是所有的DSP系统都必须包含框图中所有的部分。
例如,语音识别系统的输出并不是连续变化的波形,而是识别的结果,如数字、文字等。
2.1.2DSP系统的特点
数字信号处理系统是以数字信号处理为基础,因此具有数字处理的全部优点:
接口方便、编程方便、具有高速性、稳定性好、精度高、可重复性好、集成方便。
数字信号处理也存在一定的缺点。
例如,对于简单的信号处理任务,如与模拟交换线的电话接口,若采用DSP则使成本增加。
DSP系统中的高速时钟可能带来高频干扰和电磁泄漏等问题,而且DSP系统消耗的功率也较大。
此外,DSP技术更新的速度快,对数学知识要求非常高,开发和调试工具还有待完善。
虽然DSP系统存在着一些缺点,但其突出的优点已经使之在通信、语音、图像、雷达、生物医学、工业控制、仪器仪表等许多领域得到越来越广泛的应用。
2.1.3DSP系统的设计过程
对于一个DSP应用系统,其设计过程如图2所示。
依据设计过程,其设计步骤可以分为如下几个阶段。
图2DSP应用系统的设计流程
(1)定义系统性能指标。
根据应用系统的目标确定系统的性能指标、信号处理的要求,通常可用数据流程图、数学运算序列、正式的符号或自然语言来描述。
(2)采用高级语言进行性能模拟。
一般来说,为了实现系统的最终目标,需要对输入信号进行适当的处理,而处理方法的不同会导致不同的系统性能,要得到最佳的系统性能,就必须在这一步确定最佳的处理方法,即数字信号处理的算法(Algorithm),因此这一步也称算法模拟或仿真阶段。
(3)设计实时DSP系统。
实时DSP系统的设计包括硬件设计和软件设计两个方面。
硬件设计首先要根据系统运算量的大小、对运算精度的要求、系统成本限制以及体积、功耗等要求选择合适的DSP芯片。
然后设计DSP芯片的外围电路及其他电路,如:
A/D、D/A、内存、电源、通信、人机接口、总线等。
软件设计和编程主要根据系统要求和所选的DSP芯片用C语言、汇编语言或者两者语言混合编程。
混合编程是指在算法运算量大的地方用手工编写的方法编写汇编语言,而运算量不大的地方则采用高级语言。
采用这种方法,既可缩短软件开发的周期,提高程序的可读性和可移植性,又能满足系统实时运算的要求。
(4)借助开发工具进行硬件和软件的调试。
软件的调试通常基于DSP开发工具,如软件模拟器、DSP开发系统或仿真器等。
调试DSP算法时一般采用比较实时结果与模拟结果的方法,如果实时程序和模拟程序的输入相同,则两者的输出应该一致。
硬件调试一般采用硬件仿真器进行调试,如果没有相应的硬件仿真器,而且硬件系统比较简单,也可以借助一般的工具进行调试。
(5)系统集成与独立系统运行。
当系统的软件和硬件分别调试完后,就可以将软件脱离开发系统而直接在应用系统上运行。
当然,DSP系统的开发,特别是软件开发是一个需要反复进行的过程,虽然通过算法模拟基本上可以知道实时系统的性能,但在实际的模拟环境下不可能做到与实时系统环境完全一样,而且将模拟算法移植到实时系统的时候还必须考虑算法是否能够实时运行。
如果算法运算量太大以致不能在硬件上实时运行,则必须重新修改或者简化算法。
2.2DSP芯片
2.2.1DSP芯片特点
数字信号处理不同于普通的科学计算与分析,它强调运算的实时性。
因此,DSP除了具备普通微处理器所强调的高速运算和控制能力外,针对实时数字信号处理的特点,在处理器的结构、指令系统、指令流程上做了很大的改进,其主要特点…J如下:
(1)DSP采用数据总线和程序总线分开的哈佛结构或改进的哈佛结构,分别有各自的数据总线和地址总线,可以同时完成获取指令和读取数据操作,目前运行速度已经达到每秒1G次定点运算。
(2)采用流水操作,每条指令的执行划分为取指令、译码、取数、执行等若干步骤,由片内多个功能单元分别完成,支持任务的并行处理。
(3)在一个指令周期内实现一次或多次乘法累jJII(MAC)运算。
(4)在DSP中集成了多个地址产生单元,支持循环寻址和位倒序等特殊指令,使FFT、卷积等运算中的寻址、排序及计算速度大大提高。
1024点FFT的时间已小于1us。
(5)DSP有~组或多组独立的DMA控制逻辑,提高了数据的吞吐带宽,为高速数据交换和数字信号处理提供了保障。
(6)DSP支持重复运算,避免循环操作消耗太多时间。
(7)DSP提供多个串行或并行I/O接口以及特别I/O接口,来完成特殊的数据处理或者控制,从而提高了系统的性能并且降低了成本。
2.2.2DSP芯片的选择
设计DSP应用系统,选择DSP芯片是非常重要的一个环节。
只有选择了合适的DSP芯片才能进一步设计其外面电路及系统的其他电路。
一般来说,选择DSP芯片时应考虑如下因素。
(1)系统特点
每种DSP都有自己比较适合的应用领域,在设计时必须根据系统的特点进行选择。
例如,TI公司的C2000系列处理器提供多种控制系统使用外围设备,比较适合控制领域;C5000系列处理器具有处理速度快、功耗低等特点,适合便携设备及消费类电子设备使用;C6000系列处理器具有处理速度快、精度高等特点,适合图像处理、通信设备等领域。
(2)DSP芯片的运算速度
运算速度是DSP芯片的一个最重要的性能指标,也是选择DSP芯片时所需要考虑的一个主要因素。
DSP的速度通常是指令周期的时间,也有的指核心功能的运算时间。
(3)DSP芯片的价格在满足要求的情况下尽量使用低成本DSP。
如果采用价格昂贵的DSP芯片,即使性能再高,其应用范围肯定会受到一定的限制,尤其是民用产品。
因此根据实际系统的应用情况,需确定~个价格适中的DSP芯片。
(4)DSP芯片的硬件资源
不同的DSP芯片所提供的硬件资源是不相同的,如片内RAM、ROM的数量,外部可扩展的程序和数据空间,总线接口,I/O接口等。
即使是同一系列的DSP芯片(如TI的TMS320C54x系列),系列中不同DSP芯片也具有不同的内部硬件资源,可以适应不同的需要。
(5)DSP芯片的运算精度
一般的定点DSP芯片的字长为16位,如TMS320系列。
但有的公司的定点芯片为24位,如Motorola公司的MC56001等。
浮点芯片的字长一般为32位,累加器为40位。
(6)DSP芯片的开发工具不同的应用,对开发简便性的要求不一样。
对于研究和样机的开发,一般要求系统工具能便于开发,因此选择DSP时需要考虑软件开发工具、硬件工具、高级工具以及相应的技术支持情况。
如果有功能强大的开发工具的支持,如C语言支持,则开发的时间就会大大缩短。
(7)DSP芯片的功耗
在某些DSP应用场合,功耗也是一个需要特别注意的问题。
如便携式的DSP设备、手机、野外应用的DSP设备等都对功耗有特殊的要求。
目前,3.3V供电的低功耗高速DSP芯片已大量使用。
(8)其他
除了上述因素外,选择DSP芯片还应考虑到封装的形式、质量标准、供货情况、生命周期等。
有些DSP系统可能最终要求的是工业级或者军用级标准,在选择时就应该注意到所选的芯片是否有工业级或军用缴的同类产品。
如果所设计的DSP系统不仅仅是一个实验系统,而是需要批量生产并有可能有几年甚至十几年的生命周期,那么需要考虑所选的DSP芯片供货情况如何,是否也有同样甚至更长的生命周期等。
在上述诸多因素中,一般而言,定点DSP芯片的价格较便宜、功耗较低,但运算精度稍低。
而浮点DSP芯片的优点是运算精度高,且C语言编程调试方便,但价格稍贵,功耗也较大。
.DSP应用系统的运算量是确定选用处理能力为多大的DSP芯片的基础。
运算量小则可以选用处理能力不是很强的DSP芯片,从而可以降低系统成本。
相反,运算量大的DSP系统则必须选用处理能力强的DSP芯片,如果DSP芯片的处理能力达不到系统要求,则必须用多个DSP芯片并行处理。
3数字滤波器的设计
3.1数字滤波器的两种类型
对于一般的数字滤波器,按照单位冲激响应可分为无限长冲激响应IIR(InfiniteImpulseResponse)系统和有限长冲激响应FIR(FiniteImpulseResponse)系统。
在IIR系统中,用有理分式表示的系统函数来逼近所需要的频率响应,即其单位冲激响应h(n)是无限长的;而在FIR系统中,则用一个有理多项式表示的系统函数去逼近所需要的频率响应,即其单位冲激响应h(n)在有限个n值处不为零。
IIR滤波器由于吸收了模拟滤波器的结果,有大量的图表可查,可以方便、简单、有效地完成设计,效果很好,但是其相位特性不好控制,必须用全通网络进行复杂的相位较正,才能实现线性相位特性的要求。
FIR滤波器则可在幅度特性随意设计的同时,保证精确、严格的线性相位特性。
这在要求相位线性信道的现代电子系统,如图像处理、数据传输等波形传递系统中,是具有很大吸引力的。
而且,其单位冲激响应是有限长的,不存在不稳定的因素,并且可用因果系统来实现。
下面着重讨论具有线性相位特性的FIR滤波器。
3.2FIR滤波器线性相位特性的条件及设计方法
1.线性相位条件
为保证滤波器带内输出信号的形状保持不变,常常要求滤波器单位冲激响应
的频率响应
应具有线性的相频特性,即
,其中
为幅频特性,k为正整数。
由傅氏变换的特性可知,线性相位滤波器只是将信号在时域上延迟了k个采样点,因此不会改变输入信号的形状。
可以证明,如果滤波器单位冲激响应
为实数,且满足:
偶对称即
或奇对称
时,则其相频特性一定是线性的。
2.设计方法
(1)窗函数设计法
从时域出发,把理想的无限长的
用一定形状的窗函数截取成有限长的
,以此
来逼近
,从而使所得到的频率响应H(ejω)与所要求的理想频率响应Hd(ejω)相接近。
优点是简单、实用,缺点是截止频率不易控制。
(2)频率抽样设计法
从频域出发,把给定的理想频率响应
加以等间隔抽样,所得到的
作逆离散傅氏变换,从而求得
,并用与之相对应的频率响应
去逼近理想频率响应
。
优点是直接在频域进行设计,便于优化,缺点是截止频率不能自由取值。
(3)等波纹逼近计算机辅助设计法
前面两种方法虽然在频率取样点上的误差非常小,但在非取样点处的误差沿频率轴不是均匀分布的,而且截止频率的选择还受到了不必要的限制。
因此又由切比雪夫理论提出了等波纹逼近计算机辅助设计法。
它不但能准确地指定通带和阻带的边缘,而且还在一定意义上实现对所期望的频率响应实行最佳逼近。
3.3FIR数字滤波器的实现
设FIR数字滤波器的单位冲击响应为
,则传递函数
为
FIR数字滤波器的系数h(n)可由下式求得
为窗函数,常见的窗函数有矩形窗、布莱克曼窗、汉宁窗、海明窗、凯塞窗等。
理想单位冲击响应
可以根据给定的理想频率响应
),利用傅里叶变换求得
FIR数字滤波器的差分方程为
式中,
为输入序列,
为输出序列,
为滤波器阶数。
3.4FIR滤波器的基本结构
FIR数字滤波器最主要特点是没有反馈回路,因此是无条件稳定系统.其一般结构如图3所示.
图3 FIR滤波器的结构图
FIR滤波算法实际上是一种乘法累加运算,它不断地输入样本
经延时
然后做乘法累加运算,再输出滤波结果
即
为了保证信号处理的实时性,系统中采用循环缓冲法实现延时,这样就不需要移动数据,并且不需要将数据存储在一个机器周期中。
循环缓冲法的主要特点有:
(1)对于N级的FIR滤波器,在数据存储器中开辟一个称为滑窗的N个单元的缓冲区,滑窗中存放最新的N个输入样本;
(2)每次输入新的样本时,以新的样本改写滑窗中最老的数据,而滑窗中的其他数据不需要移动;
(3)循环缓冲区长度寄存器
对滑窗进行间接寻址,循环缓冲区地址首尾相邻。
4FIR数字滤波器的软件实现
实现一个低通FIR数字滤波器。
要求带通边缘频率为10kHz,阻带边缘频率为22kH带衰减为75dB,采样频率为fs=50kHz。
数字滤波器设计:
(1)过渡带宽度=阻带边缘频率-带通边缘频率=22-10=12kHz
(2)截止频率
f1=带通边缘频率+过渡带宽度/2=10+12/2=16kHz
数字截止频率1=2pf1/fs=2π×16/50=0.64p
(3)理想低通滤波器单位冲击响应
h1(n)=sin(n)/n/p=sin(0.64pn)/n/p
(4)根据要求,选择布莱克曼窗,窗系数长度为
N=5.98fs/过渡带宽度=5.98×50/12=24.9
(5)选择N=25,布莱克曼窗函数为
w(n)=0.42-0.5cos(2pn/24)+0.08cos(4pn/24)
(6)滤波器单位冲击响应为h(n)=h1(n)w(n)n≤N-1h(n)=0n>N-1
(7)根据上面的计算求出h(n),然后将单位冲击响应值移位为因果序列。
(8)完成的滤波器差分方程为
y(i)=0.001x(i-2)-0.002x(i-3)-0.002x(i-4)+0.01x(i-5)-0.009x(i-6)-0.018x(i-7)+0.049x(i-8)-0.02x(i-10)+0.11x(i-11)+0.28x(i-12)+0.64x(i-13)+0.28x(i-14)-0.11x(i-15)-0.02x(i-16)-0.049x(i-17)-0.018x(i-18)-0.009x(i-19)+0.01x(i-20)-0.002x(i-21)-0.002x(i-22)+0.001x(i-23)
数字滤波器程序如下
#include"math.h"//数学函数头文件
#defineN25//FIR阶数N
#definePI3.1415926
floatInputWave();//输入波形
floatFIR();//FIR滤波函数声明
floatfHn[N]={0.0,0.0,0.001,-0.002,-0.002,0.01,-0.009,//滤波系数-0.018,0.049,-0.02,0.11,0.28,0.64,0.28,
-0.11,-0.02,0.049,-0.018,-0.009,0.01,
-0.002,-0.002,0.001,0.0,0.0
};
floatfXn[N]={0.0};
floatfInput,fOutput;
floatfSignal1,fSignal2;
floatfStepSignal1,fStepSignal2;
floatf2PI;//2*PI
inti;
floatFIN[256],FOUT[256];//输入信号与输出信号
intnIn,nOut;
main(void)
{nIn=0;nOut=0;
f2PI=2*PI;
fSignal1=0.0;
fSignal2=PI*0.1;
fStepSignal1=2*PI/30;
fStepSignal2=2*PI*1.4;
while
(1)
{
fInput=InputWave();
FIN[nIn]=fInput;
nIn++;nIn%=256;
fOutput=FIR();//调用FIR滤波函数
FOUT[nOut]=fOutput;
nOut++;
if(nOut>=256)nOut=0;}
}
floatInputWave()//输入波形函数
{
for(i=N-1;i>0;i--)fXn[i]=fXn[i-1];
fXn[0]=sin(fSignal1)+cos(fSignal2)/6.0;
fSignal1+=fStepSignal1;
if(fSignal1>=f2PI)fSignal1-=f2PI;fSignal2+=fStepSignal2;
if(fSignal2>=f2PI)fSignal2-=f2PI;
return(fXn[0]);
}
floatFIR()//FIR滤波函数
{
floatfSum;
fSum=0;
for(i=0;i return(fSum); } 5学习心得 我个人认为学习一个东西首先是了解它,比如DSP到底是什么? 用在什么地方? 怎么用? 和这里我们传统的单片机特点有那些相同与不同? 开发需要注意什么? 怎么样完成一个最小系统等。 我想了解清楚这些问题我们自然就清楚比较清楚的认识DSP了。 DSP功能比普通单片机高出很多,当然价格也比较高。 所以直接用DSP和单片机比较是不合适的。 我们这里比较不是从他的应用领域来比较,我们是从开发的角度来比较,为了是使那些熟练使用单片机的朋友可以很快上手。 当然我的主要目的的大家可以比较学习,达到熟悉一种CPU其他就可以很快上手。 1硬件上比较 从硬件上比较DSP和传统的单片机主要有几个方面不一样,很多DSP电源系统比传统的复杂,但是这个并不影响我们因为如TI的DSP都提供相关的测试电路。 开始的时候大家可以完全按照他来设计。 调试方式上有很大不同,DSP一般通过JTAG来进行仿真和烧写的,而单片机是通过直接仿真器来仿真的(这里讲的单片机是比较早的,现在的单片机也有很多采用JTAG调试方式)。 其他设计比如重要的时序设计所以CPU系统是一样的只要满足时序就可以达到目标。 2软件上比较 相比硬件软件应该是DSP差别比较大的DSP的软件需要CMD文件,一般的单片机编译器编译以后就可以了不需要。 并且CMD也是DSP学习过程中比较困难的一个方面。 DSP和传统的概念区分,传统我们经常说的DSP(DigitalSignalProcessing(数字信号处理))的缩写也就是说是一些功能算法,这里的DSP是指(DigitalSignalProcess(数字信号处理器))的缩写,也就是说他是一个集成一些外设的一个芯片,类似我们的单片机。 我们通过程序实现一些特定的功能。 回顾自己使用多种CPU和DSP到现在我觉得最重要的是在学习过程中总结一下自己的得与失。 这样才有比较好的进步。 比如我们前面讲到是DSP和单片机的相同与不同点我们只要熟悉单片机并且清楚相同与不同点,我们就知道从那些方面下手这样学习的效率就会提高。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 课程 考核 论文