基于MATLAB采集语音信号分析与处理 5

要求:1、语音信号采集录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业... 要求:
1、语音信号采集
录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。
2、语音信号分析
在MATLAB软件平台下绘出采样后的语音信号的频谱图。
3、含噪语音信号合成
在MATLAB软件平台下,给原始的语音信号叠加上噪声后,绘出噪声的信号频谱图.
4.设计一种合适的滤波器,去除噪声,得到原始的语音信号.
有哪位可以为我提供MATLAB源程序,多多感谢了!!!
展开
 我来答
日向淳正
2009-03-11 · TA获得超过2811个赞
知道大有可为答主
回答量:2770
采纳率:0%
帮助的人:1432万
展开全部
语音信号的采集和频谱分析:
[y,fs,bits]=wavread('voice'); %读取音频信息(双声道,16位,频率44100Hz)
sound(y,fs,bits); %回放该音频
Y=fft(y,4096); %进行傅立叶变换
subplot(211);
plot(y);
title('声音信号的波形');
subplot(212)
plot(abs(Y));
title('声音信号的频谱');

窗函数设计低通滤波器:
fp=1000;
fc=1200;
as=100;
ap=1;
fs=22000;
wp=2*fp/fs;
wc=2*fc/fs;
N=ceil((as-7.95)/(14.36*(wc-wp)/2))+1;
beta=0.1102*(as-8.7);
window=Kaiser(N+1,beta);
b=fir1(N,wc,window);
freqz(b,1,512,fs);
结果:

滤波:
[y,fs,bits]=wavread('voice');
d=filter(b,a,y);
D=fft(d);
subplot(211)
plot(d);
title('滤波后的声音波形')
subplot(212)
plot(abs(D))
title('滤波后的声音频谱')

回放:
sound(d,fs,bits)
与滤波之前相比,噪音明显降低了许多。
上海上恒
2024-02-18 广告
数字滤波器可以按所处理信号的维数分为一维、二维或多维数字滤波器。一维数字滤波器处理的信号为单变量函数序列,例如时间函数的抽样值。二维或多维数字滤波器处理的信号为两个或多个变量函数序列。例如,二维图像离散信号是平面坐标上的抽样值。一维滤波器,... 点击进入详情页
本回答由上海上恒提供
首油惹4620
2009-03-11 · TA获得超过231个赞
知道答主
回答量:839
采纳率:0%
帮助的人:292万
展开全部
1. 采集建议使用cooledit,直观好用。
2. 时域波形直接plot,频域波形可以plot(abs(fft()))和plot(angle(fft())),分别是幅度和相位,时频域分析可以用spectrogram命令,具体参数可以help一下。
3. awgn可以按信噪比添加白噪声,或者可以按需求生成需要的噪声,然后相加
4. 除非噪声是窄带的,否则无法用线性系统实现。因为语音信号是基带信号,如果不限定噪声的频率范围,则有可能与语音信号重叠,需要较复杂的算法进行分离。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jackwuzm
2009-03-11 · TA获得超过2513个赞
知道小有建树答主
回答量:1149
采纳率:100%
帮助的人:799万
展开全部
采样,
fft频谱分析;
randn() 叠加噪声。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式