语音信号的频谱分析和FIR滤波器的设计要点
语音信号的数字滤波——FIR数字带通滤波器的(三角)窗函数法设计

课程设计任务书设计题目语音信号的数字滤波——FIR数字带通滤波器的(三角)窗函数法设计一、课程设计的目的通过对常用数字滤波器的设计和实现,掌握数字信号处理的工作原理及设计方法;掌握利用数字滤波器对信号进行滤波的方法。
并能够对设计结果加以分析。
二、课程设计的步骤利用Windows系统采集:按“开始->程序->附件->娱乐->录音机”的顺序操作打开Windows系统中的录音机软件图1录音机采集语音信号信息:(将所录wma格式转换为wav格式)图上画出来图2原始信号频谱图图3 截短信号频谱图代码如下所示:[x,fs]=wavread('250.wav');x1=x(:,1);plot (x1, 'DisplayName', 'x1', 'YDataSource', 'x1'); figure(gcf)x2=x(9500:67201);plot (x2, 'DisplayName', 'x2', 'YDataSource', 'x2');figure(gcf)处理(1)产生一个长度与你所截取的语音信号等长的噪声信号,为“250.wav”,所用指令为wavewrite(),所加噪声如图6所示。
(2)叠加噪声可以用awgn()语句,在叠加噪声时,应选取适当的值,尽量能体现出能量主要集中的频段。
(3)将语音与噪声合成的信号“250.wav”送入所设计的基于凯泽窗的FIR数字滤波器中进行滤波。
(4)将滤波结果导出保存成文件“250.wav”.得出加噪后信号如下:图4 加噪后的语音信号代码如下所示:Y = AWGN(x2,8,'measured');一个理想的带通滤波器应该有一个完全平坦的通带,在通带内没有放大或者衰减,有源带通滤波器电路并且在通带之外所有频率都被完全衰减掉,另外,通带外的转换在极小的频率范围完成。
设计数字低通IIR和FIR滤波器对语音信号进行滤波处理

数字信号处理实验报告题目:设计数字低通IIR和FIR滤波器对语音信号进行滤波处理班级:学号:姓名:指导教师:一.实验目的1.巩固所学的数字信号处理理论知识,理解信号的采集、处理、传输、显示和存储过程;2.综合运用专业及基础知识,解决实际工程技术问题的能力;3.学习资料的收集与整理,学会撰写课程设计报告。
二.实验内容1.选择一个语音信号作为分析的对象,对其进行频谱分析;2.设计FIR和IIR数字滤波器,并对加噪语音信号进行滤波,分析滤波后信号的时域和频域特征。
三.设计过程1.原语音信号的时域,频域图[y,fs,nbits]=wavread ('d:\1\liuwei.wav'); %IIR低通sound(y,fs,bits);figure(1);plot(y);%做原始语音信号的时域图形title('原始语音信号');xlabel('时间 t');ylabel('音量 n');figure(2);y1=fft(y);y1=fftshift(y1); %平移,是频率中心为0derta_fs = fs/length(y); %设置频谱的间隔,分辨率plot([-fs/2:derta_fs: fs/2-derta_fs],abs(y1));%画出原始语音信号的频谱图title('原始语音信号的频谱');2.低通滤波器的设计设计指标:fp=1000Hz,fs=1200Hz,As=100db ,Ap=1dB(1)低通IIR滤波器Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;fp=2*Ft*tan(wp/2);fs=2*Fs*tan(wp/2);[n11,wn11]=buttord(wp,ws,1,50, 's');%求低通滤波器的阶数和截止频率[b11,a11]=butter(n11,wn11, 's'); %求S域的频率响应的参数[num11,den11]=bilinear(b11,a11,0.5); %利用双线性变换实现频率响应S域到Z域的变换[h,w]=freqz(num11,den11);figure(3);plot(w*8000*0.5/pi,abs(h));legend('IIR低通滤波器','Location','NorthWest');grid;z11=filter(num11,den11,y);sound(z11);m11=fft(z11); %求滤波后的信号figure(4);plot(z11);title('滤波后的信号波形', 'fontweight', 'bold'); axis([95000 100000 -1 1]);grid;figure(5);plot(abs(m11), 'r ');title('滤波后信号的频谱', 'fontweight', 'bold'); axis([ 0 150000 0 4000]);grid;(2)FIR低通滤波器Ft=8000;Fp=1000;Fs=1200;wp=2*pi*Fp/Ft;ws=2*pi*Fs/Ft;rp=1;rs=50;p=1-10.^(-rp/20);s=10.^(-rs/20);fpts=[wp ws];mag=[1 0];dev=[p s];[n21,wn21,beta,ftype]=kaiserord(fpts,mag,dev); b21=fir1(n21,wn21,kaiser(n21+1,beta));[h,w]=freqz(b21,1);figure;plot(w*8000*0.5/pi,abs(h));title('FIR低通滤波器','fontweight','bold'); grid;z11=filter(b21,1,y);sound(z11);m11=fft(z11); %求滤波后的信号figure(4);plot(z11);title('滤波后的信号波形', 'fontweight', 'bold'); axis([95000 100000 -1 1]);grid;figure(5);plot(abs(m11), 'r ');title('滤波后信号的频谱', 'fontweight', 'bold'); axis([ 0 150000 0 4000]);grid;四.程序结果原始语音信号的时域图形:原始语音信号频谱:IIR低通滤波器:信号经过IIR低通滤波后的时域波形:FIR低通滤波器信号经过IIR低通滤波后的频域波形五.实验心得通过本次的课程设计使我对FIR与IIR滤波器有了更加深入地了解。
FIR滤波器设计要点

