欢迎来到天天文库
浏览记录
ID:15499085
大小:237.50 KB
页数:9页
时间:2018-08-03
《数字信号处理课程设计指导书99179》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数字信号处理课程设计指导书l设计题目:语音信号的数字滤波——×数字滤波器的×设计【说明】题目中的“×”主要有以下几种:²IIR数字滤波器的冲激响应不变法设计²IIR数字滤波器的双线性变换法设计²FIR数字滤波器的(矩形)窗函数法设计²FIR数字滤波器的(三角)窗函数法设计²FIR数字滤波器的(汉宁)窗函数法设计²FIR数字滤波器的(海明)窗函数法设计²FIR数字滤波器的(Bartlett)窗函数法设计²FIR数字滤波器的(凯泽)窗函数法设计l设计步骤及要求一、语音信号的采集:1.利用Windows系统采集:(1)按“开始->程序->附件->娱乐->录音
2、机”的顺序操作打开Windows系统中的录音机软件7(1)用麦克风录入自己的声音信号并保存成文件(语音信号的长度不得少于1秒)(2)记录以下内容:l语音信号文件保存的文件名、格式(扩展名,一般应为“.wav”)l语音信号的采样速率(建议保存语音文件时选择采样频率等于8000Hz)l语音信号的时间长度1.利用MP3等设备采集:(1)用MP3等设备的麦克风录入自己的声音信号并保存成文件(2)记录以下内容:l语音信号文件保存的文件名、格式(扩展名,一般应为“.wav”,若不是,需转换成“.wav”格式)l语音信号的采样速率l语音信号的时间长度一、语音信号的频
3、谱分析:71.将上一步骤中保存下来的语音信号文件“*.wav”复制到计算机装有Matlab软件的磁盘中相应Matlab目录中的“work”文件夹中2.双击桌面上Matlab软件的快捷图标,打开Matlab软件3.在菜单栏中选择“File->new->M-File”或是点击快捷按钮,打开m文件编辑器4.在m文件编辑器中输入相应的指令将自己的语音信号导入Matlab工作台[说明:]l比较常用的语音文件导入指令为:wavread(),具体使用方法可以在Matlab命令窗口中键入“help”指令查询;l一般情况下录入的双声道语音信号中(主要指.wav文件)右导
4、入交保存为变量后,其变量应当是一个二列的二维数组,其中每一列对应一个声道,数组的行数等于采样速率与时间的乘积(即单声道的采样点数);l有的同学对利用fft()函数求取信号频谱的形式不太清楚,我这里说明一下:(以下面这段程序为例)[s,fs]=wavread('speech.wav');%将语音文件“speech.wav”中的波形信号值赋值给数组s%将采样速率赋值给变量fsL=2^floor(log2(length(s)));%取被处理信号的长度为小于语音信号长度的最大的2整数次幂s1=s(200:200+L-1);%舍弃语音信号起首空白部分,取被处理信
5、号s1的长度为Lwavwrite(s1,fs,'s1.wav');%将被处理信号s1输出为语音文件“s1.wav”s2=awgn(s1,15);%在被处理信号s1上迭加15dB的AWGN,并赋值给数组s2wavwrite(s2,fs,'s2.wav');%将含噪声的信号s2输出为语音文件“s2.wav”S1=fft(s1);%将被处理信号s1求取L点的FFT,其频谱赋值给数组S1n=0:L-1;%定义时间序号n,长度与被处理信号s1相同subplot(311);%把一个图形窗口中分三行一列,在第一个分区中画图plot(n,s1);%绘制被处理的语音信号
6、的时间域波形k=0:L-1;%定义频谱序号k,长度与被频谱S1相同subplot(312);%在图形窗口第二个分区中画图plot(k,abs(S1));%绘制被处理的语音信号的FFT幅频特性
7、DFT[s1(n)]
8、detf=fs/L;%计算频率分辨率,并赋值给变量detfsubplot(313);%在图形窗口第三个分区中画图plot(k(1:L/2)*detf,abs(S1(1:L/2)));%绘制被处理的语音信号s1的实际幅频特性(正频率段)7FFT与实际连续信号频谱的对应关系:上图是程序程序执行结果,其中第二个图是信号的FFT结果,其横坐标的具体值
9、是X(k)中的序号k;第三个图是确定滤波频率范围的参考图,其横坐标的具体值应当是遵循DFT定义式和频率分辨率求得的:,当k等于0时,,从数字角频率上看,对应的正好是即直流的位置,也就是说,大家在取滤波频段时,应当将主要能量(即红色框框住的部分)保留,其余频段部分的信号滤除。至于对于主要能量具体值的确定由大家自己设定。频率分辨率:X(k)=DFT[x(n)]相当于是信号x(n)的实际频谱X(ejω)=DTFT[x(n)]的采样,而x(n)又是连续时间语音信号x(t)的采样。X(k)的每两个相邻取值之间的频率间隔大小对应到语音信号x(t)的频谱中去,其频率
10、间隔大小正好是,称频率分辨率。1.编写程序段,利用Matlab中已有的FFT程序函数和画图程序
此文档下载收益归作者所有