基于matlab语音信号处理内容摘要:

函数 为 C(n)=S(n)CL S(n)CL 0 |S(n)|=CL S(n)+CL S(n)CL 利用短时自相关函数进行基音周期估计的步骤如下 : (1) 对所加载的语音加窗。 (2) 计算加窗语音的短时自相关函数 , 选取短时自相关函数的局部最大点。 (3) 对局部最大点进行清晰化 , 以便确认其确实为最大点。 (4) 所有清晰点中最左边的点对应的就是语音的基音周期 的 估计。 因为没有任何一种预测方法 能 够准确计算出所有的基音周期 , 但绝大多数 10 的点是比较准确的 , 为此需要对计算结果进行平滑处理 , 常用的对基音周期轨迹的平滑有三种方法 : 中值滤波 、线性滤波、组合平滑。 实验中可以自己选择采用哪种滤波方法。 第三节 IIR 数字滤波器的 设计 一、激响应不变法 用数字滤波器的单位冲激响应序列 h(n)模仿模拟滤波器的冲激响应 ha(t),让 h(n)正好等于 ha(t)的采样值,即 h(n)= ha(nT) 其中 T为采样间隔,如果以 Ha(S)及 H(z)分别表示 ha(t)的拉式变换及 h(n)的 Z 变换,则 二、双线性变换法 S 平面与 z 平面之间满足以下映射关系: s 平面的虚轴单值地映射 于 z 平面的单位圆上, s 平面的左半平面完全映射到 z 平面的单位圆内。 双线性变换不存在混叠问题。 双线性变换时一种非线性变换 ,这种非线性引起的幅频特性畸变可通过预畸而得到校正。 11 IIR 低通、高通、带通数字滤波器设计采用双线性原型变换公 式: 表 变换类 型 变换关系式 备 注 低通 高通 带通 为带通的上下边带临界频率 以低通数字滤波器为例,将设计步骤归纳如下: 确定数字滤波器的性能指标:通带临界频率 fp、阻带临界频率 fr;通带内的最大衰减 Ap;阻带内的最小衰减 Ar;采样周期 T; 确定相应的数字角频 率,ω p=2π fpT;ω r=2π frT; 计算经过预畸的相应模拟低通原型的频率 根据Ω p和Ω r计算模拟低通原型滤波器的阶数 N,并求得低通原型的传递函数 Ha(s); 用上面的双线性变换公式代入 Ha(s),求出所设计的传递函数 H(z); 分析滤波器特性,检查其指标是否满足要求。 12 第四章 设计过程 第一节 程序源代码 一、录制原始声音信号并存储: %原始语音信号的录制和存储 fs=8000。 channel=1。 time=2。 fprintf(39。 按任意键后开始录音(时间长度 %d 秒): 39。 ,time)。 pause。 fprintf(39。 \n 正在录音„„ 39。 )。 shengyin=wavrecord(time*fs, fs,channel,39。 double39。 )。 %录制语音信号 ,并赋给变量 shengyin fprintf(39。 \n 结束 \n39。 )。 wavwrite(shengyin,fs,39。 F:\毕业 \毕业 \139。 )。 %存储语音信号 二、去除无效点并与原始信号比较: %原始语音信号时域图与滤除无效点后语音信号时域图的比较 n=wavread(39。 F:\毕业 \毕业 \139。 )。 %读取原始语音信号 subplot(2,1,1)。 plot(n)。 %显示原始语音信号时域波形图 title(39。 原始语音信号时域图 39。 )。 %注明图形标题 xlabel(39。 采样点数 39。 )。 %注明 x轴 ylabel(39。 振幅 39。 )。 %注明 y轴 grid。 %对图形添加网格 m=wavread(39。 F:\毕业 \毕业 \139。 ,[3000 16000])。 %解决播放声音比录制动作慢半拍的现象 13 subplot(2,1,2)。 plot(m)。 %显示滤除无效点后的语音信号时域波形图 title(39。 滤除无效点后的语音信号时域图 39。 )。 xlabel(39。 采样点数 39。 )。 ylabel(39。 振幅 39。 )。 grid。 wavwrite(m,8000,39。 F:\学习 \学习 \ 数字信号 \139。 )。 %存储滤除无效点后的语音信号 三、取 8000 和 16000 个数据点进行分析: %对原始语音信号分别取 8000 和 16000 个数据点进行频谱分析的程序 n=wavread(39。 F:\学习 \学习 \ 数字信号 \139。 )。 %读取原始语音信号 x=fft(n,8000)。 %对语音信号做 8000 点的 FFT 变换 subplot(2,2,1)。 plot(abs(x))。 %显示语音信号的幅度谱图 title(39。 8000 个数据点的 FFT 幅度谱 39。 )。 xlabel(39。 数字频率 39。 )。 ylabel(39。 振幅 39。 )。 grid。 subplot(2,2,3)。 plot(angle(x))。 %显示语音信号的相位谱图 title(39。 8000 个数据点的 FFT 相位谱 39。 )。 xlabel(39。 数字频率 39。 )。 ylabel(39。 相位 39。 )。 grid。 y=fft(n,16000)。 %对语音信号做 16000 点的 FFT 变换 subplot(2,2,2)。 plot(abs(y))。 %显示语音信号的幅度谱图 title(39。 16000 个数据点的 FFT 幅度谱 39。 )。 14 xlabel(39。 数字频率 39。 )。 ylabel(39。 振幅 39。 )。 grid。 subplot(2,2,4)。 plot(angle(y))。 %显示语音信号的相位谱图 title(39。 16000 个数据点的 FFT 相位谱 39。 )。 xlabel(39。 数字频率 39。 )。 ylabel(39。 相位 39。 )。 grid。 四 、设计滤波器存储过滤信号: %设计 IIR 契比雪夫 I型低通滤波器 ,对原始信号进行滤波 ,并存储经过滤波后的 %语音信号 %IIR 契比雪夫 I型低通滤波器的设计 fs=6500。 %抽样频率 Wp=2*1600/fs。 %归一化通带数字截止频率 wp Ws=2*3200/fs。 %归一化阻带数字截止频率 ws Rp=。 %通带波纹系数 Rp Rs=80。 %最小阻带衰减 Rs [N,Wn]=cheb1ord(Wp,Ws,Rp,Rs)。 %求阶数 N和滤波器截止频率 Wn [num,den]=cheby1(N,Rp,Wn)。 %传输分子和分母的系数 [h,w]=freqz(num,den)。 %求 频率响应 subplot(2,1,1)。 plot(w/pi,abs(h))。 %二维连续图形 title(39。 契比雪夫Ⅰ型低通滤波器的幅频响应 39。 )。 xlabel(39。 \omega/\pi39。 )。 % /后表示转义字符 ylabel(39。 振幅(幅值) 39。 )。 grid。 subplot(2,1,2)。 15 plot(w/pi,20*log10(abs(h)))。 title(39。 契比雪夫Ⅰ型低通滤波器的幅频响应 39。 )。 xlabel(39。 \omega/\pi39。 )。 % /后表示转义字符 ylabel(39。 振幅 (分贝 )39。 )。 grid。 %显示经过滤波后的语音信号的幅度谱和相位谱图形 n=wavread(39。 F:\学习 \学习 \ 数字信号 \139。 )。 %读取原始语音信号 x=filter(num,den,n)。 %对原始语音信号进行滤波 y=fft(x,2048)。 %对滤波后所得信号进行 FFT 变换 subplot(2,1,1) plot(abs(y))。 %显示滤波后的幅度谱图 title(39。 滤波后的幅度谱 39。 )。 xlabel(39。 数字频率 39。 )。 ylabel(39。 振幅 39。 )。 grid。 subplot(2,1,2) plot(angle(y))。 %显示滤波后的相位谱图 title(39。 滤波后的相位谱 39。 )。 xlabel(39。 数字频率 39。 )。 ylabel(39。 相位 39。 )。 grid。 wavwrite(x,fs,39。 F:\学习 \学习 \ 数字 信号 \239。 )。 %存储过滤波后的语音信号 五 、 滤 波后信号和原始信号的比较: %滤波后的语音信号波形与原始语音信号波形的比较 n1=wavread(39。 F:\学习 \学习 \ 数字信号 \239。 )。 %读取滤波后的语音信号 n2=wavread(39。 F:\学习 \学习 \ 数字信号 \139。 )。 16 %读取原始语音信号 m1=fft(n1)。 %对读取所得的滤波后的语音信号进行 FFT 变换 m2=fft(n2)。 %对读取所得的原始语音信号进行 FFT 变换 subplot(2,1,1)。 plot(20*log10(abs(m1)))。 %显示滤波后的语音信号的相对幅度谱图 title(39。 滤波后的语音信号的相对幅度谱 39。 )。 xlabel(39。 采样点数 39。 )。 ylabel(39。 振幅 39。 )。 subplot(2,1,2)。 plot(20*log10(abs(m2)))。 %显示原始语音信号的相对幅度谱图 title(39。 原始语音信号的相对幅度谱 39。 )。 xlabel(39。 采样点 数 39。 )。 ylabel(39。 振幅 39。 )。 %播放原始语音信号与滤波后的语音信号进行比较 n1=wavread(39。 F:\学习 \学习 \ 数字信号 \139。 )。 %读取原始语音信号 sound(n1,8000)。 %播放原始语音信号 n2=wavread(39。 F:\学习 \学习 \ 数字信号 \239。 ) %读取滤波后的语音信号 sound(n2,7000)。 %播放滤波后的的语音信号 第二节 本章小结 通过一系列程序编辑, 此次设计中还存在一些难点,在滤波器的设计中理论知识 贫乏,通过这章课程设计学到了很多东西,了解了一些函数的用法,巩固了数字信号处理这门课的理论知识。 论文初步完成了设计任务,由于本人能。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。