基于matlab的语音信号滤波处理——数字信号处理课程设计,基于matlab的语音信号滤波处理数字信号处理课程设计...

本文档详述了一位电子信息工程学生使用MATLAB进行语音信号处理的课程设计,包括录制语音、时域与频域分析、设计低通、高通、带通滤波器,并对滤波效果进行时域和频谱分析。通过对比处理前后,探讨了不同滤波器对语音信号的影响,展示了实验程序源代码和调试结果。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gif基于matlab的语音信号滤波处理数字信号处理课程设计

数字信号处理课程设计 题目: 基于matlab的语音信号滤波处理 学院: 物理与电子信息学院 专业: 电子信息工程 班级: 学号: 姓名: 指导教师: 2 摘要: 语音信号处理是研究用数字信号处理技术和语音学知 识对语音信号进行处理的新兴学科,是目前发展最为迅速 的学科之一,通过语音传递信息是人类最重要,最有效, 最常用和最方便的交换信息手段,所以对其的研究更显得 尤为重要。 Matlab语言是一种数据分析和处理功能十分强大的计 算机应用软件,它可以将声音文件变换成离散的数据文件, 然后用起强大的矩阵运算能力处理数据。这为我们的本次 设计提供了强大并良好的环境! 本设计要求自己录制一段自己的语音后,在MATLAB软 件中采集语音信号、回放语音信号并画出语音信号的时域 波形和频谱图。再在Matlab中分别设计不同形式的FIR数 字滤波器。之后对采集的语音信号经过不同的滤波器(低 通、高通、带通)后,观察不同的波形,并进行时域和频 谱的分析。对比处理前后的时域图和频谱图,分析各种滤 波器对于语音信号的影响。最后分别收听进行滤波后的语 音信号效果,做到了解在怎么样的情况下该用怎么样的滤 波器。3 目录 1.设计内容……………………………………………………………4 2.设计原理……………………………………………………………4 2.1语音信号的时域分析…………………………………………4 2.2语音信号的频域分析…………………………………………5 3.设计过程……………………………………………………………5 3.1实验程序源代码………………………………………………6 3.1.1原语音信号时域、频域图………………………………6 3.1.2低通滤波器的设计………………………………………6 3.1.3高通滤波器的设计………………………………………7 3.1.4带通滤波器的设计………………………………………8 3.1.5语音信号的回放………………………………………9 3.2调试结果描述…………………………………………………10 3.3所遇问题及结果分析…………………………………………15 3.3.1所遇主要问题…………………………………………16 3.3.2结果分析………………………………………………16 4.体会与收获…………………………………………………………17 5.参考文献……………………………………………………………174 1.设计内容: 1.首先录制好一段自己的语音。 2.用Matlab分别设计好3种类型的滤波器(指标自 己确定):低通型、高通型、带通型。 3.用Matlab将语音信号进行采样,并分别将其通过 所设计的3种滤波器。 4.用Matlab自带的语音返回函数收听滤波后的语音 信号,分析并比较其与原语音信号的差异。 2.设计原理: 语音信号时一种非平稳的时变信号,它带着各种信息。 在语音编码、语音合成、语音识别和语音增强等语音处理 中无一例外需要提取语音中包含的各种信息。语音信号分 析的目的就在于方便有效的提取并表示语音信号所携带的 信息。语音信号处理可以分为时域和变换域等处理方法, 其中时域分析是最简单的方法,直接对语音信号的时域波 形进行分析,崎岖的特征参数主要有语音的短时能量,短 时平均过零率,短时自相关函数等。 2.1语音信号的时域分析 信号提取:通过图形用户界面上的菜单功能按键采集 电脑上的一段音频信号,完成音频信号的频率,幅度等信 息的提取,并得到该语音信号的波形图。 信号调整:在设计的用户图形界面下对输入的音频信 号进行各种变化,如变化幅度、改变频率等操作,以实现 对语音信号的调整。5 2.2语音信号的频域分析 信号的傅里叶表示在信号的分析和处理中起着重要的 作用。因为对于线性系统来说,可以很方便地确定其对正 弦或复指数和的响应,所以傅里叶分析方法能完善地解决 许多信号分析和处理问题。另外,傅里叶表示使信号的某 些特性变得更明显,因此,它能更深入地说明信号的各项 红物理现象。 由于语音信号时随着时间变化的,通常认为,语音是 一个受准周期脉冲或随机噪声源激励的线性系统的输出。 输出频谱是声道系统频率响应与激励源频谱的乘积。身份 到系统的频率响应及激励源都是随时间变化的,因此一般 标准的傅里叶表示虽然适用于周期及平稳随机信号的表示, 但不能直接用于语音信号。由于语音信号可以认为在短时 间内,近似不变,因而可以采用短时分析法。 1.信号变换:在用户图形界面西啊对采集的语音信号 进行Fourier等变换,并画出变换前后的频谱图和倒谱图。 2.信号滤波:滤除语音信号中的噪音部分,可以采用 抵用滤波、高通滤波、带通滤波,并比较各种滤波后的效 果。 3.设计过程: 3.1实验程序源代码(原语音信号存放在e:\下): 3.1.1.原语音信号的时域、频域图6 [x1,fs,bits]=wavread( e:\txwz.wav ); %sound(x1,fs,bits); figure(1); plot(x1);%做原始语音信号的时域图形 title( 原始语音信号 ); xlabel( 时间 t ); ylabel( 音量 n ); figure(2); y1=fft(x1);%做length(x1)点的FFT y1=fftshift(y1); %平移,是频率中心为0 derta_fs = fs/length(x1); %设置频谱的间隔,分辨率 plot([-fs/2:derta_fs: fs/2-derta_fs],abs(y1));%画出原 始语音信号的频谱图 title( 原始语音信号的频谱 ); grid on; 3.1.2低通滤波器的设计 %低通滤波:截止频率4000,阻带衰减20dB,过渡带宽 0.1π fc1=4000; N1=2*pi*0.9/(0.1*pi) wc1=2*pi*fc1/fs; if rem(N1,2)==07N1=N1+1; end Window= boxcar (N1+1); %长度为N1的矩形窗Window b1=fir1(N1,wc1/pi,Window); figure(3); freqz(b1,1,512); title( 低通滤波器的频率响应 ); x1_low = filter(b1,1,x1);%对信号进行低通滤波 figure(4); plot(x1_low); title( 信号经过低通滤波器(时域) ); figure(5); plot([-fs/2:derta_fs:fs/2- derta_fs],abs(fftshift(fft(x1_low)))); title( 信号经过低通滤波器(频域) ); 3.1.3高通滤波器的设计 %高通滤波:截止频率4000,阻带衰减40dB,过渡带宽0.1π fc2=4000; N2=2*pi*3.1/(0.1*pi) wc2=2*pi*fc1/fs; N2=N2+mod(N2,2); Window=hanning(N2+1);8 b2=fir1(N2,wc2/pi, high ,Wi

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值