数字信号处理课程设计报告1Word下载.docx
- 文档编号:18867394
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:12
- 大小:143.64KB
数字信号处理课程设计报告1Word下载.docx
《数字信号处理课程设计报告1Word下载.docx》由会员分享,可在线阅读,更多相关《数字信号处理课程设计报告1Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
通过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=1200Hz,fb2=3000Hz,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB。
在MATLAB中,可以利用函数fir1设计FIR滤波器
(4)对语音信号进行滤波处理;
(5)对滤波前后的语音信号频谱进行对比分析;
2.2数字滤波器的简介及发展
数字滤波器是指完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统,其输入是一组数字量,其输出是经过变换的另一组数字量。
因此,数字滤波器本身既可以是用数字硬件装配成的一台完成给定运算的专用的数字计算机,也可以将所需要的运算编成程序,让通用计算机来执行。
从数字滤波器的单位冲击响应来看,可以分为两大类:
有限冲击响应(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滤波器可以采用快速傅立叶变换算法,在相同的阶数条件下运算速度可以快的多。
2.3FIR数字滤波器的特点
在数字信号处理应用中往往需要设计线性相位的滤波器,FIR滤波器在保证幅度特性满足技术要求的同时,很容易做到严格的线性相位特性。
FIR滤波器不断地对输入样本x(n)延时后,再作乘法累加算法,将滤波结果y(n)输出,因此,FIR实际上是一种乘法累加运算。
在数字滤波器中,FIR滤波器的最主要的特点是没有反馈回路,故不存在不稳定的问题,同时,可以在幅度特性是随意设置的同时,保证精确的线性相位。
稳定和线性相位特性是FIR滤波器的突出优点。
另外,它还有以下特点:
设计方式是线性的;
硬件容易实现;
滤波器过渡过程具有有限区间;
相对IIR滤波器而言,阶次较高,其延迟也要比同样性能的IIR滤波器大得多。
2.4FIR滤波器具有的优点
可在幅度特性随意设计的同时,保证精确、严格的线性相位;
由于FIR滤波器的单位脉冲h(n)是有限长序列,因此FIR滤波器没有不稳定的问题;
由于FIR滤波器一般为非递归结构,因此,在有限运算下不会出现递归型结构中的极限振荡等不稳定现象误差较小;
FIR滤波器可以采用FFT算法实现,从而提高了运算效率。
2.5MATLAB软件简介
20世纪70年代,美国新墨西哥大学计算机科学系主任CleveMoler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。
1984年由Little、Moler、SteveBangert合作成立了的MathWorks公司正式把MATLAB推向市场。
到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。
MATLAB是矩阵实验室(MatrixLaboratory)之意。
除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,工具包又可以分为功能性工具包和学科工具包。
功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。
学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。
MATLAB具有许多的优点比如:
语言简洁紧凑,使用方便灵活,库函数极其丰富;
MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性;
程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行,等等优点。
MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。
附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。
(1)MATLAB常用基本数学函数:
abs(x):
纯量的绝对值或向量的长度、angle(z):
复数z的相角(Phaseangle)、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):
符号函数(Signumfunction)。
当x<
0时,sign(x)=-1;
当x=0时,sign(x)=0;
当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为底的对数,即自然对数或、log2(x):
以2为底的对数、log10(x):
以10为底的对数sin(x):
正弦函数、cos(x):
余弦函数、tan(x):
正切函数。
[3]
(2)MATLAB作图语句:
一维数组即一个行向量或列向量的作图用“plot”命令画。
这时横轴表示数组中各数的序号。
“plot”还可以用指定的自变量数组和对应的函数数组来作图。
如果是二维数组,则横、纵轴分别表示第1个向量和第2个向量。
函数subplot可以把一个图形窗分为几个区域,在每个区域中分别绘图。
此外,还可以绘制三维图形(mesh)、直方图(hist)、等值线图(contour)等。
(3)控制语句:
MATLAB有和其他高级语言相类似的控制语句,如循环(for)、中止循环(break)、条件(if,while)等。
(4)用于数字信号处理的工具箱——Signal
它包含数字信号处理常用的滤波器设计、傅里叶变换、z变换等。
3.课程设计报告内容
3.1设计方案的选定与原理
目前FIR滤波器的设计方法主要有三种:
窗函数法、频率取样法和切比雪夫等波纹逼近的最优化设计方法。
常用的是窗函数法和切比雪夫等波纹逼近的最优化设计方法。
本实验中的窗函数法比较简单,可应用现成的窗函数公式,在技术指标要求不高的时候是比较灵活方便的。
它是从时域出发,用一个窗函数截取理想的
得到h(n),以有限长序列h(n)近似理想的
;
如果从频域出发,用理想的
在单位圆上等角度取样得到H(k),根据h(k)得到H(z)将逼近理想的
,这就是频率取样法。
[4]
FIR数字滤波器系统的传递函数为:
(1)
通过反z变换,数字滤波器的差分方程为:
(2)
由此得到系统的差分方程:
(3)
如图所示:
图1k阶FIR数字滤波器功能框图
通常FIR的计算时间都较长。
很多时候我们需要牺牲时间来获得想要得到的滤波器功能。
3.2用窗函数法设计FIR滤波器
根据过渡带宽及阻带衰减要求,选择窗函数的类型并估计窗口长度N(或阶数M=N-1),窗函数类型可根据最小阻带衰减As独立选择,因为窗口长度N对最小阻带衰减As没有影响,在确定窗函数类型以后,可根据过渡带宽小于给定指标确定所拟用的窗函数的窗口长度N,设待求滤波器的过渡带宽为Δw,它与窗口长度N近似成反比,窗函数类型确定后,其计算公式也确定了,不过这些公式是近似的,得出的窗口长度还要在计算中逐步修正,原则是在保证阻带衰减满足要求的情况下,尽量选择较小的N,在N和窗函数类型确定后,即可调用MATLAB中的窗函数求出窗函数wd(n)。
根据待求滤波器的理想频率响应求出理想单位脉冲响应hd(n),如果给出待求滤波器频率应为Hd,则理想的单位脉冲响应可以用下面的傅里叶反变换式求出:
(4)
在一般情况下,hd(n)是不能用封闭公式表示的,需要采用数值方法表示;
从w=0到w=2π采样N点,采用离散傅里叶反变换(IDFT)即可求出。
[5]
用窗函数wd(n)将hd(n)截断,并进行加权处理,得到:
(5)
如果要求线性相位特性,则h(n)还必须满足:
(6)
根据上式中的正、负号和长度N的奇偶性又将线性相位FIR滤波器分成四类。
要根据所设计的滤波特性正确选择其中一类。
例如,要设计线性相位低通特性可选择h(n)=h(N-1-n)一类,而不能选h(n)=-h(N-1-n)一类。
以下是几种常用的窗函数:
(1)矩形窗:
(7)
(2)Hanning窗:
(8)
(3)Hamming窗:
(9)
(4)Blackman窗:
(10)
(5)Kaiser窗:
(11)
3.3设计方案程序及图表
对语音信号进行频谱分析,在MATLAB中,可以利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性
z1=wavread('
d:
\laoA.wav'
);
y1=z1(1:
8192);
Y1=fft(y1);
n=0:
8191;
plot(n,Y1);
图像输出如图:
图2语音信号频谱分析图
一个理想的带通滤波器应该有平稳的通带(bandpass,允许通过的频带),同时限制所有通带外频率的波通过。
但是实际上,没有真正意义的理想带通滤波器。
真实的滤波器无法完全过滤掉所设计的通带之外的频率的波。
事实上,在理想通带边界有一部分频率衰减的区域,不能完全过滤,这一曲线被称做滚降斜率(roll-off)。
滚降斜率通常用dB度量来表示频率的衰减程度。
一般情况下,滤波器的设计就是把这一衰减区域做的尽可能的窄,以便该滤波器能最大限度接近完美通带的设计。
图3带通滤波器幅频曲线
图4带通滤波器相频曲线
程序设计如下:
clear;
closeall
[z1,fs,bits]=wavread('
)
fp1=1200;
fp2=3000;
fc1=1000;
fc2=3200;
As=100;
Ap=1;
%数字带通滤波器技术指标
Fs=8000;
wp1=2*pi*fp1/Fs;
wc1=2*pi*fc1/Fs;
wp2=2*pi*fp2/Fs;
wc2=2*pi*fc2/Fs;
wdel=wp1-wc1;
beta=0.112*(As-8.7);
N=ceil((As-8)/2.285/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);
figure
(2);
subplot(2,2,1);
plot(abs(Y1));
axis([0,1000,0,1.0]);
title('
滤波前信号频谱'
subplot(2,2,2);
plot(abs(X));
axis([0,2000,0,0.0003]);
滤波后信号频谱'
subplot(2,2,3);
plot(z1);
滤波前信号波形'
subplot(2,2,4);
plot(x);
sound(x,fs,bits);
窗函数法:
相位响应有严格的线性,不存在稳定性问题,设计简单。
图形分析如下:
图5FIR带通
图6语音信号频谱
通带范围为(0.30,0.75),最大衰减为0dB,阻带范围为(0.25,0.8),最小衰减为100dB,相位是线性的,基本满足滤波要求。
语音信号经过带通滤波器后,低频分量基本被衰减。
4.总结
数字信号处理课程设计对我们学生的MATLAB的应用,以及数字滤波器的了解考察很细致,不管是软件运用,还是数字信号处理的基本概念、基本原理、分析方法,同时还考察到了编程对其中编程的方法、如何解决实际问题等。
这些都让我们从理论联系到实际,真真切切的学到了很多。
通过这次练习是我进一步了解了信号的产生、采样及频谱分析的方法。
以及其中产生信号和绘制信号的基本命令和一些基础编程语言。
让我感受到只有在了解课本知识的前提下,才能更好的应用这个工具;
并且熟练的应用MATLAB也可以很好的加深我对课程的理解。
这次设计使我了解了MATLAB的使用方法,学会分析滤波器的优劣和性能,提高了分析和动手实践能力。
同时我相信,进一步加强对MATLAB的学习与研究对我今后的学习将会起到很大的帮助。
与其他高级语言的程序设计相比,MATLAB环境下可以更方便、快捷地设计出具有严格线性相位的FIR滤波器,节省大量的编程时间,提高编程效率,且参数的修改也十分方便,还可以进一步进行优化设计。
相信随着版本的不断提高,MATLAB在数字滤波器技术中必将发挥更大的作用。
同时,用MATLAB计算有关数字滤波器的设计参数,如H(z)、h(n)等,对于数字滤波器的硬件实现也提供了一条简单而准确的途径和依据。
参考书目:
[1]余成波.《数字信号处理及MATLAB实现》.清华大学出版社版.北京.2009年
[2]程佩青.《数字信号处理教程》.清华大学出版社出版.北京.2007年
[3]丁玉美.《数字信号处理》.西安电子科技大学出版社.西安.2008年
[4]A.V.奥本海姆.《数字信号处理》,.科学出版社.北京.2009年
[5]胡广书.《数字信号处理——理论、算法与实现(第二版)》.电子工业出版社.北京.2008年
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 处理 课程设计 报告