
DSP课程设计报告_4.docx
7页DSP课程设计报告1.课程设计目的及意义........2.课程设计题目描述要求及理论基础题目要求 .............数字滤波器的简介及发展. .....FIR 数字滤波器的特点 ......FIR 滤波器具有的优点 ......MATLAB^件简介.............3.课程设计报告内容 .........设计方案的选定与原理. .....用窗函数法设计FIR滤波器......设计方案程序及图表. .......4.总结...............错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误! 未定义书签错误!参考书目: 1.课程设计目的及意义 (1)学会MATLA的使用,掌握MATLAB勺程序设计方法;(2)掌握在Windows环境下语音信号采集的方法;( 3)掌握数字信号处理勺基本概念、基本理论和基本方法;(4)掌握MATLAB^计FIR滤波器;(5)学会用MATLAB寸信号进行分析和处理2.课程设计题目描述要求及理论基础题目要求(1)语音信号的采集;要求利用windows下的录音机(开始一程序一附件一娱乐一录音机,文件一属性—立即转换— 8000KHz, 8 位,单声道)或其他软件,录制一段自己的话音,时间控制在1秒左右。
然后在MATLAB^件平台下,禾U用函数 wavread对语音信号进行采样,记住采样频率和采样点数通过 wavread 函数的使用,要求理解采样频率、采样位数等概念wavread 函数调用格式:y=wavread(file) ,读取 file 所规定的 wav 文件,返回采样值放在向量 y 中[y,fs,nbits]=wavread(file) ,采样值放在向量 y 中, fs 表示采样频率( Hz),nbits 表示采样位数y=wavread(file,N),读取前N点的采样值放在向量 y中 y=wavread(file,[N1,N2]),读取从N1点到N2点的采样值放在向量 y中 2)语音信号的频谱分析;要求首先画出语音信号的时域波形;然后对语音信号进行频谱分析,在 MATLAB^,可以利用函数fft对信号进行快速付立叶变换,得到信号的频谱特性;从而加深对频谱特性的理解 3)数字滤波器的设计;带通滤波器性能指标 fb1 = 1 200 Hz,fb2 = 3 000 Hz,fc1 = 1 000 Hz,fc2 =3 200 Hz,As= 100 dB,Ap= 1 dB在 MATLA沖,可以利用函数 fir1 设计 FIR 滤波器(4)对语音信号进行滤波处理;(5)对滤波前后的语音信号频谱进行对比分析;数字滤波器的简介及发展数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。
因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需 要的运算编成程序,让通用计算机来执行从数字滤波器的单位冲击响应来看,可以分为两大类 : 有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器滤波器按功能上分可以分为低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BSF) 相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用将会越来越广泛同时DSP处理器的出现和FPGA的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择数字滤波器具有以下显着优点 :精度高:模拟电路中元件精度很难达到 10-3,以上,而数字系统 17 位字长就可以达到 10-5精度因此在一些精度要求很高的滤波系统中,就必须采用数字滤波器来实现[1]灵活性大: 数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。
可靠性高 : 因为数字系统只有两个电平信号:“1”和“ 0”,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响并且数字滤波器多采用大规模集成电路,如用CPLD或 FPGA来实现,也可以用专用的DSP处理器来实现,这些大规模集成电路的故障率远比众多分立元件构成的模拟系统的故障率低易于大规模集成:因为数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格因此产品的成品率高,价格也日趋降低相对于模拟滤波器,数字滤波器在体积、重量和性能方面的优势己越来越明显比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好地实现,这时候若采用数字滤波器则方便的多并行处理数字滤波器的另外一个最大优点就是可以实现并行处理,比如数字滤波器可采用DSP处理器来实现并行处理在很多实际应用中如语音和音频信号处理中,数字滤波器来实现选频功能因此,指标的形式应为频域中的幅度和相位响应在通带中,通常希望具有线性相位响应在FIR滤波器中可以得到精确的线性相位FIR滤波器传递函数的极点是固定在 原点,是不能动的,它只能靠改变零点位置来改变它的性能,所以要达到高的选择性, 必须用高的阶数,对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5-10倍,结果成本高信号延时也较大,如果按线性相位要求来说,则 IIR 滤波器就必须加全通网络进行相位校正,同样大大增加了滤波器的阶数和复杂性。
而FIR滤波器却可以得到严格的线性相位[2]从结构上看,FIR滤波器只要采用非递归结构,不论在理论上还是实际的有限精度运算中都不存在稳定性问题,因此造成的频率特性误差也较小此外 FIR 滤波器可以采用快速傅立叶变换算法,在相同的阶数条件下运算速度可以快的多FIR 数字滤波器的特点在数字信号处理应用中往往需要设计线性相位的滤波器, FIR 滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性 FIR滤波器不断地对输入样本x(n) 延时后,再作乘法累加算法,将滤波结果 y(n) 输出,因此, FIR 实际上是一种乘法累加运算在数字滤波器中, FIR 滤波器的最主要的特点是没有反馈回路,故不存在不稳定的问题,同时,可以在幅度特性是随意设置的同时,保证精确的线性相位稳定和线性相位特性是 FIR 滤波器的突出优点另外,它还有以下特点:设计方式是线性的 ; 硬件容易实现;滤波器过渡过程具有有限区间;相对 IIR 滤波器而言,阶次较高,其延迟也要比同样性能的 IIR 滤波器大得多FIR 滤波器具有的优点可在幅度特性随意设计的同时,保证精确、严格的线性相位;由于FIR滤波器的单位脉冲 h(n) 是有限长序列,因此 FIR 滤波器没有不稳定的问题;由于 FIR 滤波器一般为非递归结构,因此,在有限运算下不会出现递归型结构中的极限振荡等不稳定现象误差较小;FIR滤波器可以采用FFT算法实现,从而提高了运算效率。
MATLAB软件简介20 世纪 70 年代,美国新墨西哥大学计算机科学系主任 Cleve Moler 为了减轻学生编程的负担,用FORTRA编写了最早的 MATLAB 1984年由Little 、 Moler 、 Steve Bangert 合作成立了的 MathWorks 公司正式把 MATLAB 推向市场到20世纪90年代,MATLAB已成为国际控制界的标准计算软件MATLA是矩阵实验室(Matrix Laboratory)之意除具备卓越的数值计算能力外,它还 提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能MATLAB勺基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLA 来解算问题要比用C,FORTRA等语言完相同的事情简捷得多,工具包又可以分为功能性工具包和学科工具包 功能工具包用来扩充MATLAB勺符号计算,可视化建模仿真,文字处理及实时控制等功能学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类MATLAB具有许多的优点比如:语言简洁紧凑,使用方便灵活,库函数极其丰富;MATLA既具有结构化的控制语句(如for循环,while循环,break语句和 if 语句),又有面向对象编程的特性 ;程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行,等等优点。
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域附加的工具箱(单独提供的专用MATLAB函数集)扩展了 MATLAB环境,以解决这些应用领域内特定类型的问题1) MATLAB常用基本数学函数abs(x) :纯量的绝对值或向量的长度、angle(z) :复数 z 的相角 (Phase angle) 、 sqrt(x) :开平方、 real(z) :复数 z 的实部、 imag(z) :复数 z 的虚部、conj(z) :复数 z 的共轭复数、 round(x) :四舍五入至最近整数、 fix(x) :无论正负,舍去小数至最近整数、 floor(x) :地板函数,即舍去正小数至最近整数、ceil(x) :天花板函数,即加入正小数至最近整数、 rat(x) :将实数 x 化为多项分数展开、rats(x) :将实数 x 化为分数表示、sign(x) :符号函数 (Signum function) 当 xsign(x)=O ;当 x>0 时,sign(x)=1 rem(x,y):求 x 除以 y 的馀数 gcd(x,y):整数 x 和 y 的最大公因数、 lcm(x,y) :整数 x 和 y 的最小公倍数、 exp(x) :自然指数 pow2(x) : 2 的指数、 log(x) :以 e 为底的对数,即自然对数或、 Iog2(x):以2为底的对数、Iog10(x):以10为底的对数 sin(x):正弦函[3]数、cos(x) : 余弦函数、 tan(x) : 正切函数。
2)MATLAB乍图语句: -全文完-7。
