音频信号的谱分析及去噪
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书
课程设计学生日志
课程设计考勤表
课程设计评语表
音频信号的谱分析及去噪
一、研究背景:………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
二、设计方案…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
三、设计目的和意义
通过MATLAB编程,用FFT函数绘制出音频信号的频谱。用噪音去干扰音频信号,画出干扰后信号的频谱。这样观察对比,便可分析出噪声对音频信号的干扰。主要目的是通过设计FIR 数字滤波器滤除噪音信号,体会滤波器可提取有用信号消除干扰的作用。去噪,可以减少或消除信号传输过程中的干扰,从而达到有效传输。……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………
四、设计原理
1、FFT原理:运用快速傅里叶变换得信号的频谱,快速傅里叶变换是可以用计
算机编程实现的一种快速求得信号频谱的方法。在MATLAB 编程中可以直接调用FFT 函数。
2、FIR 数字滤波器的设计步骤:
1)将给定的数字滤波器性能指标转化成相应的模拟滤波器性能指标。 2)将模拟滤波器的性能指标变换成模拟低通滤波器的性能指标。
3)用所得的模拟低通滤波器的性能指标,利用某种模拟滤波器逼近方法,设计得出该滤波器。
低通滤波器的频率响应:
设计滤波器时主要考虑四个指标:通带截止频率、阻带起始频率、通带衰减、阻带衰减。
五、 详细设计步骤
1. 用Windows 附件中的录音机录制了一段歌曲,并且由MATLAB 中的FFT 函数绘制出它的频谱图和时域波形。 N=1024;%采样点数
fs=20000; %语音信号采样频率为20000
[x0,fs,NBTS]=wavread('d:\输入噪声\ly.wav'); % ly 为原始语音信号
[m0,n0]=size(x0); x0=wavread('d:\
输
入
噪
声
\ly.wav'); %读取音频信号 sound(x0,fs); %播放音频信号 figure(1)
阻带
过渡带
通带
plot(linspace(0,m0/fs,m0),x0); %做原始语音信号的时域图
title('输入音频信号');
y0=fft(x0,N); %对输入音频信号做1024点FFT变换
f0=fs*(0:N/2-1)/N; figure(2)
plot(f0,abs(y0(1:512)));
title('音频信号的频谱'); %做原始语音信号的FFT频谱图
axis([0 5000 0 70]);
仅从其时域波形来看,无法看出其波形的正确性,由于是多频率的信号因此其时域波形与单频信号肯定存在很大差别。
无噪声音频频谱图:
2.用上述方法从新录入此段歌曲,且在录得过程中加入钥匙响声噪音。编写程序画出其时域波形和频谱,同时观察加入噪声后的音频信号的频谱与无噪声音频信号频谱的区别。
N=1024;
fs=20000;
[x1,fs,NBTS]=wavread('d:\输入噪声\lyy.wav'); % lyy带噪声的音频信号[m1,n0]=size(x1);
x1=wavread('d:\输入噪声\lyy.wav'); %读取信号
sound(x1,fs); %播放音频
figure(3)
plot(linspace(0,m1/fs,m1),x1); %做原始语音信号的时域图
title('带噪声的音频信号');
y1=fft(x1,N); %对信号FFT变换
f1=fs*(0:N/2-1)/N;
figure(4)
plot(f1,abs(y1(1:512)));
title('带噪声的音频信号频谱'); %做原始语音信号的FFT频谱图
信号的读入直接调用系统函数wavread,从目标文件中读出信号。
带噪声音频信号波形:
将上图与没有带噪声的音频信号相比较,可以看到在原来的基础上加上了一些比较高的频率分量。最后要将信号无失真恢复出来就必须将该信号通过一个滤
波器,将高频分量滤除。
从信号时域波形可得知其频谱中一定加入了高频分量。其频谱图如下所示。
3、设计FIR数字滤波器。
首先确定其性能指标
fs=20000;
fedge=[500 600];%通带截止频率和阻带起始频率
mval=[1 0];%通带幅度为1阻带幅度为0
dev=[0.0599 0.00316]; %通带衰减0.5dB,阻带衰减大于等于50dB。
[N,fpts,mag,wt]=remezord(fedge,mval,dev,fs); %计算低通滤波器的技术指标。
b=remez(N,fpts,mag,wt);
[h,w]=freqz(b,1,512);
figure(5)
plot(w/pi,20*log10(abs(h)));
title('低通滤波器频率响应');
axis([0 0.2 -80 20]);
grid;
xlabel('频率/Hz');
ylabel('幅度/db');
设计低通滤波器频率响应波形:
从图形中可以看到与预期设想的基本符合,通带截止频率为500Hz,阻带起始频率为600Hz。
3.让加入噪声后的语音信号通过此低通滤波器,滤波以后得到的信号,画出其时域波形和频谱图。与第一步中不含噪音的音频信号的频谱进行比较,分析此低通滤波器的性能。
N=1024;