多采样应用——语音信号的降采样与重构

上传人:工**** 文档编号:476224561 上传时间:2024-02-09 格式:DOC 页数:7 大小:404.50KB
返回 下载 相关 举报
多采样应用——语音信号的降采样与重构_第1页
第1页 / 共7页
多采样应用——语音信号的降采样与重构_第2页
第2页 / 共7页
多采样应用——语音信号的降采样与重构_第3页
第3页 / 共7页
多采样应用——语音信号的降采样与重构_第4页
第4页 / 共7页
多采样应用——语音信号的降采样与重构_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《多采样应用——语音信号的降采样与重构》由会员分享,可在线阅读,更多相关《多采样应用——语音信号的降采样与重构(7页珍藏版)》请在金锄头文库上搜索。

1、语音信号的降采样处理和插值重构1.引言本文是根据网上找的“信号的分析与处理综合实验”的内容,通过学习和MATLAB实践后的学习总结。实验内容为真实语音信号的采样重构,具体要求如下:录制一段自己的语音信号,并对录制的信号进行采样;画出采样前后语音信号的时域波形和频谱图;对降采样后的信号进行插值重构,滤波,恢复原信号2. 降采样原理对采样数据每隔M-1个点(M为整数)取一个,结果使得在时间间隔里的采样数据被压缩M倍,如图所示。设数据采样率为fs,奈奎斯特频率为fs/2,则降采样后数据采样率为fs/M,其奈奎斯特频率为fs/2M。采样率降低后,它相对于原始输入信号的频带就成了欠采样,这样可能产生混迭

2、,为避免混迭,输入的采样数据必须先进行反混叠滤波(这个反混叠滤波不是系统的模拟反混叠滤波器,是针对采样数据的数字化反混叠滤波器),使它所含最多频率分量低于降采样后的奈奎斯特频率fs/2M。反混叠滤波和降采样合称为抽取器。抽取器在时域里的输入-输出关系表示为:y(m)=W(mM)=h(k)x(mM一k)k-,W(n)=h(k)x(n一k)k-,3. 语音信号的降采样处理HO.wav文件是用xp系统自带的录音机功能用22KHz采样率采集的男声“零”的发音,长度为两秒。调用Matlab的wavread函数读取波形文件,比较不同降采样率后的声音,从波形图、频谱和听觉上对比。用sound函数播放时,采样

