语音信号的采集和重构MATLAB,基于matlab的语音信号采集与处理

41528d3028836879cd698677c3999917.gif基于matlab的语音信号采集与处理

基于MATLAB的语音信号采集与处理 1.理论原理 利用MATLAB对语音信号进行分析和处理,采集语音信号后,利用 MATLAB软件平台进行频谱分析;并对所采集的语音信号加入干扰噪声,对 加入噪声的信号进行频谱分析,设计合适的滤波器滤除噪声,恢复原信号。 语音信号的“ 短时谱”对于非平稳信号, 它是非周期的, 频谱随时间连续 变化, 因此由傅里叶变换得到的频谱无法获知其在各个时刻的频谱特性。如 果利用加窗的方法从语音流中取出其中一个短断, 再进行傅里叶变换, 就可 以得到该语音的短时谱。 2. 具体流程 (1). 语音信号的采集及分析 源代码: fs=22050; x1=wavread( F:\Documents and Settings\Administrator\桌面\333.wav ); sound(x1,22050); y1=fft(x1,1024); f=fs*(0:511)/1024; figure(1) plot(x1) title( 原始语音信号 ); xlabel( 时间 ); ylabel( 幅值 ); figure(2) freqz(x1) title( 频率响应图 ) figure(3) subplot(2,1,1); plot(abs(y1(1:512))) title( 原始语音信号 FFT 频谱 ) subplot(2,1,2); plot(f,abs(y1(1:512))); title( 原始语音信号频谱 ) xlabel( Hz ); ylabel( 幅值 );原始语音信号波形: 0 2 4 6 8 10 12 14 16 x 10 4 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 信 信 信 信 信 信 信 信 信 信 语音信号频率响应图: 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -15 -10 -5 0 5 x 10 4 Normalized Frequency (   rad/sample) Phase (degrees) 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -50 0 50 100 Normalized Frequency (   rad/sample) Magnitude (dB) 信 信 信 信 信原始语音信号 FFT 及信号频谱: 0 100 200 300 400 500 600 0 5 10 15 信 信 信 信 信 信 FFT信 信 0 2000 4000 6000 8000 10000 12000 0 5 10 15 信 信 信 信 信 信 信 信 Hz 信 信 (2). 给原始信号加上一个高频噪声,5500Hz 源代码: fs=22050; x1=wavread( F:\Documents and Settings\Administrator\桌面\333.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 的值, 且步长为 1/fs 的值,的序列的值,赋予 t Au=0.5; %噪声幅值 d=Au*sin(2*pi*5500*t) ; %所加的噪声是正弦信号 x2=x1+d; %将正弦信号噪声加在语音信号上 sound(x2,22050); %播放语音信号 y1=fft(x1,1024); %对信号 y1做 1024点 FFT 变换 y2=fft(x2,1024); %对信号 y2做 1024点 FFT 变换 figure(1); %创建图形窗 1 plot(t,x2); %做加噪后的信号时域图形(绘出 t 对 x2的 线性图)title( 加噪后的信号 ); xlabel( 时间 ); %x轴的名字是“时间” ylabel( 幅值 ); %y轴的名字是“幅值” figure(2) %创建图形窗 2 subplot(2,1,1); % 创建两行一列绘图区间的第 1个绘图区间 plot(f,abs(y1(1:512))); %做原始语音信号的频谱图 title( 原始语音信号频谱 ); xlabel( Hz ); %x 轴的名字是“Hz” ylabel( 幅值 ); % y轴的名字是“幅值” subplot(2,1,2); %创建两行一列绘图区间的第 2个绘图区间 plot(f,abs(y2(1:512))); %做加噪后的语音信号的频谱图(abs 是绝对 值,plot 是直角坐标下线性刻度曲线) title( 加噪后的信号频谱 ); xlabel( Hz ); % x轴的名字是“Hz” ylabel( 幅值 ); % y轴的名字是“幅值” 加噪后的信号波形: 0 1 2 3 4 5 6 7 8 -1.5 -1 -0.5 0 0.5 1 1.5 信 信 信 信 信 信 信 信 信 信原始语音信号和加噪后的信号频谱: 0 2000 4000 6000 8000 10000 12000 0 5 10 15 信 信 信 信 信 信 信 信 Hz 信 信 0 2000 4000 6000 8000 10000 12000 0 50 100 150 200 信 信 信 信 信 信 信 信 Hz 信 信 (3)设计一个滤波器,滤除高频噪声 用双线性变换法设计巴特沃思低通滤波器 在加噪声的代码基础上续写代码: wp=0.25*pi; %通带截止频率 ws=0.3*pi; %阻带截止频率 Rp=1; %通带最大衰减(db) Rs=15; %阻带最大衰减(db) Fs=22050;

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值