FIR滤波器设计要点FIR (Finite Impulse Response) 滤波器是一种数字滤波器,其设计要点包括滤波器类型选择、滤波器系数设计、频率响应规格、窗函数和滤波器长度选择等。
以下是对这些要点的详细介绍。
1.滤波器类型选择:在设计FIR滤波器之前,需要确定滤波器的类型。
常见的FIR滤波器类型包括低通滤波器、高通滤波器、带通滤波器和带阻滤波器。
不同类型的滤波器适用于不同的应用场景,因此在选择滤波器类型时需要考虑系统的需求。
2.滤波器系数设计:FIR滤波器的核心是滤波器系数。
滤波器系数决定了滤波器的频率响应和滤波特性。
常用的设计方法包括窗函数法、最小均方误差法和频率抽样法等。
窗函数法是最常用的设计方法,其基本思想是通过选择合适的窗函数来得到滤波器系数。
3.频率响应规格:在设计FIR滤波器时,需要明确所需的频率响应规格,包括通带增益、阻带衰减、过渡带宽等。
这些规格直接影响了滤波器的性能,因此需要根据具体应用场景来确定。
4.窗函数选择:窗函数在FIR滤波器设计中起到了重要的作用。
常用的窗函数包括矩形窗、汉宁窗、汉明窗、布莱克曼窗等。
不同的窗函数具有不同的特性,选择合适的窗函数可以得到优良的滤波器性能。
5.滤波器长度选择:滤波器长度决定了滤波器的频率分辨率和时间分辨率。
滤波器长度越长,频率响应越尖锐,但计算复杂度也越高。
因此,在设计FIR滤波器时需要权衡计算复杂度和性能要求,选择合适的滤波器长度。
6.优化设计:7.实现方式:总之,设计FIR滤波器要点包括滤波器类型选择、滤波器系数设计、频率响应规格、窗函数和滤波器长度选择等。
设计者需要根据具体的应用场景和性能要求来进行合理的设计和优化,以满足系统的需求。
基于语音信号去噪处理的FIR滤波器设计

