• 大小: 132KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-04
  • 语言: Matlab
  • 标签: 语音  信号  

资源简介

语音信号处理 对加噪的语言信号进行频谱分析,找出噪声所在频段,设计滤波器滤除噪声。具体步骤如下: 1、 每位同学用Windows系统录下一段声音,用Matlab将其读出,并显示其时域波形 2、 对所录声音做傅立叶分析,观看其频谱 3、 变换朗读声音的大小,再次用windows系统录下一段音,做傅立叶分析,观看其频谱有无变化 4、 再次录音,并加上噪声,分析频谱,并设计合理的滤波器将噪声去掉,并将去噪前后的语音信号回放,观察噪声效果 本题目要求:(1) 熟悉有关频谱分析的有关指示,对语音信号做频谱分析 (2) 熟悉有关滤波器设计理论知识,选择合适的滤波器技术指标和类型,设计滤波器,得到滤波器参数 (3) 实现信号频谱分析和滤波等有关Matlab函数 (4) 写好总结报告,写出基本原理,有关程序,得到的图表,结果分析,总结。

资源截图

代码片段和文件信息

% ch5example9prog1.m
[wavfs]=wavread(‘GDGvoice8000.wav‘);
t_end=1/fs *length(wav);  % 计算声音的时间长度
Fs=50000;                 % 仿真系统采样率
t=1/Fs:1/Fs:t_end;        % 仿真系统采样时间点
% 设计300Hz~3400Hz的带通预滤波器H(z) 
[fenzifenmu]=butter(3[300 3400]/(fs/2));
% 对音频信号进行预滤波 
wav=filter(fenzifenmuwav);
% 利用插值函数将音频信号的采样率提升为Fs=50KHz 
wav=interp1([1/fs:1/fs:t_end]wavt‘spline‘);
wav_hilbert=imag(hilbert(wav)); % 音频信号的希尔伯特变换
fc=10000;                       % 载波频率Hz
SSB_OUT=wav.*cos(2*pi*fc*t)-wav_hilbert.*sin(2*pi*fc*t); % 单边带调制 
figure(1);                      % 观察调制前后频谱 
subplot(221); plot(wav(53550:53750));     axis([0 200 -0.3 0.3]);
%subplot(222); psd(wav 10000 Fs);        axis([0 25000 -20 10]);
subplot(223); plot(SSB_OUT(53550:53750)); axis([0 200 -0.3 0.3]);
%subplot(224); psd(SSB_OUT 10000 Fs);    axis([0 25000 -20 10]);
wavwrite(0.5*SSB_OUTFs‘SSB_OUT.wav‘);      % 将SSB调制输出存盘备用 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1013  2009-04-21 22:29  MATLAB基于语音处理\ch5example9prog1.m

     文件        668  2009-04-21 22:47  MATLAB基于语音处理\ch5example9prog2.m

     文件        581  2009-04-21 22:49  MATLAB基于语音处理\ch5example9prog3.m

     文件     185544  2007-07-03 08:44  MATLAB基于语音处理\GDGvoice8000.wav

     目录          0  2009-04-22 17:47  MATLAB基于语音处理

----------- ---------  ---------- -----  ----

               187806                    5


评论

共有 条评论