- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
去除干扰蜂鸣音信号与系统课程设计教程
一、课程设计题目
去除干扰蜂鸣音
1.目的:掌握信号时频域分析方法,正确理解采样定理,准确理解滤波器的概念。
2.内容:提供一个包含某人说话语音片段的声音文件,但该语音信号被一个包含有几个谐波分量的蜂鸣信号干扰了。
用Matlab的wavread命令读取该声音文件。注意,该命令可以同时得到声音文件的采样率和采样位宽,请查阅Matlab的帮助文件。
用快速傅立叶变换(FFT)计算并画出声音信号的频谱,列写出蜂鸣信号的谐波频率。
思考如何将这些蜂鸣音去除?将去除了蜂鸣音的语音片段播放出来,仔细聆听并写下语音片段中人物所说的话。注意:由于只能播放实信号,因此记得提取信号的实部。
Matlab命令:wavread, wavplay, fft, fftshift, fir1, filter, plot, figure.
二、设计思路
用waveread()函数读取音频和其采样率和采样位宽,对读取的音频信号使用fft()函数进行快速傅立叶变换并绘出得到的频谱。观???频谱分析噪声(蜂鸣信号)的谐波频率分布,选择合适的滤波模式将噪声信号的谐波滤去,便可以得到去除噪声后的人声。
设计滤波器的频域特性便成了除去噪声并留下原声的关键,我们注意到所学的采样定理以及一维sinc函数(HYPERLINK /view/356057.htm辛格函数),然而汉宁窗可以看作是3个矩形时间窗的频谱之和,或者说是 3个型函数之和,而括号中的两项相对于第一个谱窗向左、右各移动了π/T,从而使旁瓣互相抵消,消去高频干扰和漏能。它适用于非周期性的连续信号。利用它的选择特性使用fir1()建立一个汉宁窗函数,并用filter()函数进行滤波,去除噪声部分。最后用play()函数播放音频检查效果。
三、设计过程
1.音频的读取和分析
先将原始音频文件读入,
[audio0, Fs, nbits] = wavread(C:\Users\Administrator\Desktop\signal\buzz.wav);%按路径读取音频存入audio0变量,并用Fs变量记录采样率,nbits变量记录采样位宽。
其中,
Fs=11025 #采样率为11025Hz
nbits=32 #采样带为32
p0=audioplayer(audio0,Fs);%将audio0载入音频播放器
play(p0);%并进行播放
subplot(2,1,1);%分屏绘图
plot(audio0);%绘制原始音频时域图,如下图所示
title(时域);%标注题目
[k]=fft(audio0,Fs);%对原始音频进行快速傅立叶变换
subplot(2,1,2);
plot(abs(k));%绘制原始音频频域图
title(频域);
频域图如图1下图所示
图1 原声时域频域图像
此时,在时域中杂乱分布的声音信号变换到频域中将噪声谐波所分布的频域中显得尤为清晰简洁,这样就不难发现干扰信号主要分布在0--1000Hz以内,由于听到的噪声比人声大得多,我们又画出了,声音强度的时域和频域图像,
figure;subplot(2,1,1);
plot(audio0);
plot(20*log10(abs(audio0)/max(abs(audio0)))); %绘制原始音频声音强度的频域图
ylabel(分贝/dB);
xlabel(时间/ms);
title(时域);
[k]=fft(audio0,Fs);
subplot(2,1,2);
plot(abs(k));
plot(20*log10(abs(abs(k))/max(abs(abs(k))))); %绘制原始音频声音强度的频域图
ylabel(分贝/dB);
xlabel(频率/Hz);
title(频域);
figure;
subplot(2,1,1);
plot(abs(k));
ylabel(振幅/A);
xlabel(频率/Hz);
set(gca,XLim,[0 1000]);
set(gca,XTick,[0:20:1000]);
得到如图2所示的声音强度的时域和频域图像
图2 原声声音强度时域频域图像
从频域图中我们仍然发现了四个异常尖峰,再次明显的证实了干扰信号主要分布在0--1000Hz以内;
为了跟清晰地和观察干扰信号的频域分布情况,我们进一步绘制这一范围的图像,进行局部深入研究。
plot(abs(k));%重绘图像
set(gca,XLim,[0 1000]);%更改显示范围为0-1000
set(gca,XTick,[0:20:100
文档评论(0)