基于语音信号去噪处理的FIR滤波器设计概述:在许多语音处理应用中,如通信系统、语音识别和语音合成等,语音信号往往受到各种噪声的污染影响。
为了减少或去除这些噪声的影响,需要设计有效的滤波器。
本文将介绍基于语音信号去噪处理的FIR滤波器的设计方法。
1.FIR滤波器的原理FIR滤波器是一种线性时不变系统,由一组滤波器系数和延迟单元组成。
其输出信号为输入信号与滤波器系数之间的卷积运算。
根据语音信号的频谱特性,可以设计一组合适的滤波器系数,用于去除特定频段的噪声。
2.FIR滤波器的设计方法2.1频率采样法频率采样法是一种直接设计FIR滤波器的方法,它通过在频域中指定所需的频率响应来设计滤波器。
首先,根据信号的采样率和带宽要求,确定滤波器的阶数和过渡带宽。
然后,在频域中绘制所需的频率响应曲线,并进行插值得到滤波器的频率响应。
最后,通过傅立叶逆变换得到滤波器的时域响应,即滤波器系数。
2.2窗函数法窗函数法是一种常用的FIR滤波器设计方法,它通过在时域中选择适当的窗函数来设计滤波器的频率响应。
常用的窗函数有矩形窗、汉宁窗、汉明窗等。
首先,根据信号的采样率和带宽要求,确定滤波器的阶数和过渡带宽。
然后,选择合适的窗函数,并在时域中将滤波器的频率响应与窗函数相乘。
最后,通过傅立叶逆变换得到滤波器的时域响应,即滤波器系数。
3.基于语音信号的去噪处理基于语音信号的去噪处理可以通过FIR滤波器来实现。
首先,通过对语音信号进行时频分析,分析出语音信号的频谱特性和噪声的频谱特性。
然后,根据噪声的频谱特性设计一个合适的FIR滤波器,使其在噪声频段上具有较高的增益,而在语音频段上具有较低的增益。
最后,将噪声信号输入到设计好的FIR滤波器中,并将滤波器的输出与原始语音信号相减,得到去噪后的语音信号。
4.总结本文介绍了基于语音信号去噪处理的FIR滤波器设计方法。
通过选择合适的设计方法和滤波器系数,可以有效地去除语音信号中的噪声。
在实际应用中,可以根据具体的需求和信号特性,选择合适的设计方法和优化算法,以获得更好的去噪效果。
语音信号的滤波与频谱分析

生物医学信号处理大作业题目:语音信号的滤波与频谱分析学生姓名学院名称精密仪器与光电子工程专业学号一、实验目的语音信号的滤波与频谱分析录制自己的一段语音:“天津大学精密仪器与光电子工程学院生物医学工程X班XXX, College of precision instrument and opto-electronics engineering, biomedical engineering”,时间控制在15秒到30秒左右;利用wavread 函数读入语言信号,记住采样频率。
二、实验过程(1)求原始语音信号的特征频带:可以分别对一定时间间隔内,求功率谱(傅里叶变换结果取模的平方)并画出功率谱。
(2)根据语音信号频谱特点,设计FIR或IIR滤波器,分别画出滤波器幅频和相频特性曲线。
说明滤波器特性参数。
用设计的滤波器对信号滤波,画出滤波后时域波形。
用sound 函数回放语音信号。
(3)求出特征频段语音信号随时间变化的曲线(每隔0.05秒求一次功率谱,连接成曲线)。
(4)选做:语谱图:横轴为时间,纵轴为频率,灰度值大小表示功率谱值的大小。
(提示,可以采用spectrogram函数)(1)读入语音文件并画出其时域波形和频域波形,实现加窗fft 并求出其功率谱。
clcclear all; close all;[x,Fs,bits]=wavread('C:\Users\刘冰\Desktop\数字信号处理\liubing');x0=x(:,1); %将采集来的语音信号转换为一个数组 sound(x0,Fs,bits); y=fft(x);figure;plot(x,’b’);title ('原始语音信号时域波形'); y1=fft(x0);y1=fftshift(y1); d = Fs/length(x);figure;plot([-Fs/2:d: Fs/2-d],abs(y1),’b’);title('原始语音信号的频域信号'); % 画出原始语音信号的频谱图123456789x 105-1-0.8-0.6-0.4-0.200.20.40.60.81原始语音信号时域波形N=length(x);w1 = window(@hann,N); w2 = window(@blackman,N); x1=x0.*w1; %对原始信号加汉宁窗处理 x2=x0.*w2; %对原始信号加布兰克曼窗处理 figure,plot(x1);title(加汉宁窗后的语音信号) %显示加窗后的时域语音信号 s=floor(length(x0)/Fs);%计算原始语音信号的时间长度,这里得到的结果是18秒,因为floor 是向下取整,所以信号的末尾一点会被去掉,但是因为最后一点没有声音信号,所以影响可以忽略。
FIR滤波器设计分析

