figure(2)
freqz(x1) %绘制原始语音信号的频率响应图 title('频率响应图') figure(3)
subplot(2,1,1); %创建两行一列绘图区间的第1个绘图区间 plot(abs(y1(1:512))) %做原始语音信号的FFT频谱图 title('原始语音信号FFT频谱') subplot(2,1,2);
plot(f,abs(y1(1:512))); ?s是绝对值,plot是直角坐标下线性刻度曲线
title('原始语音信号频谱') xlabel('Hz'); ylabel('幅值'); 时域波形和频谱:
图1 原始语音信号
图2 语音信号频率响应图
图3 原始语音信号FFT与信号频谱
2. 给原始的语音信号加上一个高频余弦噪声,频率为5500hz。对加噪后的语音进行分析,并画出其信号时域和频谱图。 程序: fs=22050;
x1=wavread('C:\\Documents and Settings\\Administrator\\桌面\\声音文
件.wav');
%读取语音信号的数据,赋给变量x1 f=fs*(0:511)/1024; %将0到511,步长为1的序列的值与fs相乘
并除以1024的值,赋值给f
t=0:1/fs:(length(x1)-1)/fs; %将0到x1的长度减1后的值除以fs的值,
Au=0.03; %d=[Au*sin(2*pi*5500*t)]'; %x2=x1+d; %sound(x2,22050); %y1=fft(x1,1024); %y2=fft(x2,1024); %figure(1); %plot(t,x2); %性图)
title('加噪后的信号');
xlabel('time n'); %xylabel('fuzhi n'); %yfigure(2) %subplot(2,1,1); % plot(f,abs(y1(1:512))); %title('原始语音信号频谱');
xlabel('Hz'); %xylabel('fuzhi'); % ysubplot(2,1,2); %plot(f,abs(y2(1:512))); %title('加噪后的信号频谱');
xlabel('Hz'); %xylabel('fuzhi'); % y且步长为1/fs的值,的序列的值,赋予t
噪声幅值
所加的噪声是正弦信号
将正弦信号噪声加在语音信号上 播放语音信号
对信号y1做1024点FFT变换 对信号y2做1024点FFT变换 创建图形窗1
做加噪后的信号时域图形(绘出t对x2的线轴的名字是“time n” 轴的名字是“fuzhi n” 创建图形窗2
创建两行一列绘图区间的第1个绘图区间 做原始语音信号的频谱图 轴的名字是“time n” 轴的名字是“fuzhi”
创建两行一列绘图区间的第2个绘图区间 做加噪后的语音信号的频谱图(abs是绝对
值,plot是直角坐标下线性刻度曲线)
轴的名字是“time n” 轴的名字是“fuzhi”
时域波形和频谱:
图4 加噪后的信号时域图
图5 原始信号与加噪后信号频谱对比
与原始信号对比,区别:
先原始信号没加噪音之前0到2000有幅值,在4000到6000之间没有幅值,但是在加了噪音之后4000到6000之间出现最大幅值12,超出正常值。如图5原