5分析此段程序可知,此程序是先对原始语音信号做时域波形分析和频谱分析,然后再对加噪的语音信号做时域波形分析和频谱分析。首先通过MATLAB中调用和回放语音信号命令来实现对原始语音信号的调用和回放,程序如下:[y,fs,bits]=wavread('C:\Users\Administrator\Desktop\数字信号处理课程设计\1.wav');sound(y,fs)由于在MATLAB中,如要实现两个信号的相加减,那么两个信号的长度和维度都要一样才能相加减。程序中:n=length(y)用于计算信号的长度和选取变换的点数。然后用傅里叶变换到频域:y_p=fft(y,n);通过函数f=fs*(0:n/2-1)/n;计算出对应点的频率,然后绘制出原始语音信号的时域波形和频谱图。图形如下:(图4—2)图4—2原始语音信号采样后时域波形和频谱图上段程序中,函数noise是频率为3000Hz的正弦波信号噪音,语句y_z=y+noise实现了两个信号的相加,然后绘制加噪后的语音信号时域波形和频谱图并回放加噪后的语音信号。加噪后的时域波形和频谱图如下:(图4—3)图4-3加噪语音信号时域波形和频谱图如上所示,通过对加噪前和加噪后语音信号的图像的对比和对语音信号回放的人耳感知可以知道,加入正弦波信号后频谱图和时域波形并没有什么明显的变化,而人耳听到的声音也几乎没有什么变化。(2)随机噪音信号加入原始语音信号matlab函数randn:产生正态分布的随机数或矩阵的函数产生均值为0,方差σ^2=1,标准差σ=1的正态分布的随机数或矩阵的函数。用法:Y=randn(n)返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。Y=randn(m,n)或Y=randn([mn])返回一个m*n的随机项矩阵。Y=randn(m,n,p,...)或Y=randn([mnp...])产生随机数组。