用matlab对信号进行频谱分析及滤波
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华东交通大学
课程设计(论文)任务书
专业 xxx 班级 xx 姓名 xxx
一、课程设计(论文)题目应用Matlab对信号进行频谱分析
及滤波
二、课程设计(论文)工作:自 xxx 年 x 月 x 日起至 xxx 年 x 月 x 日止。
三、课程设计(论文)的内容要求:
学生签名:
20 年月日
课程设计(论文)评阅意见
评阅人职称
20 年月日
目录
设计过程步骤(5)
2.1 语音信号的采集(5)
2.2 语音信号的频谱分析(6)
2.3 设计数字滤波器和画出其频谱响应(7)
2.4 用滤波器对信号进行滤波(9)
2.5滤波器分析后的语音信号的波形及频谱(10)
●心得和经验(11) ●参考文献 (12)
设计过程步骤
2.1 语音信号的采集
我们利用Windows下的录音机,录制了一段开枪发出的声音,时间在1 s内。接着在C盘保存为WAV格式,然后在Matlab软件平台下.利用函数wavread对语音信号进行采样,并记录下了采样频率和采样点数,在这里我们还通过函数sound引入听到采样后自己所录的一段声音。通过wavread函数和sound的使用,我们完成了本次课程设计的第一步。其程序如下:
[x,fs,bite]=wavread('c:\alsndmgr.wav',[1000 20000]);
sound(x,fs,bite);
2.2 语音信号的频谱分析
首先我们画出语音信号的时域波形;然后对语音信号进行频谱分析,在Matlab中,我们利用函数fft对信号进行快速傅里叶变换,得到信号的频谱特性性。到此,我们完成了课程实际的第二部。
其程序如下:
n=1024;
subplot(2,1,1);
y=plot(x(50:n/4));
grid on ;
title('时域信号')
X=fft(x,256); subplot(2,1,2);
plot(abs(fft(X))); grid on ;
title('频域信号');运行程序得到的图形:
2.3 设计数字滤波器和画出其频谱响应
紧接着着我们做了一个数字滤波器:
采样频率10Hz,通带截止频率fp=3Hz,阻带截止频率fs=4Hz通带衰减小于1dB,阻带衰减大于20dB,我们主要使用双线性变换法由模拟滤波器原型设计数字滤波器。程序最后我们还利用Matlab中的函数freqz 画出了该滤波器的频率响应。
其程序如下:
%采样频率10Hz,通带截止频率fp=3Hz,阻带截止频率fs=4Hz
%通带衰减小于1dB,阻带衰减大于20dB
%使用双线性变换法由模拟滤波器原型设计数字滤波器
T=0.1; FS=1/T;
fp=3;fs=4;
wp=fp/FS*2*pi;
ws=fs/FS*2*pi;
Rp = 1; % 通带衰减
As = 20; % 阻带衰减
% 频率预畸
OmegaP = (2/T)*tan(wp/2); % Prewarp Prototype Passband freq OmegaS = (2/T)*tan(ws/2); % Prewarp Prototype Stopband freq %设计butterworth低通滤波器原型
N = ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(Omega P/OmegaS)));
OmegaC = OmegaP/((10^(Rp/10)-1)^(1/(2*N)));
[z,p,k] = buttap(N); %获取零极点参数
p = p*OmegaC;
k = k*OmegaC^N;
B = real(poly(z));
b0 = k;
cs = k*B;
ds = real(poly(p));
% 双线性变换
[b,a] = bilinear(cs,ds,FS);
% 绘制结果
freqz(b,a,512,FS);
运行程序得到的图形:
2.4 用滤波器对信号进行滤波
我们做的是IIR滤波器,所以我们利用函数filter对信号进行滤波。其程序如下:
z=filter(b,a,x);
subplot(2,1,1);
plot(z);
title('滤波后信号波形');
Z=fft(z,256);
subplot(2,1,2);
plot(abs(Z));
title('滤波后信号频谱');
2.5滤波器分析后的语音信号的波形及频谱
运行2.4程序得到滤波后的语音信号的波形及频谱图如下:
心得和经验
对录音的采集后,需要保存在C盘根目录下,否则用Matlab读取音频文件读取不了。其余操作只要输入函数按确定键得出图形后,保存就行。
参考文献
[1] 谢希仁. 计算机网络(第五版)[M]. 北京:电子工业出版社,2008年2月
[2] 胡小强计算机网络[M] 北京:北京邮电大学出版社2005年1月
致谢
(注:可编辑下载,若有不当之处,请指正,谢谢!)
精选文档