3、声音要与采样频率对应才能不失真。3.1Matlab中波形读取与降采样函数y=wavread(file),%读取file所规定的wav文件,返回采样值放在向量y中。y,fs,nbits=wavread(file),%采样值放在向量y中,fs表示采样频率(Hz),nbits表示采样位数。y=x(l:N:length(x);%对原始信号每隔N个点取一位,即采样率变为原来的1/Ny=resample(yn,L,M);%采样率变为原来的L/M倍y=downsample(yn,N);%采样率变为原来的1/N倍3.2语音信号读取与降采样处理原始语音信号的最高频率分量在4kHz左右,采样率为22kHz,故不用

4、加抗混叠滤波器。通过观察原始信号的频谱发现直流分量特别大,影响了其他分量的观察,故滤除直流分量后作为参考信号。对比如图3-1:0-Q20-0.2-Q-1111ii1.-_i-_一rj:11024G采样点数叮谑徐直流分童彼形!11比一.J.fJi110.4frequenceHz第岸原貽悟号频谱100I.!IIIIIIIIIIIii0.20-0.20.-采样点数5D*:血I-2-1012freqLieneeHz噸亦图3-1信号波形图和频谱图改变采样率为原来的1/2倍,1/10倍,1/100倍,分别得到降采样后的信号波形和频谱图,如图3-2。可以发现,降低采样率后,频谱出现了混叠和泄漏,尤其是到1/

5、10倍采样后,低频分量丢失,混叠和泄漏严重,因此在降采样为1/M倍时,若信号最高频率超过fs/2M,则需要加抗混叠滤波器。通过对比1/2倍和原始信号频谱可以发现,虽然1/2倍采样信号的采样频谱为11kHz,接近原始语音信号的最高频率分量4kHz的两倍,满足Nyquist定理,但也有明显的频谱混叠和泄漏。所以采样率尽量取信号最高频率的410倍,这样得到的频谱更准确。用Matlab的sound函数播放声音,听觉上1/2倍采样信号和原始信号无太大差别,有意思的是原始信号有沙沙的噪音,而1/2倍采样信号却没有了。1/10倍,1/100倍降采样信号失真就很严重了,已经听不清零了。需要注意的是调用soun

6、d函数时,格式为sound(y,fs,nbits),对于1/M倍采样信号,fs应改为fs/M,这样才能等效还原语音。还有进行1/10倍,1/100倍降采样前,应该对原始信号进行低通滤波,以满足fs/2M大于信号最高频率4kHz。4. 语音信号重构降采样后,信号的采样率和采样点数同时变化。如要恢复原始信号,信号长度和采样频率须要变为原来同样大小。因此,必须对降采样信号插值重构,即通过升采样恢复信号长度和采样频谱。4.1升采样对信号音质影响对原始语音信号抗混叠滤波后进行1/N降采样后再进行N倍升采样,波形和频谱如图,代码见附录2。调用sound函数感受插值后的声音,发现N越大,恢复后的声音尖锐噪声

7、越明显。本文对N=2,5,10进行了测试,随着N增大,高频声音越来越大。4.2反镜像滤波作用升采样恢复的信号存在高频噪音,采用反镜像滤波器滤波后,高频噪音得到有效抑制。反镜像滤波器也是低通滤波器,本文采用的是用firls函数生成的fir滤波器,具体代码见附录2。对比原始语音和N=2和N=5的恢复信号,发现N=2时能有效恢复原始信号,而N=5时恢复效果不理想。通过分析发现,原始语音信号的最高频率成分是4kHz,而N=5降采样时的截止频率fs/(2*N)=2.2kHz,通过反混叠滤波器已经滤除了原始信号一些有用的频率成分,故恢复的效果不好。原箱信号波形I1!I1iiiiiiI!Ii1iii11.1

8、1陳始信号频谱Ye-10.600611-丄!iii1_l_丄lLfrequenceHz帖;信导频谱.6-0.600.6frequenceHzX-o4图4-2:反镜像滤波后信号波形和频谱5总结通过本实验的练习,加深了镜像频谱的理解,心得如下:正常以fs采样的信号,比如采了N个点,则在频谱的第N点处表示频率fs.所以增加采样点数只是提高了频率的分辨率,而没有拓宽频谱的观察范围。采用升采样后,比如以L倍插值,相当于拓宽频谱的观察范围到L*fs所以能看到原频谱以fs为周期拓展后的结果,也就是镜像频谱。FFT运算只是根据点数来运算,和采样频率并没有关系。原始的采样信号点数不管多少,是信号真实的反应。而采

9、用升采样插值后,采样点所对应的信号其实变成了新的信号。如果插的是零点,新的信号的频谱相当于原始信号频谱观察范围拓宽L倍。新频谱的最大点数N对应新的采样频率L*fs。升采样的反镜像滤波在时域上相当于平滑滤波为原来的1/L,说的是信号的幅值。反镜像滤波后,内插的零点都有了值,相当于原来的模拟信号用L倍的采样频率进行采样,故单位时间的采样点数增加了,但信号的幅值降为原来的1/L,故要乘以系数L才和原来相同。滤波后的频谱也满足实际的采样情况。本实验的不足之处有以下几点:(1) 滤波器的设计无详细考虑,滤波器的类型和阶数都影响最后结果;(2) 升采样和降采样的算法没有深入研究附录1:语音降采样和频谱分析

10、Matlab程序clearally,fs,nbits=wavread(H0.wav);N=2;y=y-mean(y);%滤除直流分量y1=y(1:N:length(y);figure,subplot(2,2,1);plot(y);title(原始信号波形);xlabel(采样点数);gridon;subplot(2,2,2);num=length(y);plot(-num/2:num/2-1)/num*fs,abs(fftshift(fft(y);title(原始信号频谱);xlabel(frequenceHz);gridon;subplot(2,2,3);plot(y1);title(1/2

11、采样信号波形);xlabel(采样点数);gridon;subplot(2,2,4);num=length(y1);plot(-num/2:num/2-1)/num*fs,abs(fftshift(fft(y1);title(新信号频谱);xlabel(frequenceHz);gridon;附录2:原始信号降采样后用升采样用重构程序clear;closeall;y,fs,nbits=wavread(H0.wav);y=y-mean(y);%滤除直流分量%N=5的抗混叠滤波器也是反镜像滤波器%fs=22.05kHz,fs/(2*5)=2.2kHz,因此相对截止频率为0.1L=100;%滤波器阶

12、数,即点数B5=firls(L,00.090.111,1100);%N=10的抗混叠滤波器也是反镜像滤波器%fs=22.05kHz,fs/(2*10)=1.1kHz,因此相对截止频率为0.05L=100;%滤波器阶数,即点数B10=firls(L,00.0490.0511,1100);%N=2的反镜像滤波器%fs=22.05kHz,fs/(2*2)=5.5kHz,因此相对截止频率为0.25L=100;%滤波器阶数,即点数B2=firls(L,00.240.261,1100);%滤波后结果y5=filter(B5,1,y);y10=filter(B10,1,y);%降采样输出yy2=downsa

13、mple(y,2);%1/2倍降采样yy5=downsample(y5,5);%1/5倍降采样yy10=downsample(y10,10);%升采样恢复x2=zeros(1,2*length(yy2);x2(1:2:length(y)=yy2;x5=zeros(1,5*length(yy5);x5(1:5:length(y)=yy5;x10=zeros(1,10*length(yy10);x10(1:10:length(y)=yy10;%反镜像滤波输出xx2=filter(B2,1,x2);xx5=filter(B5,1,x5);xx10=filter(B10,1,x10);%作图figur

14、e,num=length(y);subplot(3,2,1);plot(y);title(原始信号波形);xlabel(采样点数);gridon;subplot(3,2,2);plot(-num/2:num/2-1)/num*fs,abs(fftshift(fft(y);title(原始信号频谱);xlabel(frequenceHz);gridon;subplot(3,2,3);plot(x2);title(N=2信号波形);xlabel(采样点数);gridon;subplot(3,2,4);plot(-num/2:num/2-1)/num*fs,abs(fftshift(fft(x2);title(N=2信号频谱);xlabel(frequenceHz);gridon;subplot(3,2,5);plot(x5);title(N=5信号波形);xlabel(采样点数);gridon;subplot(3,2,6);plot(-num/2:num/2-1)/num*fs,abs(fftshift(fft(x5);title(N=5信号频谱);xlabel(frequenceHz);gridon;#

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

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