FIR滤波器设计分析FIR(Finite Impulse Response)滤波器是一类数字滤波器,其输出只取决于输入信号的有限数量的过去样本。
FIR滤波器的设计分析主要包括滤波器的设计目标、设计方法、设计参数选择、滤波器性能评估等方面。
首先,FIR滤波器的设计目标是根据特定的应用需求,设计一个能够满足给定要求的滤波器。
比如,在音频信号处理中,常见的设计目标包括降低噪声、增强语音清晰度等。
接下来,FIR滤波器的设计方法主要有窗函数法和频率采样法。
窗函数法是通过选择合适的窗函数来设计FIR滤波器,常见的窗函数有矩形窗、汉宁窗、汉明窗等。
频率采样法是通过在频域上选择一组等间隔的频率样点,然后通过频域设计方法将这些样点连接起来,得到FIR滤波器的频响。
设计参数选择是FIR滤波器设计的重要环节。
常见的设计参数包括滤波器阶数、截止频率、过渡带宽等。
滤波器阶数决定了滤波器的复杂度,一般情况下,滤波器阶数越高,滤波器的性能也会越好。
截止频率是指滤波器的频段边界,过渡带宽是指频域中通过频样点与阻带频样点之间的频带范围。
最后,FIR滤波器的性能评估主要包括幅频响应、相频响应、群延迟等指标。
幅频响应可以用来评估滤波器的频率特性,相频响应则描述了信号在滤波过程中的相对延迟。
群延迟是指信号通过滤波器时的延迟时间,对于实时信号处理应用非常重要。
总结起来,FIR滤波器设计分析主要涉及设计目标、设计方法、设计参数选择和滤波器性能评估四个方面。
通过合理选择设计方法和参数,并对滤波器的性能进行评估,可以设计出满足特定要求的FIR滤波器,从而实现信号处理、噪声降低等应用。
语音信号的FIR滤波器处理要点

(语音信号的FIR滤波器处理)课程名称:DSP原理及应用报告提交日期2011年12月13日项目答辩日期2011年12月13日1 导论以及设计要求1.1引言随着信息时代和数字世界的到来,数字信号处理已成为如今一门极其重要的学科和技术领域。
数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。
数字信号处理器,也称DSP芯片,是针对数字信号处理需要而设计的一种具有特殊结构的微处理器,它是现代电子技术、相结合的产物。
一门主流技术,随着信息处理技术的飞速发展,计算机技术和数字信号处理技术逐渐发展成为使它在电子信息、通信、软件无线电、自动控制、仪表技术、信息家电等高科技领域得到了越来越广泛的应用。
数字滤波是语音处理、图像处理、频谱分析等应用中的基本处理算法。
DSP 是一种处理数字信号的专用微处理器, 主要应用于实时快速地实现各种信号的数字处理算法。
用 DSP 芯片实现数字滤波具有稳定性好、精确度高、不受环境影响等优点。
数字滤波器分为有限冲激响应滤波器(FIR滤波器)和无限冲激响应滤波器(IIR滤波器)。
FIR 滤波器属于经典滤波器,优点就是由于不存在系统极点,FIR 滤波器是绝对稳定的系统,FIR 滤波器还确保了线性相位,在信号处理中占有极其重要的地位。
数字滤波器一直以来就是数字信号处理器(DSP)最广为人知的应用,FIR 滤波器的单位冲激响应 b(n)为有限长序列,若 b(n)为实数, 且满足偶对称:b(n)= b(N- 1- n)的条件, 称为系数对称FIR 滤波器。
系数对称 FIR 滤波器在数字信号处理中应用十分广泛。
1.2设计的目的通过课程设计,加深对DSP芯片TMS320C54x的结构、工作原理的理解,获得DSP应用技术的实际训练,掌握设计较复杂DSP系统的基本方法。
通过使用汇编语言编写具有完整功能的图形处理程序或信息系统,使学生加深对所学知识的理解,进一步巩固汇编语言讲法规则。
基于语音信号去噪处理的FIR低通滤波器设计

