
基于MATLAB采集语音信号分析与处理 5
要求:1、语音信号采集录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业...
要求:
1、语音信号采集
录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。
2、语音信号分析
在MATLAB软件平台下绘出采样后的语音信号的频谱图。
3、含噪语音信号合成
在MATLAB软件平台下,给原始的语音信号叠加上噪声后,绘出噪声的信号频谱图.
4.设计一种合适的滤波器,去除噪声,得到原始的语音信号.
有哪位可以为我提供MATLAB源程序,多多感谢了!!! 展开
1、语音信号采集
录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样;录制时可以使用Windows自带的录音机,或者使用其它专业的录音软件,录制时需要配备录音硬件(如麦克风),为便于比较,需要在安静、干扰小的环境下录音。
2、语音信号分析
在MATLAB软件平台下绘出采样后的语音信号的频谱图。
3、含噪语音信号合成
在MATLAB软件平台下,给原始的语音信号叠加上噪声后,绘出噪声的信号频谱图.
4.设计一种合适的滤波器,去除噪声,得到原始的语音信号.
有哪位可以为我提供MATLAB源程序,多多感谢了!!! 展开
3个回答
展开全部
语音信号的采集和频谱分析:
[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)
与滤波之前相比,噪音明显降低了许多。
[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 广告
数字滤波器可以按所处理信号的维数分为一维、二维或多维数字滤波器。一维数字滤波器处理的信号为单变量函数序列,例如时间函数的抽样值。二维或多维数字滤波器处理的信号为两个或多个变量函数序列。例如,二维图像离散信号是平面坐标上的抽样值。一维滤波器,...
点击进入详情页
本回答由上海上恒提供
展开全部
1. 采集建议使用cooledit,直观好用。
2. 时域波形直接plot,频域波形可以plot(abs(fft()))和plot(angle(fft())),分别是幅度和相位,时频域分析可以用spectrogram命令,具体参数可以help一下。
3. awgn可以按信噪比添加白噪声,或者可以按需求生成需要的噪声,然后相加
4. 除非噪声是窄带的,否则无法用线性系统实现。因为语音信号是基带信号,如果不限定噪声的频率范围,则有可能与语音信号重叠,需要较复杂的算法进行分离。
2. 时域波形直接plot,频域波形可以plot(abs(fft()))和plot(angle(fft())),分别是幅度和相位,时频域分析可以用spectrogram命令,具体参数可以help一下。
3. awgn可以按信噪比添加白噪声,或者可以按需求生成需要的噪声,然后相加
4. 除非噪声是窄带的,否则无法用线性系统实现。因为语音信号是基带信号,如果不限定噪声的频率范围,则有可能与语音信号重叠,需要较复杂的算法进行分离。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
采样,
fft频谱分析;
randn() 叠加噪声。
fft频谱分析;
randn() 叠加噪声。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询