《2022年DSP课程设计报告.pdf》由会员分享,可在线阅读,更多相关《2022年DSP课程设计报告.pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目录1. 课程设计目的及意义 . 错误! 未定义书签。2. 课程设计题目描述要求及理论基础. 错误! 未定义书签。题目要求 . 错误! 未定义书签。数字滤波器的简介及发展. . 错误! 未定义书签。 FIR 数字滤波器的特点. 错误! 未定义书签。 FIR 滤波器具有的优点. 错误! 未定义书签。 MATLAB 软件简介 . 错误! 未定义书签。3. 课程设计报告内容 . 错误! 未定义书签。设计方案的选定与原理. . 错误! 未定义书签。用窗函数法设计FIR 滤波器 . . 错误! 未定义书签。设计方案程序及图表 . . 错误! 未定义书签。4. 总结 . 错误! 未定义书签。参考书目:.
2、错误! 未定义书签。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 12 页 - - - - - - - - - - 1. 课程设计目的及意义(1)学会 MATLAB 的使用,掌握 MATLAB 的程序设计方法;(2)掌握在 Windows环境下语音信号采集的方法;(3)掌握数字信号处理的基本概念、基本理论和基本方法;(4)掌握 MATLAB 设计 FIR 滤波器;(5)学会用 MATLAB 对信号进行分析和处理。2. 课程设计题目描述要求及理论基础题目要求(1)语音信号的采集;要求利用 wi
3、ndows 下的录音机(开始程序附件娱乐录音机,文件属性立即转换 8000KHz ,8 位,单声道)或其他软件,录制一段自己的话音,时间控制在 1 秒左右。然后在MATLAB 软件平台下,利用函数wavread 对语音信号进行采样, 记住采样频率和采样点数。 通过 wavread 函数的使用, 要求理解采样频率、采样位数等概念。wavread 函数调用格式:y=wavread(file),读取 file所规定的 wav 文件,返回采样值放在向量y中。y,fs,nbits=wavread(file), 采样值放在向量 y 中, fs 表示采样频率(Hz) ,nbits表示采样位数。y=wavre
4、ad(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,fc23 200 Hz ,As100 dB,Ap1 dB。在 MATLAB 中,可以利用函数fir1设计FIR 滤波器精品资料 - -
5、 - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 12 页 - - - - - - - - - - (4)对语音信号进行滤波处理;(5)对滤波前后的语音信号频谱进行对比分析;数字滤波器的简介及发展数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统, 其输入是一组数字量, 其输出是经过变换的另一组数字量。因此, 数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。从数字滤波器的单位冲击响应来看, 可以分为两大类
6、 : 有限冲击响应 (FIR) 数字滤波器和无限冲击响应 (IIR) 数字滤波器。滤波器按功能上分可以分为低通滤波器(LPF) 、高通滤波器 (HPF)、带通滤波器 (BPF)、带阻滤波器 (BSF)。相对于模拟滤波器, 数字滤波器没有漂移, 能够处理低频信号, 频率响应特性可做成非常接近于理想的特性,且精度可以达到很高, 容易集成等, 这些优势决定了数字滤波器的应用将会越来越广泛。同时DSP处理器的出现和 FPGA 的迅速发展也促进了数字滤波器的发展, 并为数字滤波器的硬件实现提供了更多的选择。数字滤波器具有以下显着优点: 精度高 : 模拟电路中元件精度很难达到10-3,以上,而数字系统17
7、 位字长就可以达到10-5精度。因此在一些精度要求很高的滤波系统中,就必须采用数字滤波器来实现。1灵活性大 : 数字滤波器的性能主要取决于乘法器的各系数,而这些系数是存放在系数存储器中的,只要改变存储器中存放的系数,就可以得到不同的系统,这些都比改变模拟滤波器系统的特性要容易和方便的多,因而具有很大的灵活性。可靠性高 : 因为数字系统只有两个电平信号: “1”和“ 0” ,受噪声及环境条件的影响小,而模拟滤波器各个参数都有一定的温度系数,易受温度、振动、电磁感应等影响。 并且数字滤波器多采用大规模集成电路,如用 CPLD 或 FPGA 来实现,也可以用专用的 DSP处理器来实现, 这些大规模集
8、成电路的故障率远比众多分立元件构成的模拟系统的故障率低。易于大规模集成:因为数字部件具有高度的规范性,便于大规模集成,大规模生产,且数字滤波电路主要工作在截止或饱和状态,对电路参数要求不严格。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 12 页 - - - - - - - - - - 因此产品的成品率高, 价格也日趋降低。 相对于模拟滤波器, 数字滤波器在体积、重量和性能方面的优势己越来越明显。比如在用一些用模拟网络做的低频滤波器中,网络的电感和电容的数值会大到惊人的程度,甚至不能很好地实
9、现, 这时候若采用数字滤波器则方便的多。并行处理数字滤波器的另外一个最大优点就是可以实现并行处理,比如数字滤波器可采用 DSP处理器来实现并行处理。在很多实际应用中如语音和音频信号处理中,数字滤波器来实现选频功能。因此,指标的形式应为频域中的幅度和相位响应。在通带中, 通常希望具有线性相位响应。在FIR滤波器中可以得到精确的线性相位。FIR滤波器传递函数的极点是固定在原点, 是不能动的, 它只能靠改变零点位置来改变它的性能,所以要达到高的选择性,必须用高的阶数,对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比 IIR 滤波器高 5-10倍,结果成本高信号延时也较大,如果按线性相位要求来
10、说,则 IIR 滤波器就必须加全通网络进行相位校正,同样大大增加了滤波器的阶数和复杂性。而FIR滤波器却可以得到严格的线性相位。2从结构上看, FIR滤波器只要采用非递归结构,不论在理论上还是实际的有限精度运算中都不存在稳定性问题,因此造成的频率特性误差也较小。此外FIR滤波器可以采用快速傅立叶变换算法,在相同的阶数条件下运算速度可以快的多。 FIR 数字滤波器的特点在数字信号处理应用中往往需要设计线性相位的滤波器,FIR 滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。FIR 滤波器不断地对输入样本 x(n) 延时后, 再作乘法累加算法, 将滤波结果 y(n) 输出,因
11、此,FIR 实际上是一种乘法累加运算。在数字滤波器中, FIR 滤波器的最主要的特点是没有反馈回路,故不存在不稳定的问题,同时,可以在幅度特性是随意设置的同时,保证精确的线性相位。稳定和线性相位特性是FIR 滤波器的突出优点。 另外,它还有以下特点: 设计方式是线性的 ; 硬件容易实现;滤波器过渡过程具有有限区间;相对IIR 滤波器而言,阶次较高,其延迟也要比同样性能的IIR 滤波器大得多。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 12 页 - - - - - - - - - - FIR
12、 滤波器具有的优点可在幅度特性随意设计的同时,保证精确、 严格的线性相位; 由于 FIR 滤波器的单位脉冲 h(n) 是有限长序列, 因此 FIR 滤波器没有不稳定的问题; 由于 FIR滤波器一般为非递归结构, 因此,在有限运算下不会出现递归型结构中的极限振荡等不稳定现象误差较小; FIR 滤波器可以采用 FFT算法实现,从而提高了运算效率。 MATLAB 软件简介20 世纪 70 年代,美国新墨西哥大学计算机科学系主任Cleve Moler 为了减轻学生编程的负担,用FORTRAN 编写了最早的MATLAB 。1984 年由Little、 Moler 、 Steve Bangert 合作成立
13、了的MathWorks 公司正式把MATLAB推向市场。到20 世纪 90 年代, MATLAB 已成为国际控制界的标准计算软件。MATLAB 是矩阵实验室 (Matrix Laboratory) 之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理, 可视化建模仿真和实时控制等功能。 MATLAB 的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB 来解算问题要比用C,FORTRAN 等语言完相同的事情简捷得多,工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB 的符号计算,可视化建模仿真,文字处理及实时控制等功能
14、。 学科工具包是专业性比较强的工具包,控制工具包, 信号处理工具包,通信工具包等都属于此类。MATLAB 具有许多的优点比如:语言简洁紧凑,使用方便灵活,库函数极其丰富; MATLAB 既具有结构化的控制语句 ( 如 for循环, while 循环, break 语句和 if语句) ,又有面向对象编程的特性; 程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行,等等优点。MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MATLAB 环境
15、,以解决这些应用领域内特定类型的问题。(1)MATLAB 常用基本数学函数:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 12 页 - - - - - - - - - - abs(x) : 纯量的绝对值或向量的长度、 angle(z): 复数 z 的相角 (Phase angle) 、 sqrt(x):开平方、 real(z):复数 z 的实部、 imag(z) :复数 z的虚部、 conj(z):复数 z 的共轭复数、round(x):四舍五入至最近整数、fix(x):无论正负,舍去小数至
16、最近整数、floor(x):地板函数,即舍去正小数至最近整数、ceil(x):天花板函数,即加入正小数至最近整数、rat(x):将实数 x 化为多项分数展开、rats(x):将实数 x 化为分数表示、sign(x):符号函数 (Signum function)。当 x0 时, 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 为底的对数,即自然对数或、log2(x):以 2 为底的对数、log10(x
17、):以 10 为底的对数sin(x):正弦函数、cos(x):余弦函数、 tan(x):正切函数。3(2)MATLAB 作图语句:一维数组即一个行向量或列向量的作图用“plot ”命令画。这时横轴表示数组中各数的序号。“plot ”还可以用指定的自变量数组和对应的函数数组来作图。如果是二维数组,则横、纵轴分别表示第1 个向量和第2个向量。函数subplot可以把一个图形窗分为几个区域,在每个区域中分别绘图。此外,还可以绘制三维图形(mesh)、直方图(hist )、等值线图( contour )等。(3)控制语句:MATLAB 有和其他高级语言相类似的控制语句,如循环(for )、中止循环(
18、break )、条件( if ,while )等。(4)用于数字信号处理的工具箱Signal它包含数字信号处理常用的滤波器设计、傅里叶变换、z 变换等。3. 课程设计报告内容设计方案的选定与原理目前 FIR 滤波器的设计方法主要有三种: 窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。 常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。 本实验中的窗函数法比较简单,可应用现成的窗函数公式, 在技术精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 12 页 - - - - - - -
19、 - - - 指标要求不高的时候是比较灵活方便的。它是从时域出发, 用一个窗函数截取理想的)(nhd得到 h(n) ,以有限长序列 h(n) 近似理想的)(nhd;如果从频域出发,用理想的)(jdeh在单位圆上等角度取样得到H(k) , 根据 h(k) 得到 H(z) 将逼近理想的)(zHd,这就是频率取样法。4FIR 数字滤波器系统的传递函数为:10)()()()(NnnznbzXzYzH(1)通过反 z 变换, 数字滤波器的差分方程为 :10)()()(Nmmnxmbny(2)由此得到系统的差分方程: 1)-(N-1)xn-b(N) 1() 1()()0()(nxbnxbny(3)如图所示
20、:图 1 k 阶 FIR 数字滤波器功能框图通常 FIR 的计算时间都较长。 很多时候我们需要牺牲时间来获得想要得到的滤波器功能。用窗函数法设计 FIR 滤波器根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N (或阶数 M=N-1 ) ,窗函数类型可根据最小阻带衰减As独立选择,因为窗口长度N对最小阻带衰减 As 没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 12 页 - - - - - - - - - - 标确定所拟用的窗
21、函数的窗口长度N,设待求滤波器的过渡带宽为w ,它与窗口长度 N近似成反比, 窗函数类型确定后, 其计算公式也确定了, 不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正,原则是在保证阻带衰减满足要求的情况下, 尽量选择较小的N ,在 N和窗函数类型确定后, 即可调用 MATLAB中的窗函数求出窗函数wd (n) 。根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n) ,如果给出待求滤波器频率应为Hd,则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:deeHnhjjdd)(21)((4)在一般情况下, hd(n) 是不能用封闭公式表示的,需要采用数值方法表示;从 w=0到 w=
22、2 采样 N点,采用离散傅里叶反变换(IDFT)即可求出。5用窗函数 wd(n) 将 hd(n) 截断,并进行加权处理,得到:)()()(nnhnhd(5)如果要求线性相位特性,则 h(n) 还必须满足:)1()(nNhnh(6)根据上式中的正、负号和长度 N的奇偶性又将线性相位FIR 滤波器分成四类。 要根据所设计的滤波特性正确选择其中一类。例如, 要设计线性相位低通特性可选择 h(n)=h(N-1-n)一类,而不能选h(n)=-h(N-1-n)一类。以下是几种常用的窗函数:(1) 矩形窗:)()(nRnN(7)精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎
23、下载 名师归纳 - - - - - - - - - -第 8 页,共 12 页 - - - - - - - - - - (2)Hanning 窗:)()12cos(1 5.0)(nRNnnN(8)(3)Hamming 窗:)()12cos(46.054.0)(nRNnnN(9)(4)Blackman窗:)()14cos(08.0)12cos(5.042. 0)(nRNnNnnN(10)(5)Kaiser 窗:)( 1)12(1()(2INnIno(11)设计方案程序及图表对语音信号进行频谱分析,在MATLAB 中,可以利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性z1=wavrea
24、d(d:);y1=z1(1:8192);Y1=fft(y1);n=0:8191;plot(n,Y1);图像输出如图:图 2 语音信号频谱分析图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 12 页 - - - - - - - - - - 一个理想的带通滤波器应该有平稳的通带(bandpass, 允许通过的频带) ,同时限制所有通带外频率的波通过。但是实际上,没有真正意义的理想带通滤波器。真实的滤波器无法完全过滤掉所设计的通带之外的频率的波。事实上,在理想通带边界有一部分频率衰减的区域,不能完
25、全过滤,这一曲线被称做滚降斜率(roll-off)。滚降斜率通常用dB 度量来表示频率的衰减程度。一般情况下,滤波器的设计就是把这一衰减区域做的尽可能的窄,以便该滤波器能最大限度接近完美通带的设计。图 3 带通滤波器幅频曲线图 4 带通滤波器相频曲线程序设计如下:clear;close allz1,fs,bits=wavread(d:)y1=z1(1:8192);Y1=fft(y1);fp1=1200 ;fp2=3000 ;fc1=1000 ;fc2=3200 ;As=100 ;Ap=1 ; %数字带通滤波器技术指标Fs=8000 ;wp1=2*pi*fp1/Fs; wc1=2*pi*fc1/
26、Fs; wp2=2*pi*fp2/Fs; wc2=2*pi*fc2/Fs;wdel=wp1-wc1;beta=*;精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 12 页 - - - - - - - - - - N=ceil(As-8)/wdel);ws =(wp1+wc1)/2/pi,(wp2+wc2)/2/pi;wn= kaiser(N+1,beta); b=fir1(N,ws,wn);figure(1); freqz(b,1)x=fftfilt(b,z1);X=fft(x,8192);
27、figure(2);subplot(2,2,1);plot(abs(Y1);axis(0,1000,0,);title(滤波前信号频谱 );subplot(2,2,2);plot(abs(X);axis(0,2000,0,);title(滤波后信号频谱 )subplot(2,2,3);plot(z1);title(滤波前信号波形 );subplot(2,2,4);plot(x);title(滤波前信号波形 );sound(x,fs,bits);窗函数法:相位响应有严格的线性, 不存在稳定性问题 , 设计简单。图形分析如下:图 5 FIR 带通图 6 语音信号频谱通带范围为(,) ,最大衰减为
28、0dB,阻带范围为(,) ,最小衰减为 100dB ,相位是线性的,基本满足滤波要求。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 12 页 - - - - - - - - - - 语音信号经过带通滤波器后,低频分量基本被衰减。4. 总结这次课程设计, 由于自己数字信号处理的理论课程跟不上进度,对数字滤波器的设计缺少认识。而且需要运用MATLAB 软件,所以比较吃力。设计过程,看了一遍数字信号处理课程关于数字滤波器的设计的内容,再通过利用参考文献与网络,完成了用 MATLAB 进行数字信号
29、处理课程设计。通过课程设计,加深了对课堂抽象概念的理解, 巩固了课堂上所学的理论知识, 并能很好地理解与掌握数字信号处理中的基本概念、基本原理、基本分析方法。同时掌握编程方法和解决实际问题的技巧。通过这次练习是我进一步了解了信号的产生、采样及频谱分析的方法。以及其中产生信号和绘制信号的基本命令和一些基础编程语言。让我感受到只有在了解课本知识的前提下,才能更好的应用这个工具;并且熟练的应用MATLAB 也可以很好的加深我对课程的理解,方便我的思维。这次设计使我了解了MATLAB的使用方法, 学会分析滤波器的优劣和性能,提高了分析和动手实践能力。同时我相信,进一步加强对MATLAB 的学习与研究对
30、我今后的学习将会起到很大的帮助。与其他高级语言的程序设计相比,MATLAB 环境下可以更方便、快捷地设计出具有严格线性相位的FIR 滤波器,节省大量的编程时间, 提高编程效率, 且参数的修改也十分方便,还可以进一步进行优化设计。相信随着版本的不断提高,MATLAB 在数字滤波器技术中必将发挥更大的作用。同时,用MATLAB 计算有关数字滤波器的设计参数,如H(z) 、h(n) 等,对于数字滤波器的硬件实现也提供了一条简单而准确的途径和依据。参考书目:1 余成波 . 数字信号处理及MATLAB 实现 . 清华大学出版社版. 北京 .2009 年2 程佩青 . 数字信号处理教程. 清华大学出版社出版. 北京 .2007 年3 丁玉美 . 数字信号处理. 西安电子科技大学出版社. 西安 .2008 年4 .奥本海姆 . 数字信号处理,. 科学出版社 . 北京 .2009 年5 胡广书 .数字信号处理理论、算法与实现 (第二版) . 电子工业出版社. 北京 .2008年精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 12 页 - - - - - - - - - -