语音信号的噪声及滤波的过程研究

上传人:今*** 文档编号:108104273 上传时间:2019-10-22 格式:DOC 页数:14 大小:515KB
返回 下载 相关 举报
语音信号的噪声及滤波的过程研究_第1页
第1页 / 共14页
语音信号的噪声及滤波的过程研究_第2页
第2页 / 共14页
语音信号的噪声及滤波的过程研究_第3页
第3页 / 共14页
语音信号的噪声及滤波的过程研究_第4页
第4页 / 共14页
语音信号的噪声及滤波的过程研究_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《语音信号的噪声及滤波的过程研究》由会员分享,可在线阅读,更多相关《语音信号的噪声及滤波的过程研究(14页珍藏版)》请在金锄头文库上搜索。

1、电网络理论课程设计与报告 题 目: 语音信号的噪声分析及滤波的过程研究 一、 语音信号的噪声分析及滤除一般过程 选择一个语音信号作为分析的对象,或录制一段格式为 *.wav各人自己的语音信号,对其进行频谱分析;利用MATLAB中的随机函数产生噪声加入到语音信号中,模仿语音信号被污染,并对其进行频谱分析;设计数字滤波器, 并对被噪声污染的语音信号进行滤波, 分析滤波后信号的时域和频域特征,回放语音信号。其流程图如下所示:二、 音频信号、噪声的分析(一)、音频信号分析音频信号的频率范围在20Hz-20000Hz,是人耳可以听到的频率范围,超过这个范围的音频信号没有意义。语音的频率范围在30-100

2、0Hz之间。(二)、噪声的产生 噪声的来源一般有环境设备噪声和电气噪声。环境噪声一般指在录音时外界环境中的声音,设备噪声指麦克风、声卡等硬件产生的噪声,电气噪声有直流电中包含的交流声,三极管和集成电路中的无规则电子运动产生的噪声,滤波不良产生的噪声等。这些噪声虽然音量不大(因为在设备设计中已经尽可能减少噪声),但参杂在我们的语音中却感到很不悦耳,尤其中在我们语音的间断时间中,噪声更为明显。三、 A/D转换 A/D转换可分为4个阶段:即采样、保持、量化和编码。 采样就是将一个时间上连续变化的信号转换成时间上离散的信号,根据奈奎斯特采样定理fsZZfh,如果采样信号频率大于或等于2倍的最高频率成分

3、,则可以从采样后的信号无失真地重建恢复原始信号。考虑到模数转换器件的非线性失真、量化噪声及接收机噪声等因素的影响,采样频率一般取253倍的最高频率成分。 要把一个采样信号准确地数字化,就需要将采样所得的瞬时模拟信号保持一段时间,这就是保持过程。保持是将时间离散、数值连续的信号变成时间连续、数值离散信号,虽然逻辑上保持器是一个独立的单元,但是,实际上保持器总是与采样器做在一起,两者合称采样保持器。图给出了A/D采样电路的采样时序图,采样输出的信号在保持期间即可进行量化和编码。 量化是将时间连续、数值离散的信号转换成时间离散、幅度离散的信号;编码是将量化后的信号编码成二进制代码输出。到此,也就完成

4、了A/D转换,这些过程通常是合并进行的。例如,采样和保持就经常利用一个电路连续完成,量化和编码也是在保持过程中实现的。四、 通用串行总线(一)、 USB总线的分析 USB标准采用NRZI方式(翻转不归零制)对数据进行编码。翻转不归零制(non-return to zero,inverted),电平保持时传送逻辑1,电平翻转时传送逻辑0。USB 接头提供一组5伏特的电压,可作为相连接USB设备的电源。实际上,设备接收到的电源可能会低于5V,只略高于4V。USB规范要求在任何情形下,电压均不能超过5.25V;在最坏情形下(经由USB供电HUB所连接的LOW POWER设备)电压均不能低于4.375

5、V,一般情形电压会接近5V。 (二)、PCI总线 PCI是由Intel公司1991年推出的一种局部总线。从结构上看,PCI是在CPU和原来的系统总线之间插入的一级总线,具体由一个桥接电路实现对这一层的管理,并实现上下之间的接口以协调数据的传送。管理器提供了信号缓冲,使之能支持10种外设,并能在高时钟频率下保持高性能,它为显卡,声卡,网卡,MODEM等设备提供了连接接口,它的工作频率为33MHz/66MHz。五、 语音信号杂音滤除的具体实现(一)、语音信号的采集 利用PC 机上的声卡和WINDOWS 操作系统可以进行数字信号的采集。将话筒输入计算机的语音输入插口上,启动录音机。按下录音按钮,接着

6、对话筒说话“语音信号处理”,说完后停止录音,屏幕左侧将显示所录声音的长度。点击放音按钮,可以实现所录音的重现。以文件名“speech”保存入X: MATLAB work 中。可以看到,文件存储器的后缀默认为*.wav ,这是WINDOWS 操作系统规定的声音文件存的标准。(二)、语音信号的时频分析 利用MATLAB中的“wavread”命令来读入(采集)语音信号,将它赋值给某一向量。再对其进行采样,记住采样频率和采样点数。其格式是:y=wavread(file)功能是读取file所规定的wav文件,返回采样值放在向量y中。 接下来,对语音信号OriSound.wav进行采样。其程序是y,fs,

