云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于MATLAB的语音信号的特技处理

基于MATLAB的语音信号的特技处理

  • 62 次阅读
  • 3 次下载
  • 2025/5/1 5:25:26

数字信号处理课程设计报告

3.2.3滤波器设计

单回声滤波器的系统函数:

H(z)= 1?a?z?(?R) a<1 (3-1) 无限个回声滤波器的系统函数:

H(z)=z?(?R)[1?a?z?(?R)]

a<1 (3-2)

全通结构的混响器的系统函数:

H(z)=[a?z?(?R)]函数filter

函数filter的调用格式为 y=filter(b,a,x)

该格式采用数字滤波器对数据进行滤波,既可以用于IIR滤波器,也可以用于FIR滤波器。其中向量b和a分别表示系统函数的分子、分母多项式的系数,若a=1,此时表示FIR滤波器,否则就是IIR滤波器。该函数是利用给出的向量b和a,对x中的数据进行滤波,结果放入向量y。

[1?a?z*(?R)]

a<1 (3-3)

3.3解决问题的基本思路

(1)利用Windows下的录音机或其他软件,录制一段自己的语音信号,时间控制在1s左右,并对录制的信号进行采样。

(2)语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图。 (3)将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较。 (4)设计几种特殊类型的滤波器:单回声滤波器,多重回声滤波器,无限个回声滤波器,全通结构的混响器,并画出滤波器的频域响应。

(5)用自己设计的滤波器对采集的语音信号进行滤波。

(6)分析得到信号的频谱,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化。

(7)回放语音信号。

3.4 详细流程图

5

数字信号处理课程设计报告

用wavread从自己的电脑导入Windows下1s语音信号 画出采样后语音信号的时域波形与频谱图。N=2001,和调用fft函数快速傅里叶变换。 对采样后语音信号进行延时30,在调整采样信号的长度,两者相加,就得到混响。 无限个回声滤波器 Bz=[0,0,0,0,0,0,0,0,0,0,1]; Az=[1,0,0,0,0,0,0,0,0,0,-a]; yy1=filter(Bz,Az,x); YY1=fft(yy1,2001); 全通结构的混响器 Bz1=[a,0,0,0,0,0,0,0,0,0,1]; Az1=[1,0,0,0,0,0,0,0,0,0,a]; yy2=filter(Bz1,Az1,x); YY2=fft(yy2,2001); 单回声滤波器 a=0.5; y2=x+z*0.5; Y2=fft(y2,2001); sound(yy1,fs,bits); sound(yy2,fs,bits); sound(y2,fs,bits);

图3-2 语音信号的特技处理设计程序流程图

4 代码编写

%原始信号

x1=wavread('wlx.wav'); %读取信号 figure;plot(x1);title('原始信号');

sound(5*x1,40000); %对原始声音的回放

6

数字信号处理课程设计报告

%采样信号

[x,fs,bits]=wavread('wlx.wav',[10000 40000]);

x=x(:,1); %只取单声道 sound(5*x,fs); %对声音的回放 n1=0:2000; N=size(x,1);

figure;subplot(2,1,1);plot(x);title('采样后语音信号的时域波形');

Y=fft(x,2001); subplot(2,1,2); %对信号做2001点FFT变换

plot(n1(1:1000),Y(1:1000)); title('采样后语音信号的频谱图'); %信号幅度 %延时的信号

[x,fs,bits]=wavread('wlx.wav',[10000 40000]);

x=x(:,1); %只取单声道 n1=0:2000;

z=[zeros(200,1);x]; figure(2); %信号的延时 subplot(2,1,1);plot(z); title('延时后的时域图'); %画出延时后的信号时域图 Z=fft(z,2001);

subplot(2,1,2);plot(n1(1:1000),Z(1:1000)); %延时后的信号频谱图 title('延时后的频谱图 '); sound(5*z,fs); %混响后信号

[x,fs,bits]=wavread('wlx.wav',[10000 40000]); %读取语音信号 x=x(:,1); %只取单声道 n1=0:2000;

z=[zeros(200,1);x]; %对语音信号进行延时

x=[x;zeros(200,1)]; %使语音信号与延时后信号同等长度 y1=x+z; %信号的混响 figure(3);subplot(2,1,1);plot(y1); title('混响的时域图'); %混响时域图

Y1=fft(y1,2001); %对混响信号2001点的FFT变换 subplot(2,1,2);plot(n1(1:1000),Y1(1:1000)); %混响频谱图 title('混响的频谱图');

7

数字信号处理课程设计报告

sound(5*y1,fs); %回放混响后的信号 %单回声滤波器

[x,fs,bits]=wavread('wlx.wav',[10000 40000]); %读取语音信号 x=x(:,1); %只取单声道 n1=0:2000;

a=0.5; %a取小于等于1 z=[zeros(200,1);x]; %对语音信号进行延时

x=[x;zeros(200,1)]; %使语音信号与延时后信号同等长度 y2=x+z*0.5; %信号经单回声滤波 figure;subplot(2,1,1);plot(y2);title('单回声滤波器时域图');

Y2=fft(y2,2001); %对单回声信号做2001点的FFT变换 subplot(2,1,2);plot(n1(1:1000),Y2(1:1000)); %单回声信号频谱图 title('单回声滤波器频谱图');

sound(5*y2,fs,bits); %回放经单回声滤波器后的语音信号 %无限回声滤波器

[x,fs,bits]=wavread('wlx.wav',[10000 40000]); %读取语音信号 x=x(:,1); %只取单声道 n1=0:2000;

a=0.5; %a取小于等于1 Bz=[0,0,0,0,0,0,0,0,0,0,1]; %分子的系数 Az=[1,0,0,0,0,0,0,0,0,0,-a]; %分母的系数

yy1=filter(Bz,Az,x); %FIR滤波器进行滤波 figure(5);subplot(2,1,1);plot(yy1); %无限回声滤波器时域波形 title('无限个回声滤波器时域波形');

YY1=fft(yy1,2001); %经无限回声滤波器后的信号做2001点的FFT变换 subplot(2,1,2);plot(n1(1:1000),YY1(1:1000)); %无限回声滤波器频谱图 title('无限个回声滤波器频谱图 ');

sound(5*yy1,fs,bits); %回放经无限回声滤波器后的语音信号 pause(2); %延时2秒 %全通结构的混响器

8

搜索更多关于: 基于MATLAB的语音信号的特技处理 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

数字信号处理课程设计报告 3.2.3滤波器设计 单回声滤波器的系统函数: H(z)= 1?a?z?(?R) a<1 (3-1) 无限个回声滤波器的系统函数: H(z)=z?(?R)[1?a?z?(?R)] a<1 (3-2) 全通结构的混响器的系统函数: H(z)=[a?z?(?R)]函数filter 函数filter的调用格式为 y=filter(b,a,x) 该格式采用数字滤波器对数据进行滤波,既可以用于IIR滤波器,也可以用于FIR滤波器。其中向量b和a分别表示系统函数的分子、分母多项式的系数,若a=1,此时表示FIR滤波器,否则就是II

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com