基于语音信号去噪处理的FIR低通滤波器设计语音信号去噪是语音信号处理领域的一个重要研究方向,它的目标是去除语音信号中的噪声,提高语音信号的质量。
FIR低通滤波器是一种常用的信号处理工具,可以有效地去除高频噪声,因此被广泛应用于语音信号去噪处理中。
FIR低通滤波器是一种非递归滤波器,其输出仅依赖于输入和滤波器的系数。
它主要通过限制输入信号的高频成分,而保留低频成分,从而实现去除高频噪声的目的。
FIR低通滤波器的设计主要包括两个方面:滤波器的频率响应特性和滤波器的系数计算。
滤波器的频率响应特性是指滤波器对不同频率的信号的响应程度,通常使用滤波器的幅频特性和相频特性来描述。
在语音信号去噪处理中,我们希望滤波器能够尽可能地保留语音信号的频率特性,同时去除噪声的高频成分。
因此,我们可以设计一个频率响应随频率变化而变化的滤波器,使得在语音信号频率范围内的信号受到较小的衰减,而高频噪声信号受到较大的衰减。
在滤波器的系数计算中,常用的方法有窗函数设计法和频率采样法。
窗函数设计法是一种经典的FIR滤波器设计方法,它通过设计一个窗函数来选择频率响应特性。
常用的窗函数有矩形窗、汉宁窗、哈密顿窗等。
通过选择合适的窗函数,可以得到相应的滤波器系数。
频率采样法是另一种常用的FIR滤波器设计方法,它通过选择一组频率点和相应的幅度,然后通过傅立叶反变换来计算滤波器的系数。
频率采样法的好处是可以直接设定滤波器在不同频率上的衰减需求,因此可以更加灵活地设计出满足特定要求的滤波器。
在语音信号去噪处理中,我们可以将FIR低通滤波器应用于语音信号的预处理环节,通过滤除高频噪声成分,减小噪声对语音信号质量的影响。
一种常见的方法是使用自适应滤波器,在每个时刻根据当前输入信号和滤波器的系数来计算滤波器的输出,从而实现实时的去噪处理。
总之,基于语音信号的去噪处理中,FIR低通滤波器是一种简单但有效的工具。
通过合理设计滤波器的频率响应特性和选择合适的滤波器系数,可以有效地去除语音信号中的高频噪声,提高语音信号的质量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录一.绪论1.课题背景 (2)2.本次课程设计的目的 (2)二.设计原理及实验工具1.设计原理(1)采样频率、位数及采样定理 (3)(2)时域信号的FFT分析 (4)(3)基于窗函数的FIR数字滤波器设计法 (4)2.实验工具 (5)三.仿真程序及频谱分析1.语音信号的频谱分析 (5)2.FFT频谱分析 (7)3.FIR数字低通滤波器的设计 (8)4.FIR数字高通滤波器的设计 (10)5.FIR数字带通滤波器的设计 (13)6.保存滤波后的声音文件 (15)五.设计总结 (15)六.参考文献 (16)一.绪论1.课题背景随着信息时代和数字世界的到来,数字信号处理己成为当今一门极其重要的学科和技术领域,数字信号处理在通信、语音、图像、自动控制、医疗和家用电器等众多领域得到了广泛的应用。
任意一个信号都具有时域与频域特性,信号的频谱完全代表了信号,因而研究信号的频谱就等于研究信号本身。
通常从频域角度对信号进行分析与处理,容易对信号的特性获得深入的了解。
因此,信号的频谱分析是数字信号处理技术中的一种较为重要的工具。
在工程领域中,MATLAB 是一种倍受程序开发人员青睐的语言,对于一些需要做大量数据运算处理的复杂应用以及某些复杂的频谱分析算法MATLAB显得游刃有余。
2.本次课程设计的目的(1)掌握傅里叶变换的物理意义,深刻理解傅里叶变换的内涵(2)了解matlab对声音信号的处理指令(3)聊二级计算机存储信号的方式及语音信号的特点(4)加深对采样定理的理解(5)加深对信号分析工程应用的理解,拓展学生在信号分析领域的综合应用能力(6)掌握用窗函数法设计FIR数字滤波器的原理和方法(7)掌握FIR滤波器的快速卷积实现原理。
(8)学会调用MATLAB函数设计与实现FIR滤波器二.实验原理、工具1.实验原理(1)采样频率、位数及采样定理采样频率:定义了每秒从连续信号中提取并组成离散信号的采样个数,用赫兹(Hz)来表示。
采样频率的倒数是采样周期,它是采样之间的时间间隔,是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准,采样频率越高,即采样的时间间隔越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。
采样位数:数值越大,解析度越高,录制的回放的声音数就越真实。
由于语音信号是一种连续变化的模拟信号,而计算机只能处理和记录二进制的数字信号,因此,由自然音而得的音频信号必须经过采样、量化和编码,变成二进制数据后才能送到计算机进行再编辑和存储。
语音信号输出时,则与上述过程相反,用计算机的声音编辑工具进行语音信号的录制时,已经利用了计算机上的A/D转换器,将模拟的声音信号转化成离散的量化了的数字信号。
话音时,量化了的数字信号又通过D/A转换器,把保存起来的数字数据恢复成原来的模拟的语音信号采样定理:采样就是利用抽样脉冲序列从连续信号中抽取一系列离散样值构成抽样信号。
抽样的意义就在于能够从抽样信号中无失真地恢复元连续信号。
在进行模拟/数字信号的转换过程中,当采样频率不小于信号中最高频率fm的2倍时,即fs>=2fm,则采样之后的数字信号完整地保留了原始信号中的信息。
(2)时域信号的FFT分析信号的频谱分析就是计算机信号的傅里叶变换。
FFT是一种时域和频域均离散化的变换,是DFT的一种快速算法,是对变换式进行一次次分解,使其成为若干小数据点的组合,从而减少运算量。
当所处理的数据的长度为2的幂次时,采用基-2算法进行计算,计算速度会显著增加。
FFT函数调用方式:1.Y=FFT(X);2.Y=FFT(X,N);3.Y=FFT(X,[],dim)或Y=FFT(X,N,dim)。
(3)基于窗函数的FIR数字滤波器设计法用一定宽度窗函数截取无限脉冲响应序列,获得有限长的脉冲响应序列,从而得到FIR滤波器,它是在时域进行的由理想滤波器的频率响应推导出其单位冲激响应,再设计一个FIR数字滤波器的单位冲激响应h(n)去逼近,它表示,由此得到的离散滤波器的系统传递函数为无限长序列,因此是物理不可实现的。
为了使系统变为物理可实现,且使实际的FIR滤波器频率响应尽可能逼近理想滤波器的频响特性,采用窗函数将无限脉冲响应截取一段h(n)来近似表示,可得。
从而有:式中N表示窗口长度,这样H(z)就是物理可实现的系统。
并且从线性相位FIR滤波器的充要条件可知,为了获得线性相位FIR数字滤波器的脉冲响应h(n),那么h(n)应有t=(N-1)/2的延迟,由于窗函数的选择对结果起着重要的作用,针对不同的信号和不同的处理目的来确定窗函数的选择才能收到良好的效果。
2.实验工具:MATLAB 7.0三.设计过程1.语音信号的频谱分析(1)利用录音软件录制一段自己的声音,保存为.wav格式,并将其保存在matlab的工作空间work中。
Save and run ,得出频谱分析图(2)程序:[x1,fs,bits]=wavread('C:\MATLAB7\work\sy.wav');%读取语音信号的数据,赋给变量x1figure(1)plot(x1) %做原始语音信号以44.1k采样后的时域图形title('原始语音采样后时域信号');xlabel('时间轴 n');ylabel('幅值 A');figure(2)freqz(x1) %绘制原始语音信号采样后的频率响应图title('原始语音信号采样后频率响应图');[x1,fs,bits]=wavread('sy.wav'); %读取语音信号的数据,赋给变量x1 sound(x1,fs); %播放语音信号(3)频谱图2.FFT频谱分析(1)程序:[x1,fs,bits]=wavread('sy.wav'); %读取语音信号的数据,赋给变量x1 y1=fft(x1,1024); %对采样后信号做1024点FFT变换f=fs*(0:511)/1024;figure(1)subplot(2,1,1);plot(f,abs(y1(1:512)));title('原始语音信号频谱')xlabel('频率/Hz');ylabel('幅值')subplot(2,1,2);plot(abs(y1(1:1024))) %采样后信号的FFT频谱图title('原始语音信号FFT频谱')xlabel('点数N');ylabel('幅值');(2)频谱图3.FIR数字低通滤波器的设计(1)程序:fs=10000;x1=wavread('sy.wav');wp=2*pi*1000/fs;ws=2*pi*1200/fs;Rp=1;Rs=100;wdelta=ws-wp;N=ceil(8*pi/wdelta); %取整wn=(wp+ws)/2;[b,a]=fir1(N,wn/pi,hamming(N+1)); %选择窗函数,并归一化截止频率figure(1)freqz(b,a,512);title('FIR低通滤波器');f2=filter(b,a,x1);figure(2)subplot(2,1,1)plot(x1)title('FIR低通滤波器滤波前的时域波形');subplot(2,1,2)plot(f2);title('FIR低通滤波器滤波后的时域波形');sound(f2,7000); %播放滤波后的语音信号F0=fft(f2,1024);f=fs*(0:511)/1024;figure(3)y2=fft(x1,1024);subplot(2,1,1);plot(f,abs(y2(1:512)));title('FIR低通滤波器滤波前的频谱')xlabel('频率/Hz');ylabel('幅值');subplot(2,1,2)F2=plot(f,abs(F0(1:512)));title('FIR低通滤波器滤波后的频谱')xlabel('频率/Hz');ylabel('幅值');(2)频谱图4.FIR高通滤波器的设计(1)程序fs=22050;x1=wavread('sy.wav');wp=2*pi*5000/fs;ws=2*pi*4800/fs;Rp=1;Rs=100;wdelta=wp-ws;N=ceil(8*pi/wdelta); %取整wn=(wp+ws)/2;[b,a]=fir1(N,wn/pi,'high');figure(1)freqz(b,a,512);title('FIR高通滤波器');f2=filter(b,a,x1);figure(2)subplot(2,1,1)plot(x1)title('FIR高通滤波器滤波前的时域波形');subplot(2,1,2)plot(f2);title('FIR高通滤波器滤波后的时域波形');sound(f2,20000); %播放滤波后的语音信号F0=fft(f2,1024);f=fs*(0:511)/1024;figure(3)y2=fft(x1,1024);subplot(2,1,1);plot(f,abs(y2(1:512)));title('FIR高通滤波器滤波前的频谱')xlabel('频率/Hz');ylabel('幅值');subplot(2,1,2)F2=plot(f,abs(F0(1:512)));title('FIR高通滤波器滤波后的频谱')xlabel('频率/Hz');ylabel('幅值');(2)频谱图5.FIR带通滤波器的设计(1)程序fs=22050;x1=wavread('sy.wav');wp1=2*pi*1200/fs;wp2=2*pi*3000/fs;ws1=2*pi*1000/fs;ws2=2*pi*3200/fs;Rp=1;Rs=100;wp=(wp1+ws1)/2;ws=(wp2+ws2)/2;wdelta=wp1-ws1;N=ceil(8*pi/wdelta); %取整wn=[wp ws];[b,a]=fir1(N,wn/pi,'bandpass');figure(1)freqz(b,a,512);title('FIR带通滤波器');f2=filter(b,a,x1);figure(2)subplot(2,1,1)plot(x1)title('FIR带通滤波器滤波前的时域波形');subplot(2,1,2)plot(f2);title('FIR带通滤波器滤波后的时域波形');sound(f2,10000); %播放滤波后的语音信号F0=fft(f2,1024);f=fs*(0:511)/1024;figure(3)y2=fft(x1,1024);subplot(2,1,1);plot(f,abs(y2(1:512)));title('FIR带通滤波器滤波前的频谱')xlabel('频率/Hz');ylabel('幅值');subplot(2,1,2)plot(f,abs(F0(1:512)));title('FIR带通滤波器滤波后的频谱')xlabel('频率/Hz');ylabel('幅值');(2)频谱图4.在程序最后添加wavwrite(f2,'保存的名字')语句五.设计总结本文主要是基于高级面向对象开发语言M A T L A B的基本特征,以及MATLAB强大的工具箱功能,实现信号的预处理和频谱分析。