7、nbits=wavered (OriSound); 把语音信号加载入Matlab 仿真软件平台中。 然后,画出语音信号的时域波形,再对语音信号进行频谱分析。MATLAB提供了快速傅里叶变换算法FFT计算DFT的函数fft,其调用格式是Xk=fft(xn,N)。参数xn为被变换的时域序列向量,N是DFT变换区间长度,当N大于xn的长度时,fft函数自动在xn后面补零。,当N小于xn的长度时,fft函数计算xn的前N个元素,忽略其后面的元素。在本次设计中,我们利用fft对语音信号进行快速傅里叶变换,就可以得到信号的频谱特性。其程序如下:fs=22050; y,fs,nbits=wavread (O

8、riSound.wav);sound(y,fs,nbits); %回放语音信号N= length (y) ; %求出语音信号的长度Y=fft(y,N); %傅里叶变换subplot(2,1,1);plot(y);title(原始信号波形);subplot(2,1,2);plot(abs(Y);title(原始信号频谱)程序结果如下图:图1 原始信号波形及频谱(三)、语音信号加噪与频谱分析MATLAB中产生高斯白噪声非常方便,有两个产生高斯白噪声的两个函数 。我们可以直接应用两个函数:一个是WGN,另一个是AWGN。WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声。也可直接用r

9、andn函数产生高斯分布序列。在本次课程设计中,用MATLAB中的随机函数(rand或randn)产生噪声加入到语音信号中,模仿语音信号被污染,并对其频谱分析。Randn函数有两种基本调用格式:Randn(n)和Randn(m,n),前者产生nn服从标准高斯分布的随机数矩阵,后者产生mn的随机数矩阵。在这里,用Randn(m,n)函数。语音信号添加噪声及其频谱分析的主要程序如下:y,fs,nbits=wavread (OriSound.wav);N = length (y) ; %求出语音信号的长度Noise=0.01*randn(n,2); %随机函数产生噪声Si=y+Noise; %语音信

10、号加入噪声 sound(Si);subplot(2,1,1);plot(Si);title(加噪语音信号的时域波形);S=fft(Si); %傅里叶变换subplot(2,1,2);plot(abs(S); title(加噪语音信号的频域波形);程序结果如下图:图2 加噪后的波形及频谱分析六、 数字滤波器设计 滤波器设计方法有间接法和直接法,间接法是借助于模拟滤波器的设计方法进行的。其设计步骤是:先设计过渡模拟滤波器得到系统函数H(s),然后将H(s)按某种方法转换成数字滤波器的系统函数H(z)。间接法,常用的方法有窗函数法、频率采样等。具体设计步骤如下: (1)确定所需类型数字滤波器的技术指

11、标。 (2)将所需类型数字滤波器的边界频率转换成相应的模拟滤波器的边界频率,转换公式为=2/T tan(0.5) (3)将相应类型的模拟滤波器技术指标转换成模拟低通滤波器技术指标。 (4)设计模拟低通滤波器。 (5)通过频率变换将模拟低通转换成相应类型的过渡模拟滤波器。 (6)采用双线性变换法将相应类型的过渡模拟滤波器转换成所需类型的数字滤波器。 脉冲响应不变法的主要缺点是会产生频谱混叠现象,使数字滤波器的频响偏离模拟滤波器的频响特性。原则是在保证阻带衰减满足要求的情况下,尽量选择主瓣的窗函数。 (1)构造希望逼近的频率响应函数。 (2)计算h(n)。 (3)加窗得到设计结果。 接下来,我们根

12、据语音信号的特点给出有关滤波器的技术指标:低通滤波器的性能指标:fp=1000Hz,fc=1200Hz,As=100db ,Ap=1dB高通滤波器的性能指标:fp=3500Hz,fc=4000Hz,As=100dB,Ap=1dB;带通滤波器的性能指标:fp1=1200Hz,fp2=3000hZ,fc1=1000Hz,fc2=3200Hz,As=100dB,Ap=1dB数字滤波器的主要程序:1、低通滤波器: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);

13、%求低通滤波器的阶数和截止频率b11,a11=butter(n11,wn11,s); %求S域的频率响应的参数 num11,den11=bilinear(b11,a11,0.5); %双线性变换实现S域到Z域的变换 h,w=freqz(num11,den11); %根据参数求出频率响应plot(w*8000*0.5/pi,abs(h);legend(用butter设计);图3 低通滤波器2、带通wp1=tan(pi*Fp1/Ft); %带通到低通滤波器的转换wp2=tan(pi*Fp2/Ft);ws1=tan(pi*Fs1/Ft);ws2=tan(pi*Fs2/Ft);w=wp1*wp2/ws

14、2;bw=wp2-wp1;wp=1;ws=(wp1*wp2-w.2)/(bw*w);n12,wn12=buttord(wp,ws,1,50,s); %求低通滤波器阶数和截止频率b12,a12=butter(n12,wn12,s); %求S域的频率响应参数num2,den2=lp2bp(b12,a12,sqrt(wp1*wp2),bw);%将S域低通参数转为带通的num12,den12=bilinear(num2,den2,0.5);%双线性变换实现S域到Z域的转换h,w=freqz(num12,den12); %根据参数求出频率响应plot(w*8000*0.5/pi,abs(h);axis(0 4000 0 1.5);legend(用butter设计);图4 带通滤波器七、 用滤波器对加噪语音信号进行滤波(一)、滤波 用自己设计的各滤波器分别对加噪的语音信号进行滤波,在Matlab中,FIR滤波器利用函数fftfilt对信号进行滤波,IIR滤波器利用函数filter对信号进行滤波。 函数fftfilt用的是重叠相加法实现线性卷积的计算。调用格式为:y=fftfilter(h,x,M)。其中,h是系统单位冲击响应向量;x是输入序列向量;y是系统的输出序列

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号