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

2018-10-22 15:25

语音信号的降采样处理和插值重构

1.引言

本文是根据网上找的“信号的分析与处理综合实验”的内容,通过学习和MATLAB实践后的学习总结。实验内容为真实语音信号的采样重构,具体要求如下:录制一段自己的语音信号,并对录制的信号进行采样;画出采样前后语音信号的时域波形和频谱图;对降采样后的信号进行插值重构,滤波,恢复原信号。 2.降采样原理

对采样数据每隔 M-1个点( M为整数)取一个,结果使得在时间间隔 里的采样数据被压缩 M倍,如图所示。设数据采样率为fs,奈奎斯特频率为fs/2,则降采样后数据采样率为fs/M,其奈奎斯特频率为fs/2M。采样率降低后,它相对于原始输入信号的频带就成了欠采样,这样可能产生混迭,为避免混迭,输入的采样数据必须先进行反混叠滤波(这个反混叠滤波不是系统的模拟反混叠滤波器,是针对采样数据的数字化反混叠滤波器),使它所含最多频率分量低于降采样后的奈奎斯特频率fs/2M。反混叠滤波和降采样合称为抽取器。 抽取器在时域里的输入-输出关系表示为:

?y?m??W?mM????k???h?k?x?mM?k?W?n???h?k?x?n?k?k???

x(n y(n T t T t

3.语音信号的降采样处理

H0.wav文件是用xp系统自带的录音机功能用22KHz采样率采集的男声“零”的发音,长度为两秒。调用Matlab的wavread函数读取波形文件,比较不同降采样率后的声音,从波形图、频谱和听觉上对比。用sound函数播放时,采样声音要与采样频率对应才能不失真。

1

3.1 Matlab中波形读取与降采样函数

y=wavread(file),%读取file所规定的wav文件,返回采样值放在向量y中。 [y,fs,nbits]=wavread(file),%采样值放在向量y中,fs表示采样频率(Hz),nbits表示采样位数。

y=x((1:N:length(x))); %对原始信号每隔N个点取一位,即采样率变为原来的1/N y=resample(yn,L,M); %采样率变为原来的L/M倍 y=downsample(yn,N); %%采样率变为原来的1/N倍 3.2语音信号读取与降采样处理

原始语音信号的最高频率分量在4kHz左右,采样率为22kHz,故不用加抗混叠滤波器。通过观察原始信号的频谱发现直流分量特别大,影响了其他分量的观察,故滤除直流分量后作为参考信号。对比如图3-1:

图3-1信号波形图和频谱图

改变采样率为原来的1/2倍,1/10倍,1/100倍,分别得到降采样后的信号波形和频谱图,如图3-2。可以发现,降低采样率后,频谱出现了混叠和泄漏,尤其是到1/10倍采样后,低频分量丢失,混叠和泄漏严重,因此在降采样为1/M倍时,若信号最高频率超过fs/2M,则需要加抗混叠滤波器。通过对比1/2倍和原始信号频谱可以发现,虽然1/2倍采样信号的采样频谱为11kHz,接近原始语音信号的最高频率分量4kHz的两倍,满足Nyquist定理,但也有明显的频谱混叠和泄漏。所以采样率尽量取信号最高频率的4~10倍,这样得到的频谱更准确。

用Matlab的sound函数播放声音,听觉上1/2倍采样信号和原始信号无太大差别,有意思的是原始信号有沙沙的噪音,而1/2倍采样信号却没有了。1/10倍,1/100倍降采样信号失

2

真就很严重了,已经听不清零了。需要注意的是调用sound函数时,格式为sound(y,fs,nbits),对于1/M倍采样信号,fs应改为fs/M,这样才能等效还原语音。还有进行1/10倍,1/100倍降采样前,应该对原始信号进行低通滤波,以满足fs/2M大于信号最高频率4kHz。

图3-2:1/2倍、1/10倍、1/100倍降采样信号波形和频谱图

4. 语音信号重构

降采样后,信号的采样率和采样点数同时变化。如要恢复原始信号,信号长度和采样频

率须要变为原来同样大小。因此,必须对降采样信号插值重构,即通过升采样恢复信号长度和采样频谱。

4.1升采样对信号音质影响

对原始语音信号抗混叠滤波后进行1/N降采样后再进行N倍升采样,波形和频谱如图,

代码见附录2。调用sound函数感受插值后的声音,发现N越大,恢复后的声音尖锐噪声越

3

明显。本文对N=2,5,10进行了测试,随着N增大,高频声音越来越大。

图4-1:N=2,5时升采样信号波形和频谱图

4.2反镜像滤波作用

升采样恢复的信号存在高频噪音,采用反镜像滤波器滤波后,高频噪音得到有效抑制。

反镜像滤波器也是低通滤波器,本文采用的是用firls函数生成的fir滤波器,具体代码见附录2。对比原始语音和N=2和N=5的恢复信号,发现N=2时能有效恢复原始信号,而N=5时恢复效果不理想。通过分析发现,原始语音信号的最高频率成分是4kHz,而N=5降采样时的截止频率fs/(2*N)=2.2kHz,通过反混叠滤波器已经滤除了原始信号一些有用的频率成分,故恢复的效果不好。

4

图4-2:反镜像滤波后信号波形和频谱

5.总结

通过本实验的练习,加深了镜像频谱的理解,心得如下:

正常以fs采样的信号,比如采了N个点,则在频谱的第N点处表示频率fs.所以增加采样点数只是提高了频率的分辨率,而没有拓宽频谱的观察范围。采用升采样后,比如以L倍插值,相当于拓宽频谱的观察范围到L*fs所以能看到原频谱以fs为周期拓展后的结果,也就是镜像频谱。

FFT运算只是根据点数来运算,和采样频率并没有关系。原始的采样信号点数不管多少,是信号真实的反应。而采用升采样插值后,采样点所对应的信号其实变成了新的信号。如果插的是零点,新的信号的频谱相当于原始信号频谱观察范围拓宽L倍。新频谱的最大点数N对应新的采样频率L*fs。

升采样的反镜像滤波在时域上相当于平滑滤波为原来的1/L,说的是信号的幅值。反镜像滤波后,内插的零点都有了值,相当于原来的模拟信号用L倍的采样频率进行采样,故单位时间的采样点数增加了,但信号的幅值降为原来的1/L,故要乘以系数L才和原来相同。滤波后的频谱也满足实际的采样情况。

本实验的不足之处有以下几点:

(1) 滤波器的设计无详细考虑,滤波器的类型和阶数都影响最后结果; (2) 升采样和降采样的算法没有深入研究

5


多采样应用——语音信号的降采样与重构.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:法学界权威人物

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: