声音的延时和混响仿真

课程设计任务书

学生姓名: 专业班级:

指导教师:

题 目:声音的延时和混响仿真

初始条件: 1. 《数字信号处理》基本理论知识

2.《信号与系统》基本理论知识

3.MATLAB 编程基础知识

4. 装有MATLAB 的PC 机

5.Window 下的录音机或其他具有录音功能的软件

6. 信号的延时、混响,几个特殊滤波器的相关理论知识

要求完成的主要任务:

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

(2)语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图。

(3)将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较。

(4)设计几种特殊类型的滤波器:单回声滤波器,多重回声滤波器,无限个回声滤波器,全通结构的混响器,并画出滤波器的频域响应。

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

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

(7)回放语音信号。

时间安排:

第17周:下达任务,查找资料;

第18周:编写程序并调试;

撰写设计报告并答辩。

指导教师签名: 年 月 日

系主任(或责任教师)签名: 年 月 日

目录

摘要 ........................................................................ 1

Abstract..................................................................... 2

一、 设计说明 . ............................................................... 3

1.1 设计任务 . ............................................................ 3

1.2 设计要求 . ............................................................ 3

1.3 设计原理 . ............................................................ 3

1.3.1 研究背景及意义 . ................................................ 4

1.3.2 总体方案设计框图 . .............................................. 4

1.3.3 信号采样 . ...................................................... 5

1.3.4 信号延时 . ...................................................... 6

1.3.5 信号混响 . ...................................................... 7

1.3.6 离散傅里叶变换 . ................................................ 7

1.3.7 滤波器 . ........................................................ 8

二、 原始信号的读取及采样 . .................................................. 10

2.1 原始信号的读取及频谱分析 . ........................................... 10

2.2 原始信号的采样及频谱分析 . ........................................... 11

三、 采样信号的延时及混响 . .................................................. 14

3.1 采样信号的延时及频谱分析 . ........................................... 14

3.2 采样信号的混响及频谱分析 . ........................................... 16

四、 几种特殊滤波器的设计及对信号的滤波 . .................................... 19

4.1 单回声滤波器 . ....................................................... 19

4.2 多重回声滤波器 . ..................................................... 22

4.3 无限个回声滤波器 . ................................................... 24

4.4 全通结构的混响器 . ................................................... 27

五、 心得体会 . .............................................................. 30

六、 参考文献 . .............................................................. 31

附录:程序清单 . ............................................................. 32

摘要

随着科技的日益进步,传统的视音频行业与IT 行业越来越紧密的结合在一起。IT 领域的科技成果越来越普遍的应用于视音频领域并大大的推动了视音频科技的进步。在MATLAB 下实现的声音的延时和混响就是其在音频领域应用的一个很好的例子。MATLAB 的信号处理与分析工具箱为语音信号的分析提供了十分丰富的功能函数。利用这些功能函数可以方便地完成语音信号的处理和分析。

数字语音滤波器是语音信号处理的核心部件。广泛应用于通信、语音识别、语音增强等领域。每一款数字滤波器的应用针对性都很强,其性能直接决定了产品质量。因此科学界和工业界都对其进行了深入的研究,发明了各种滤波器的实现结构。本次课程设计就是用设计的数字滤波器对信号进行滤波,比较滤波前后信号特性的变化,从而分析其相互关系。

关键词 :MATLAB ,数字滤波器,延时, 混响

Abstract

With the daily improvement of technology, the combination of traditional multimedia industry and IT industry is more and closer. A achievement in IT area are widely used in multimedia area, which in turn greatly improve the multimedia industry. The sound delay and reverb under MATLAB is a good example in the field of audio applications. A variety of map showing the signal processing and analysis toolkit for speech signal analysis provides a very rich feature function, which can easily complete the speech signal processing and analysis.

As the core part of audio signal processing system, digital audio filter used in areas of communications, voice reorganization and voice enhance widely. Every digital filter takes on special the application scope, and its performance plays import role in the quality of the products, so scientific community and industrial community reached deeply in this side and invented many structures of filter. The curriculum design is a digital filter designed to signal filtering, comparing before and after filtering changes in signal characteristics, in order to analyze their mutual relations.

Key words:MATLAB, digital filters, delay, reverb.

声音的延时和混响仿真

(The Sound’s Delay and Reverb Simulation)

一、 设计说明

1.1 设计任务

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

(2)语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图。

(3)将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较。

(4)设计几种特殊类型的滤波器:单回声滤波器,多重回声滤波器,无限个回声滤波器,全通结构的混响器,并画出滤波器的频域响应。

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

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

(7)回放语音信号。

1.2 设计要求

(1)熟悉离散信号和系统的时域特性。

(2)熟悉语音信号的特点。

(3)掌握数字信号处理的基本概念,基本理论和基本方法。

(4)掌握序列快速傅里叶变换方法。

(5) 学会MATLAB 的使用,掌握MATLAB 的程序设计方法。

(6) 掌握MATLAB 设计各种数字滤波器的方法和对信号进行滤波的方法。

1.3 设计原理

1.3.1 研究背景及意义

音频信号在人类社会中发挥着举足轻重的作用。从古至今人类始终依靠声音信息传递自己的信息、感情。现今,随着计算机、通信、微电子和网络技术的迅猛发展,人们已经改变了传统的利用声音、传递声音的方式。从摇旗呐喊到无线通信,人类利用声音的方式始终与时代最高科技水平联系在一起,因为声音是人类最重要的交流工具。

混响在人们的生活中是一种常见的声学现象。无论是在会议室里开会,还是在音乐厅里欣赏音乐,人们都会明显感觉到混响声音的存在。不同类型的声音对声学环境的要求是不同的。按照某一固定声学设计无法满足现代多功能厅所担负的最佳混响效果不同的要求。传统上采用在房间内布置不同吸音系数的反射板或升降吊顶来改变厅堂的容积,以调节厅内的混响时间的方法,显然不仅麻烦,且难以调到最佳效果。随着电子技术的发展,数字信号处理器性能的不断提高,上述原本只有通过建筑声学才能解决的声学效果问题,现在可以利用电声学知识以数字信号处理的手段较为方便地解决。可以说电子技术的发展,数字信号处理技术的完善,给声学带来一次前所未有的重大变革。

滤波在信号处理中一直占有十分重要的地位。现在几乎在所有需要信号处理的领域都可以使用数字信号处理技术精确快速的对复杂数据进行处理。数字滤波是数字信号处理技术的基本方法,如对信号的过滤、检测、预测等,都要广泛地用到滤波器。数字滤波器分成两种形态:有限长脉冲响应滤波器(FIR )和无限长脉冲响应滤波器(IIR )。无论哪一种滤波器的设计都需要大量的计算,用手工计算已不现实,因此必须借助计算机来完成。其中,MATLAB 是一款十分优秀的计算和仿真软件。MATLAB 是一种面向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩充能力强等特点。MATLAB 的信号处理工具箱具有强大的函数功能,它不仅可以用来设计数字滤波器,还可以使设计达到最优化,是数字滤波器设计的强有力工具。 1.3.2 总体方案设计框图

依据设计任务,总体方案如下:首先是原始语音信号的读取和采样。接下来分为两个部分。第一部分完成采样信号的的延时和混响操作,并分别画出其时域

波形和频谱图,并与原始语音信号的频谱进行比较。第二部分完成利用设计任务中所提及的几种特殊滤波器对采样信号进行滤波。先进行设计,再用设计好的滤波器对信号进行滤波,画出滤波后的信号的时域波形和频谱,并与原始语音信号的频谱进行比较。最后回放语音信号。

图1.1 总体设计框图

1.3.3 信号采样

离散时间信号通常是由连续时间信号经周期采样得到的。完成采样功能的器件称为采样器,下图所示为采样器的示意图。图中Xa(t)表示模拟信号,Xa(nt)表示采样信号,T 为采样周期,n=0,1,2,…。一般可以把采样器视为一个每隔T 秒闭合一次的电子开关S 。在理想情况下,开关闭合时间τ满足τ

图1.2 采样器示意图及波形图

采样信号的频谱分析自然要使用快速傅里叶变换FFT 了,对应的命令即 fft ,简单使用方法为:Y=fft(b,N),其中b 即是采样数据,N 为fft 数据采样个数。一般不指定N ,即简化为Y=fft(b)。Y 即为FFT 变换后得到的结果,与b 的元素数相等,为复数。以频率为横坐标,Y 数组每个元素的幅值为纵坐标,画图即得数据b 的幅频特性;以频率为横坐标,Y 数组每个元素的角度为纵坐标,画图即得数据b 的相频特性。

对于现实中的情况,采样频率fs 一般都是由采样仪器决定的,即fs 为一个给定的常数;另一方面,为了获得一定精度的频谱,对频率分辨率F 有一个人为的规定,一般要求F100秒;由采样时间ts 和采样频率fs 即可决定采样数据量,即采样总点数N=fs*ts。这就从理论上对采样时间ts 和采样总点数N 提出了要求,以保证频谱分析的精准度。

1.3.4 信号延时

延时就是将音源延迟一段时间后,再与播放的效果处理。依其延迟时间的不同,可分别产生合唱、镶边、回音等效果。

延时所产生的效果的可调参数都差不多,主要有以下几项:

(1) 延时时间:指可以调整主要的延时电路的延时时间;

(2) 反馈增益:指可以控制延时反馈时的增益,即放大倍数;

(3) 反馈高频比:指可以控制反馈回路上的高频分量的衰减;

(4) 调制频率:即主要延时电路的调频周期;

(5) 高频增益:即高频均衡控制;

(6) 预延时:指调整主延时电路的预延时时间。

1.3.5 信号混响

声音在一个封闭的空间中到达听众时,包含几个部分:直达声、早期的反射声和混响。早期的反射由几个空间上临近的直达声的基本延迟和衰减组成,而混响则由密集的回声组成。混响效果主要是增加音源的融合感。自然音源的延时声阵列非常密集复杂,所以模拟混响效果的程序也复杂多变。

1.3.6 离散傅里叶变换

离散傅里叶变换(DFT )的实质是有限长序列傅里叶变换的有限点离散采样,从而实现了频域离散化,使数字信号处理可以在频域采用数值运算的方法进行,这样就大大增加了数字信号处理的灵活性。更重要的是,DFT 有多种快速算法,统称为快速傅里叶变换(FFT ),从而使信号的实时处理和设备的简化得以实现。因此,时域离散系统的研究与应用在许多方面都已取代了传统的连续时间系统。所以说,DFT 不仅在理论上有重要意义,而且在各种信号的处理中亦起着核心作用。

设x(n)是一个长度为M 的有限长序列,则定义x(n)的N 点离散傅里叶变换为:

kn X (k ) =DFT [x (n )]=∑x (n ) W N k =0,1,..., N -1

n =0N -1

X (k ) 的离散傅里叶逆变换(IDFT )为: -kn n =0,1,..., N -1 x (n ) =IDFT [X (k )]=N ) ∑X (k ) W N

k =0N -1

式中,W N =e -j (2πN ) ,N 称为DFT 的变换区间长度,N ≥M . 通常将上述两式称为离散傅里叶变换对。

将上式代入下式得:

mk -kn ]W N IDFT [X (k )]N =N ) ∑[∑x (m ) W N

k =0m =0N -1N -1

N -1N -1

k =0 =m =0∑x (m N ) ∑W k (m -n ) N 由于W N =e -j (2πN ) 隐含的周期性,在变换区间上满足下式:

) (x n 0≤n ≤N -1 I D F [T (X ) k ]=N

所以,定义的离散傅里叶变换对是唯一的。

MATLAB提供了快速傅里叶变换算法(FFT )计算DFT 的函数fft, 其调用格式如下:

X (k ) =fft (xn , N )

调用参数xn 为被变换的时域序列向量,N 是DFT 变换区间长度,当N 大于xn 的长度时,fft 函数自动在xn 后面补零,函数返回xn 的N 点DFT 变换结果向量Xk ,这时,X (k ) =DFT [x (n )]N =Xk (k +1) ,k =0N -1。当N 小于xn 的长度时,fft 函数计算xn 的前面N 个元素构成的序列的N 点DFT, 忽略xn 后面的元素。

1.3.7 滤波器

首先介绍本次设计需要用到的几个特殊的滤波器

(1)单回声滤波器

单回声是在直达声和m 个抽样周期后出现的一种回声,其差分方程为: y [n ]=x [n ]+ax [n -m ], a 1

对上式进行z 变换,可得单回声滤波器的传输函数为:

H (z ) =1+az -m a

(2)多重回声滤波器

多重回声是以间隔m 个抽样周期分开的振幅以指数形式衰减的回声,其传输函数为:

H (z ) =1+az -m +a 2z -2m +1 +a N -1z -(N -1) m

=(1-a N z -Nm ) (1-az -m ) a 1

(3)无限个回声滤波器

无限个回声滤波器的传输函数为: H (z ) =(z -m ) (1-az -m ) , a

(4)全通结构的混响器

全通结构的混响器的传输函数为: H (z ) =(a +z -m ) +az -m ) , a

1 1

其中,m 为回声延时取样,a 为反馈系数.

MATLAB 提供了专门用于求离散时间系统的频率响应特性的函数freqz(),其调用格式有以下两种:

(1)[H , W ]=freqz (B , A , N )

(2) [H , W ]=freqz (B , A , N ,' whole ')

(1)中B 和A 分别为离散系统的系统函数分子、分母多项式的系数向量,返回量H 则包含了离散系统频率响应在0π范围内N 个频率等分点的值(其中N 为正整数),W 则包含了范围内N 个频率等分点

(2)中调用格式将计算离散系统在0π范围内N 个频率等分点的频率响应的值。

因此,可以先调用函数freqz()计算离散系统的频率响应,然后利用abs()、angle()函数和plot()函数,即可绘出离散系统的频响特性曲线。

对信号进行滤波则需调用函数filter(),其调用格式为:

y =filter (b , a , x )

该函数可以对数字滤波器进行滤波,既可以用于IIR 滤波器,也可以用于FIR 滤波器。其中b 和a 分别表示离散系统的系统函数分子、分母多项式的系数向量,a =1表示是FIR 滤波器。

二、 原始信号的读取及采样

2.1 原始信号的读取及频谱分析

采用函数wavread()函数读取原始信号,主要代码(具体代码见附录)如下: x1=wavread('2.wav');

x2=x1(:,1); %只提取单声道

plot(x2)

sound(5*x2,40000) %回放语音信号

Y1=fft(x2,4001);

程序运行后的结果如下:

图2.1 原始信号的时域波形图

图2.2 原始信号的频谱图

2.2 原始信号的采样及频谱分析

重要代码如下:

[x, fs, bits]=wavread('2.wav',[1000 7000]);

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

Y=fft(x,4001); %对信号作4001点FFT 变换 sound(5*x, fs) %回放语音信号

其中,[x, fs, bits]=wavread('2.wav',[1000 7000])语句用于读取语音,采样值放于向量x 中,fs 表示采样频率,bits 表示采样位数。

程序运行后的结果如下:

图2.3 采样信号的时域波形

图2.4 采样信号的频谱图

对原始信号采样后,采样信号的时域波形明显出现了离散化分布,不像原始信号那样分布密集。频谱图的变化很微小,与原始信号的频谱图相比,几乎没有发生改变。

三、 采样信号的延时及混响

3.1 采样信号的延时及频谱分析

对采样信号进行延时操作,主要代码如下:

[x,fs,bits]=wavread('2.wav',[1000 7000]);

x=x(:,1);

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

figure(5)

plot(z),title('延时后的信号时域波形') %画出延时信号波形

Z=fft(z,4001); %对延时信号作4001点FFT 变换 figure(6)

subplot(2,1,1);plot(abs(Z)),title('延时信号幅频特性'),grid on subplot(2,1,2);plot(angle(Z)),title('延时信号相频特性'),grid on sound(5*z,fs) %回放延时信号 程序运行后的结果如下:

图3.1 延时信号的时域波形

从图3.1中的时域图可以明显的看出,延时后的语音信号与原来的语音信号的波形相比,向右移动了400,即采样信号在时间上被延迟了。

图3.2 延时信号的频谱图

延时信号的频谱图与原来的语音信号频谱图相比,延时后的幅度谱略微发生了变化,相位谱变化也较小。

3.2 采样信号的混响及频谱分析

对采样信号进行混响操作,主要代码如下:

[x,fs,bits]=wavread('2.wav',[1000 7000]);

x=x(:,1);

x=[x;zeros(400,1)]; %使语音信号与延时后信号同等长度 x0=x+z; %信号的混响

figure(7)

plot(x0),title('混响的信号时域波形') %作混响信号的时域波形

X0=fft(x0,4001); %对混响信号作4001点的FFT 变换 figure(8)

subplot(2,1,1);plot(abs(X0)),title('混响信号幅频特性'),grid on subplot(2,1,2);plot(angle(X0)),title('混响信号相频特性'),grid on sound(5*x0,fs)

程序运行后的结果如下:

图3.3 混响信号的时域波形

从图3.3的混响信号的波形图看,经混响的波形前一小部分没有变化,之后的很多地方的幅度都增强了。但也有点地方幅度减小了。可以看出,原始语音信号和延时后的信号叠加,引起幅度的变化。

图3.4 混响信号的频谱图

从图3.4的频谱中可以看出,混响后的信号频谱更均匀一些。其中,幅度谱变化较明显,有的地方明显多出新的频率分量。与原始信号频谱相比,混响信号的频谱的分布疏密、起伏变化较明显。

四、 几种特殊滤波器的设计及对信号的滤波

4.1 单回声滤波器

主要代码如下:

a=0.5; % 设置相关参数,a 取小于1 R=5000;

B=[1,zeros(1,R-1),a]; A=[1];

mplot(B,A) %调用自编函数mplot 求单回声滤波器的频响 y1=filter(B,A,y); %信号经单回声滤波器滤波

Y1=fft(y1,4001); %对滤波后的信号作4001点FFT 变换 figure(9)

plot(y1),title('单回声滤波器滤波后信号波形') figure(10)

subplot(2,1,1);plot(abs(Y1)),title('单回声滤波器滤波后信号幅频') subplot(2,1,2);plot(angle(Y1)),title('单回声滤波器滤波后信号相频') sound(5*y1,fs)

自编函数mplot ()具体格式见附录。 程序运行后的结果如下:

图4.1 单回声滤波器的频响特性曲线

图4.2 单回声滤波器滤波后的波形

图4.3 单回声滤波器滤波后的信号频谱

分析:从时域上看,滤波后的波形与滤波前的波形大体相同,幅度上略微有所减小。从频域上看,滤波前后也大致相同,幅度谱有些上下跳动。

4.2 多重回声滤波器

主要代码如下:

a=0.5; %设置相关参数,a 取小于1

N=5; R=10000;

B=[1,zeros(1,N*R-1),-a^N]; A=[1,zeros(1,R-1),-a];

mplot(B,A) %调用自编函数mplot 求单回声滤波器的频响 y2=filter(B,A,y); %信号经多重回声滤波器滤波 Y2=fft(y2,4001); %对滤波后的信号作4001点FFT 变换 figure(11)

plot(y2),title('多重回声滤波器滤波后信号波形') figure(12)

subplot(2,1,1);plot(abs(Y2)),title('多重回声滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y2)),title('多重回声滤波器滤波后信号相频'),grid on

sound(5*y2,fs) 程序运行后的结果如下:

图4.4 多重回声滤波器的频响特性曲线

图4.5 多重回声滤波器滤波后的信号波形

图4.5 多重回声滤波器滤波后的信号频谱

分析:从时域上看,波形变化较大,后一小部分近似为一条直线。从频谱上看,幅度略有减小,幅度谱和相位谱都呈比较均匀的分布。

4.3 无限个回声滤波器

主要代码如下:

a=0.5; %设置相关参数,a 取小于1 R=2000;

B=[0,zeros(1,R-1),1]; A=[1,zeros(1,R-1),-a];

mplot(B,A) %调用自编函数mplot 求单回声滤波器的频响 y3=filter(B,A,y); %信号经多重回声滤波器滤波 Y3=fft(y3,4001); %对滤波后的信号作4001点FFT 变换 figure(13)

plot(y3),title('无限回声滤波器滤波后信号波形') figure(14)

subplot(2,1,1);plot(abs(Y3)),title('无限回声滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y3)),title('无限回声滤波器滤波后信号相频'),grid on

sound(5*y3,fs) 程序运行后的结果如下:

图4.6 无限个回声滤波器的频响特性曲线

图4.7 无限个回声滤波器滤波后的信号波形

图4.8 无限个回声滤波器滤波后的信号频谱

分析:从时域上看,波形与滤波前相比变化较大,幅度大体相同,只是前一段波形为一条直线。从频谱上看,幅度总体上都减小了,但频谱分量增多了,相位谱呈比较均匀的分布。

4.4 全通结构的混响器

主要代码如下:

a=0.5; %设置相关参数,a 取小于1

R=5000;

B=[a,zeros(1,R-1),1]; A=[1,zeros(1,R-1),a];

mplot(B,A) %调用自编函数mplot 求单回声滤波器的频响 y4=filter(B,A,y); %信号经多重回声滤波器滤波 Y4=fft(y4,4001); %对滤波后的信号作4001点FFT 变换 figure(15)

plot(y4),title('全通滤波器滤波后信号波形') figure(16)

subplot(2,1,1);plot(abs(Y4)),title('全通滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y4)),title('全通滤波器滤波后信号相频'),grid on

sound(5*y4,fs) 程序运行后的结果如下:

图4.9 全通结构的混响器的频响特性

图4.10 全通结构的混响器滤波后的波形

图4.11 全通结构的混响器滤波后的信号频谱

分析:从时域上看,波形与滤波前相比波的形状大致一样,幅度减小较大。

从频谱上看,幅度谱总体上都减小了,但零频附近的幅度谱较其他频率高。相位谱还是分布均匀。

五、 心得体会

通过这次的信息处理课群综合训练与设计,我对语音信号的延时和混响有了进一步的认识,对其理论知识有了深入的了解,尤其对单回声滤波器、多重回声滤波器、无限个回声滤波器、全通结构的混响器等几种特殊的滤波器的系统函数和频响特性都有了一定的了解。

此次的课程设计,把我所学的《信号与系统》、《数字信号处理》等专业课基础理论知识紧密的联系在一起,进一步加深了我对这些专业基础课理论的学习。

在设计的过程中,由于我对混响的概念不是很清楚,对设计任务中所提及的几种特殊滤波器也不十分熟悉,所以开始时遇到了很大的困难。最终经过各方面的搜索,终于在相关的书籍资料中找到了相关方案路线。

在多次的编程调试中,我对MATLAB 的掌握更加熟练了。在实际使用的过程中,我深刻体会到MATLAB 的强大系统设计和信号处理的功能。对通信工程专业的学生来说,熟练掌握MATLAB 软件是一项很重要的技能,通过本次课程设计,我们能够系统的了解理论知识,将理论与实践相结合,学以致用,真正运用到生活中去,具有很重要的实践意义。

六、 参考文献

[1]陈怀琛 《MATLAB 及在电子信息课程中的应用》 电子工业出版社2006 [2]刘泉 《数字信号处理原理与实现》 电子工业出版社 2005 [3]刘泉 《信号与系统》 高等教育出版社 2006

[4]高西全 丁玉美 《数字信号处理》 西安电子科技大学出版社 2008 [5]陈生潭 《信号与系统》西安电子科技大学出版社 2008 [6]丁毓峰

MATLAB 函数查询及应用案例》电子工业出版社2011 《

附录:程序清单

%原始语音信号读取及频谱分析源代码:

x1=wavread('2.wav'); %原始信号采样 x2=x1(:,1); figure(1) plot(x2)

title('原始信号的时域波形') sound(5*x2,40000) Y1=fft(x2,4001); figure(2)

subplot(2,1,1);plot(abs(Y1)),title('原始信号的幅度频谱'),grid on subplot(2,1,2);plot(angle(Y1)),title('原始信号的相位频谱'),grid on

%采样信号及其延时、混响波形和频谱分析源代码: [x,fs,bits]=wavread('2.wav',[1000 7000]); x=x(:,1); Y=fft(x,4001); figure(3)

plot(x),title('采样后的信号时域波形') figure(4)

subplot(2,1,1);plot(abs(Y)),title('采样信号幅频特性'),grid on subplot(2,1,2);plot(angle(Y)),title('采样信号相频特性'),grid on sound(5*x,fs) %回放语音信号 z=[zeros(400,1);x]; %采样信号的延时 figure(5)

plot(z),title('延时后的信号时域波形') Z=fft(z,4001); figure(6)

subplot(2,1,1);plot(abs(Z)),title('延时信号幅频特性'),grid on subplot(2,1,2);plot(angle(Z)),title('延时信号相频特性'),grid on sound(5*z,fs)

x=[x;zeros(400,1)]; %信号的混响 x0=x+z; figure(7)

plot(x0),title('混响的信号时域波形') X0=fft(x0,4001); figure(8)

subplot(2,1,1);plot(abs(X0)),title('混响信号幅频特性'),grid on subplot(2,1,2);plot(angle(X0)),title('混响信号相频特性'),grid on sound(5*x0,fs)

%单回声滤波器的设计及语音信号的滤波 [x,fs,bits]=wavread('2.wav',[1000 7000]); x=x(:,1);

z=[zeros(400,1);x]; y=[x;zeros(400,1)]; a=0.5; R=5000;

B=[1,zeros(1,R-1),a]; A=[1]; mplot(B,A) y1=filter(B,A,y); Y1=fft(y1,4001); figure(9)

plot(y1),title('单回声滤波器滤波后信号波形') figure(10)

subplot(2,1,1);plot(abs(Y1)),title('单回声滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y1)),title('单回声滤波器滤波后信号相频'),grid on sound(5*y1,fs)

%多重回声滤波器的设计及语音信号的滤波 [x,fs,bits]=wavread('2.wav',[1000 7000]); x=x(:,1);

z=[zeros(400,1);x]; y=[x;zeros(400,1)]; a=0.5; N=5; R=10000;

B=[1,zeros(1,N*R-1),-a^N]; A=[1,zeros(1,R-1),-a]; mplot(B,A) y2=filter(B,A,y); Y2=fft(y2,4001); figure(11)

plot(y2),title('多重回声滤波器滤波后信号波形') figure(12)

subplot(2,1,1);plot(abs(Y2)),title('多重回声滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y2)),title('多重回声滤波器滤波后信号相频'),grid on sound(5*y2,fs)

%无限个回声滤波器的设计及语音信号的滤波 [x,fs,bits]=wavread('2.wav',[1000 7000]); x=x(:,1);

z=[zeros(400,1);x]; y=[x;zeros(400,1)];

a=0.5; R=2000;

B=[0,zeros(1,R-1),1]; A=[1,zeros(1,R-1),-a]; mplot(B,A) y3=filter(B,A,y); Y3=fft(y3,4001); figure(13)

plot(y3),title('无限回声滤波器滤波后信号波形') figure(14)

subplot(2,1,1);plot(abs(Y3)),title('无限回声滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y3)),title('无限回声滤波器滤波后信号相频'),grid on sound(5*y3,fs)

%全通结构的混响器的设计及语音信号的滤波 [x,fs,bits]=wavread('2.wav',[1000 7000]); x=x(:,1);

z=[zeros(400,1);x]; y=[x;zeros(400,1)]; a=0.5; R=5000;

B=[a,zeros(1,R-1),1]; A=[1,zeros(1,R-1),a]; mplot(B,A) y4=filter(B,A,y); Y4=fft(y4,4001); figure(15)

plot(y4),title('全通滤波器滤波后信号波形')

figure(16)

subplot(2,1,1);plot(abs(Y4)),title('全通滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y4)),title('全通滤波器滤波后信号相频'),grid on

sound(5*y4,fs)

%自编函数mplot(),用于计算离散时间系统的频响特性 function mpplot(B,A) [H,W]=freqz(B,A,600); m=abs(H);p=angle(H); subplot(2,1,1); plot(m);grid on;

xlabel('频率点n'); ylabel('幅度') title('(a )幅频特性曲线'); subplot(2,1,2); plot(p);

xlabel('频率点n'); ylabel('相位'); grid on; title('(b )相频特性曲线');

课程设计任务书

学生姓名: 专业班级:

指导教师:

题 目:声音的延时和混响仿真

初始条件: 1. 《数字信号处理》基本理论知识

2.《信号与系统》基本理论知识

3.MATLAB 编程基础知识

4. 装有MATLAB 的PC 机

5.Window 下的录音机或其他具有录音功能的软件

6. 信号的延时、混响,几个特殊滤波器的相关理论知识

要求完成的主要任务:

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

(2)语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图。

(3)将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较。

(4)设计几种特殊类型的滤波器:单回声滤波器,多重回声滤波器,无限个回声滤波器,全通结构的混响器,并画出滤波器的频域响应。

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

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

(7)回放语音信号。

时间安排:

第17周:下达任务,查找资料;

第18周:编写程序并调试;

撰写设计报告并答辩。

指导教师签名: 年 月 日

系主任(或责任教师)签名: 年 月 日

目录

摘要 ........................................................................ 1

Abstract..................................................................... 2

一、 设计说明 . ............................................................... 3

1.1 设计任务 . ............................................................ 3

1.2 设计要求 . ............................................................ 3

1.3 设计原理 . ............................................................ 3

1.3.1 研究背景及意义 . ................................................ 4

1.3.2 总体方案设计框图 . .............................................. 4

1.3.3 信号采样 . ...................................................... 5

1.3.4 信号延时 . ...................................................... 6

1.3.5 信号混响 . ...................................................... 7

1.3.6 离散傅里叶变换 . ................................................ 7

1.3.7 滤波器 . ........................................................ 8

二、 原始信号的读取及采样 . .................................................. 10

2.1 原始信号的读取及频谱分析 . ........................................... 10

2.2 原始信号的采样及频谱分析 . ........................................... 11

三、 采样信号的延时及混响 . .................................................. 14

3.1 采样信号的延时及频谱分析 . ........................................... 14

3.2 采样信号的混响及频谱分析 . ........................................... 16

四、 几种特殊滤波器的设计及对信号的滤波 . .................................... 19

4.1 单回声滤波器 . ....................................................... 19

4.2 多重回声滤波器 . ..................................................... 22

4.3 无限个回声滤波器 . ................................................... 24

4.4 全通结构的混响器 . ................................................... 27

五、 心得体会 . .............................................................. 30

六、 参考文献 . .............................................................. 31

附录:程序清单 . ............................................................. 32

摘要

随着科技的日益进步,传统的视音频行业与IT 行业越来越紧密的结合在一起。IT 领域的科技成果越来越普遍的应用于视音频领域并大大的推动了视音频科技的进步。在MATLAB 下实现的声音的延时和混响就是其在音频领域应用的一个很好的例子。MATLAB 的信号处理与分析工具箱为语音信号的分析提供了十分丰富的功能函数。利用这些功能函数可以方便地完成语音信号的处理和分析。

数字语音滤波器是语音信号处理的核心部件。广泛应用于通信、语音识别、语音增强等领域。每一款数字滤波器的应用针对性都很强,其性能直接决定了产品质量。因此科学界和工业界都对其进行了深入的研究,发明了各种滤波器的实现结构。本次课程设计就是用设计的数字滤波器对信号进行滤波,比较滤波前后信号特性的变化,从而分析其相互关系。

关键词 :MATLAB ,数字滤波器,延时, 混响

Abstract

With the daily improvement of technology, the combination of traditional multimedia industry and IT industry is more and closer. A achievement in IT area are widely used in multimedia area, which in turn greatly improve the multimedia industry. The sound delay and reverb under MATLAB is a good example in the field of audio applications. A variety of map showing the signal processing and analysis toolkit for speech signal analysis provides a very rich feature function, which can easily complete the speech signal processing and analysis.

As the core part of audio signal processing system, digital audio filter used in areas of communications, voice reorganization and voice enhance widely. Every digital filter takes on special the application scope, and its performance plays import role in the quality of the products, so scientific community and industrial community reached deeply in this side and invented many structures of filter. The curriculum design is a digital filter designed to signal filtering, comparing before and after filtering changes in signal characteristics, in order to analyze their mutual relations.

Key words:MATLAB, digital filters, delay, reverb.

声音的延时和混响仿真

(The Sound’s Delay and Reverb Simulation)

一、 设计说明

1.1 设计任务

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

(2)语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图。

(3)将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较。

(4)设计几种特殊类型的滤波器:单回声滤波器,多重回声滤波器,无限个回声滤波器,全通结构的混响器,并画出滤波器的频域响应。

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

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

(7)回放语音信号。

1.2 设计要求

(1)熟悉离散信号和系统的时域特性。

(2)熟悉语音信号的特点。

(3)掌握数字信号处理的基本概念,基本理论和基本方法。

(4)掌握序列快速傅里叶变换方法。

(5) 学会MATLAB 的使用,掌握MATLAB 的程序设计方法。

(6) 掌握MATLAB 设计各种数字滤波器的方法和对信号进行滤波的方法。

1.3 设计原理

1.3.1 研究背景及意义

音频信号在人类社会中发挥着举足轻重的作用。从古至今人类始终依靠声音信息传递自己的信息、感情。现今,随着计算机、通信、微电子和网络技术的迅猛发展,人们已经改变了传统的利用声音、传递声音的方式。从摇旗呐喊到无线通信,人类利用声音的方式始终与时代最高科技水平联系在一起,因为声音是人类最重要的交流工具。

混响在人们的生活中是一种常见的声学现象。无论是在会议室里开会,还是在音乐厅里欣赏音乐,人们都会明显感觉到混响声音的存在。不同类型的声音对声学环境的要求是不同的。按照某一固定声学设计无法满足现代多功能厅所担负的最佳混响效果不同的要求。传统上采用在房间内布置不同吸音系数的反射板或升降吊顶来改变厅堂的容积,以调节厅内的混响时间的方法,显然不仅麻烦,且难以调到最佳效果。随着电子技术的发展,数字信号处理器性能的不断提高,上述原本只有通过建筑声学才能解决的声学效果问题,现在可以利用电声学知识以数字信号处理的手段较为方便地解决。可以说电子技术的发展,数字信号处理技术的完善,给声学带来一次前所未有的重大变革。

滤波在信号处理中一直占有十分重要的地位。现在几乎在所有需要信号处理的领域都可以使用数字信号处理技术精确快速的对复杂数据进行处理。数字滤波是数字信号处理技术的基本方法,如对信号的过滤、检测、预测等,都要广泛地用到滤波器。数字滤波器分成两种形态:有限长脉冲响应滤波器(FIR )和无限长脉冲响应滤波器(IIR )。无论哪一种滤波器的设计都需要大量的计算,用手工计算已不现实,因此必须借助计算机来完成。其中,MATLAB 是一款十分优秀的计算和仿真软件。MATLAB 是一种面向科学和工程计算的语言,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有编程效率高、调试手段丰富、扩充能力强等特点。MATLAB 的信号处理工具箱具有强大的函数功能,它不仅可以用来设计数字滤波器,还可以使设计达到最优化,是数字滤波器设计的强有力工具。 1.3.2 总体方案设计框图

依据设计任务,总体方案如下:首先是原始语音信号的读取和采样。接下来分为两个部分。第一部分完成采样信号的的延时和混响操作,并分别画出其时域

波形和频谱图,并与原始语音信号的频谱进行比较。第二部分完成利用设计任务中所提及的几种特殊滤波器对采样信号进行滤波。先进行设计,再用设计好的滤波器对信号进行滤波,画出滤波后的信号的时域波形和频谱,并与原始语音信号的频谱进行比较。最后回放语音信号。

图1.1 总体设计框图

1.3.3 信号采样

离散时间信号通常是由连续时间信号经周期采样得到的。完成采样功能的器件称为采样器,下图所示为采样器的示意图。图中Xa(t)表示模拟信号,Xa(nt)表示采样信号,T 为采样周期,n=0,1,2,…。一般可以把采样器视为一个每隔T 秒闭合一次的电子开关S 。在理想情况下,开关闭合时间τ满足τ

图1.2 采样器示意图及波形图

采样信号的频谱分析自然要使用快速傅里叶变换FFT 了,对应的命令即 fft ,简单使用方法为:Y=fft(b,N),其中b 即是采样数据,N 为fft 数据采样个数。一般不指定N ,即简化为Y=fft(b)。Y 即为FFT 变换后得到的结果,与b 的元素数相等,为复数。以频率为横坐标,Y 数组每个元素的幅值为纵坐标,画图即得数据b 的幅频特性;以频率为横坐标,Y 数组每个元素的角度为纵坐标,画图即得数据b 的相频特性。

对于现实中的情况,采样频率fs 一般都是由采样仪器决定的,即fs 为一个给定的常数;另一方面,为了获得一定精度的频谱,对频率分辨率F 有一个人为的规定,一般要求F100秒;由采样时间ts 和采样频率fs 即可决定采样数据量,即采样总点数N=fs*ts。这就从理论上对采样时间ts 和采样总点数N 提出了要求,以保证频谱分析的精准度。

1.3.4 信号延时

延时就是将音源延迟一段时间后,再与播放的效果处理。依其延迟时间的不同,可分别产生合唱、镶边、回音等效果。

延时所产生的效果的可调参数都差不多,主要有以下几项:

(1) 延时时间:指可以调整主要的延时电路的延时时间;

(2) 反馈增益:指可以控制延时反馈时的增益,即放大倍数;

(3) 反馈高频比:指可以控制反馈回路上的高频分量的衰减;

(4) 调制频率:即主要延时电路的调频周期;

(5) 高频增益:即高频均衡控制;

(6) 预延时:指调整主延时电路的预延时时间。

1.3.5 信号混响

声音在一个封闭的空间中到达听众时,包含几个部分:直达声、早期的反射声和混响。早期的反射由几个空间上临近的直达声的基本延迟和衰减组成,而混响则由密集的回声组成。混响效果主要是增加音源的融合感。自然音源的延时声阵列非常密集复杂,所以模拟混响效果的程序也复杂多变。

1.3.6 离散傅里叶变换

离散傅里叶变换(DFT )的实质是有限长序列傅里叶变换的有限点离散采样,从而实现了频域离散化,使数字信号处理可以在频域采用数值运算的方法进行,这样就大大增加了数字信号处理的灵活性。更重要的是,DFT 有多种快速算法,统称为快速傅里叶变换(FFT ),从而使信号的实时处理和设备的简化得以实现。因此,时域离散系统的研究与应用在许多方面都已取代了传统的连续时间系统。所以说,DFT 不仅在理论上有重要意义,而且在各种信号的处理中亦起着核心作用。

设x(n)是一个长度为M 的有限长序列,则定义x(n)的N 点离散傅里叶变换为:

kn X (k ) =DFT [x (n )]=∑x (n ) W N k =0,1,..., N -1

n =0N -1

X (k ) 的离散傅里叶逆变换(IDFT )为: -kn n =0,1,..., N -1 x (n ) =IDFT [X (k )]=N ) ∑X (k ) W N

k =0N -1

式中,W N =e -j (2πN ) ,N 称为DFT 的变换区间长度,N ≥M . 通常将上述两式称为离散傅里叶变换对。

将上式代入下式得:

mk -kn ]W N IDFT [X (k )]N =N ) ∑[∑x (m ) W N

k =0m =0N -1N -1

N -1N -1

k =0 =m =0∑x (m N ) ∑W k (m -n ) N 由于W N =e -j (2πN ) 隐含的周期性,在变换区间上满足下式:

) (x n 0≤n ≤N -1 I D F [T (X ) k ]=N

所以,定义的离散傅里叶变换对是唯一的。

MATLAB提供了快速傅里叶变换算法(FFT )计算DFT 的函数fft, 其调用格式如下:

X (k ) =fft (xn , N )

调用参数xn 为被变换的时域序列向量,N 是DFT 变换区间长度,当N 大于xn 的长度时,fft 函数自动在xn 后面补零,函数返回xn 的N 点DFT 变换结果向量Xk ,这时,X (k ) =DFT [x (n )]N =Xk (k +1) ,k =0N -1。当N 小于xn 的长度时,fft 函数计算xn 的前面N 个元素构成的序列的N 点DFT, 忽略xn 后面的元素。

1.3.7 滤波器

首先介绍本次设计需要用到的几个特殊的滤波器

(1)单回声滤波器

单回声是在直达声和m 个抽样周期后出现的一种回声,其差分方程为: y [n ]=x [n ]+ax [n -m ], a 1

对上式进行z 变换,可得单回声滤波器的传输函数为:

H (z ) =1+az -m a

(2)多重回声滤波器

多重回声是以间隔m 个抽样周期分开的振幅以指数形式衰减的回声,其传输函数为:

H (z ) =1+az -m +a 2z -2m +1 +a N -1z -(N -1) m

=(1-a N z -Nm ) (1-az -m ) a 1

(3)无限个回声滤波器

无限个回声滤波器的传输函数为: H (z ) =(z -m ) (1-az -m ) , a

(4)全通结构的混响器

全通结构的混响器的传输函数为: H (z ) =(a +z -m ) +az -m ) , a

1 1

其中,m 为回声延时取样,a 为反馈系数.

MATLAB 提供了专门用于求离散时间系统的频率响应特性的函数freqz(),其调用格式有以下两种:

(1)[H , W ]=freqz (B , A , N )

(2) [H , W ]=freqz (B , A , N ,' whole ')

(1)中B 和A 分别为离散系统的系统函数分子、分母多项式的系数向量,返回量H 则包含了离散系统频率响应在0π范围内N 个频率等分点的值(其中N 为正整数),W 则包含了范围内N 个频率等分点

(2)中调用格式将计算离散系统在0π范围内N 个频率等分点的频率响应的值。

因此,可以先调用函数freqz()计算离散系统的频率响应,然后利用abs()、angle()函数和plot()函数,即可绘出离散系统的频响特性曲线。

对信号进行滤波则需调用函数filter(),其调用格式为:

y =filter (b , a , x )

该函数可以对数字滤波器进行滤波,既可以用于IIR 滤波器,也可以用于FIR 滤波器。其中b 和a 分别表示离散系统的系统函数分子、分母多项式的系数向量,a =1表示是FIR 滤波器。

二、 原始信号的读取及采样

2.1 原始信号的读取及频谱分析

采用函数wavread()函数读取原始信号,主要代码(具体代码见附录)如下: x1=wavread('2.wav');

x2=x1(:,1); %只提取单声道

plot(x2)

sound(5*x2,40000) %回放语音信号

Y1=fft(x2,4001);

程序运行后的结果如下:

图2.1 原始信号的时域波形图

图2.2 原始信号的频谱图

2.2 原始信号的采样及频谱分析

重要代码如下:

[x, fs, bits]=wavread('2.wav',[1000 7000]);

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

Y=fft(x,4001); %对信号作4001点FFT 变换 sound(5*x, fs) %回放语音信号

其中,[x, fs, bits]=wavread('2.wav',[1000 7000])语句用于读取语音,采样值放于向量x 中,fs 表示采样频率,bits 表示采样位数。

程序运行后的结果如下:

图2.3 采样信号的时域波形

图2.4 采样信号的频谱图

对原始信号采样后,采样信号的时域波形明显出现了离散化分布,不像原始信号那样分布密集。频谱图的变化很微小,与原始信号的频谱图相比,几乎没有发生改变。

三、 采样信号的延时及混响

3.1 采样信号的延时及频谱分析

对采样信号进行延时操作,主要代码如下:

[x,fs,bits]=wavread('2.wav',[1000 7000]);

x=x(:,1);

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

figure(5)

plot(z),title('延时后的信号时域波形') %画出延时信号波形

Z=fft(z,4001); %对延时信号作4001点FFT 变换 figure(6)

subplot(2,1,1);plot(abs(Z)),title('延时信号幅频特性'),grid on subplot(2,1,2);plot(angle(Z)),title('延时信号相频特性'),grid on sound(5*z,fs) %回放延时信号 程序运行后的结果如下:

图3.1 延时信号的时域波形

从图3.1中的时域图可以明显的看出,延时后的语音信号与原来的语音信号的波形相比,向右移动了400,即采样信号在时间上被延迟了。

图3.2 延时信号的频谱图

延时信号的频谱图与原来的语音信号频谱图相比,延时后的幅度谱略微发生了变化,相位谱变化也较小。

3.2 采样信号的混响及频谱分析

对采样信号进行混响操作,主要代码如下:

[x,fs,bits]=wavread('2.wav',[1000 7000]);

x=x(:,1);

x=[x;zeros(400,1)]; %使语音信号与延时后信号同等长度 x0=x+z; %信号的混响

figure(7)

plot(x0),title('混响的信号时域波形') %作混响信号的时域波形

X0=fft(x0,4001); %对混响信号作4001点的FFT 变换 figure(8)

subplot(2,1,1);plot(abs(X0)),title('混响信号幅频特性'),grid on subplot(2,1,2);plot(angle(X0)),title('混响信号相频特性'),grid on sound(5*x0,fs)

程序运行后的结果如下:

图3.3 混响信号的时域波形

从图3.3的混响信号的波形图看,经混响的波形前一小部分没有变化,之后的很多地方的幅度都增强了。但也有点地方幅度减小了。可以看出,原始语音信号和延时后的信号叠加,引起幅度的变化。

图3.4 混响信号的频谱图

从图3.4的频谱中可以看出,混响后的信号频谱更均匀一些。其中,幅度谱变化较明显,有的地方明显多出新的频率分量。与原始信号频谱相比,混响信号的频谱的分布疏密、起伏变化较明显。

四、 几种特殊滤波器的设计及对信号的滤波

4.1 单回声滤波器

主要代码如下:

a=0.5; % 设置相关参数,a 取小于1 R=5000;

B=[1,zeros(1,R-1),a]; A=[1];

mplot(B,A) %调用自编函数mplot 求单回声滤波器的频响 y1=filter(B,A,y); %信号经单回声滤波器滤波

Y1=fft(y1,4001); %对滤波后的信号作4001点FFT 变换 figure(9)

plot(y1),title('单回声滤波器滤波后信号波形') figure(10)

subplot(2,1,1);plot(abs(Y1)),title('单回声滤波器滤波后信号幅频') subplot(2,1,2);plot(angle(Y1)),title('单回声滤波器滤波后信号相频') sound(5*y1,fs)

自编函数mplot ()具体格式见附录。 程序运行后的结果如下:

图4.1 单回声滤波器的频响特性曲线

图4.2 单回声滤波器滤波后的波形

图4.3 单回声滤波器滤波后的信号频谱

分析:从时域上看,滤波后的波形与滤波前的波形大体相同,幅度上略微有所减小。从频域上看,滤波前后也大致相同,幅度谱有些上下跳动。

4.2 多重回声滤波器

主要代码如下:

a=0.5; %设置相关参数,a 取小于1

N=5; R=10000;

B=[1,zeros(1,N*R-1),-a^N]; A=[1,zeros(1,R-1),-a];

mplot(B,A) %调用自编函数mplot 求单回声滤波器的频响 y2=filter(B,A,y); %信号经多重回声滤波器滤波 Y2=fft(y2,4001); %对滤波后的信号作4001点FFT 变换 figure(11)

plot(y2),title('多重回声滤波器滤波后信号波形') figure(12)

subplot(2,1,1);plot(abs(Y2)),title('多重回声滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y2)),title('多重回声滤波器滤波后信号相频'),grid on

sound(5*y2,fs) 程序运行后的结果如下:

图4.4 多重回声滤波器的频响特性曲线

图4.5 多重回声滤波器滤波后的信号波形

图4.5 多重回声滤波器滤波后的信号频谱

分析:从时域上看,波形变化较大,后一小部分近似为一条直线。从频谱上看,幅度略有减小,幅度谱和相位谱都呈比较均匀的分布。

4.3 无限个回声滤波器

主要代码如下:

a=0.5; %设置相关参数,a 取小于1 R=2000;

B=[0,zeros(1,R-1),1]; A=[1,zeros(1,R-1),-a];

mplot(B,A) %调用自编函数mplot 求单回声滤波器的频响 y3=filter(B,A,y); %信号经多重回声滤波器滤波 Y3=fft(y3,4001); %对滤波后的信号作4001点FFT 变换 figure(13)

plot(y3),title('无限回声滤波器滤波后信号波形') figure(14)

subplot(2,1,1);plot(abs(Y3)),title('无限回声滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y3)),title('无限回声滤波器滤波后信号相频'),grid on

sound(5*y3,fs) 程序运行后的结果如下:

图4.6 无限个回声滤波器的频响特性曲线

图4.7 无限个回声滤波器滤波后的信号波形

图4.8 无限个回声滤波器滤波后的信号频谱

分析:从时域上看,波形与滤波前相比变化较大,幅度大体相同,只是前一段波形为一条直线。从频谱上看,幅度总体上都减小了,但频谱分量增多了,相位谱呈比较均匀的分布。

4.4 全通结构的混响器

主要代码如下:

a=0.5; %设置相关参数,a 取小于1

R=5000;

B=[a,zeros(1,R-1),1]; A=[1,zeros(1,R-1),a];

mplot(B,A) %调用自编函数mplot 求单回声滤波器的频响 y4=filter(B,A,y); %信号经多重回声滤波器滤波 Y4=fft(y4,4001); %对滤波后的信号作4001点FFT 变换 figure(15)

plot(y4),title('全通滤波器滤波后信号波形') figure(16)

subplot(2,1,1);plot(abs(Y4)),title('全通滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y4)),title('全通滤波器滤波后信号相频'),grid on

sound(5*y4,fs) 程序运行后的结果如下:

图4.9 全通结构的混响器的频响特性

图4.10 全通结构的混响器滤波后的波形

图4.11 全通结构的混响器滤波后的信号频谱

分析:从时域上看,波形与滤波前相比波的形状大致一样,幅度减小较大。

从频谱上看,幅度谱总体上都减小了,但零频附近的幅度谱较其他频率高。相位谱还是分布均匀。

五、 心得体会

通过这次的信息处理课群综合训练与设计,我对语音信号的延时和混响有了进一步的认识,对其理论知识有了深入的了解,尤其对单回声滤波器、多重回声滤波器、无限个回声滤波器、全通结构的混响器等几种特殊的滤波器的系统函数和频响特性都有了一定的了解。

此次的课程设计,把我所学的《信号与系统》、《数字信号处理》等专业课基础理论知识紧密的联系在一起,进一步加深了我对这些专业基础课理论的学习。

在设计的过程中,由于我对混响的概念不是很清楚,对设计任务中所提及的几种特殊滤波器也不十分熟悉,所以开始时遇到了很大的困难。最终经过各方面的搜索,终于在相关的书籍资料中找到了相关方案路线。

在多次的编程调试中,我对MATLAB 的掌握更加熟练了。在实际使用的过程中,我深刻体会到MATLAB 的强大系统设计和信号处理的功能。对通信工程专业的学生来说,熟练掌握MATLAB 软件是一项很重要的技能,通过本次课程设计,我们能够系统的了解理论知识,将理论与实践相结合,学以致用,真正运用到生活中去,具有很重要的实践意义。

六、 参考文献

[1]陈怀琛 《MATLAB 及在电子信息课程中的应用》 电子工业出版社2006 [2]刘泉 《数字信号处理原理与实现》 电子工业出版社 2005 [3]刘泉 《信号与系统》 高等教育出版社 2006

[4]高西全 丁玉美 《数字信号处理》 西安电子科技大学出版社 2008 [5]陈生潭 《信号与系统》西安电子科技大学出版社 2008 [6]丁毓峰

MATLAB 函数查询及应用案例》电子工业出版社2011 《

附录:程序清单

%原始语音信号读取及频谱分析源代码:

x1=wavread('2.wav'); %原始信号采样 x2=x1(:,1); figure(1) plot(x2)

title('原始信号的时域波形') sound(5*x2,40000) Y1=fft(x2,4001); figure(2)

subplot(2,1,1);plot(abs(Y1)),title('原始信号的幅度频谱'),grid on subplot(2,1,2);plot(angle(Y1)),title('原始信号的相位频谱'),grid on

%采样信号及其延时、混响波形和频谱分析源代码: [x,fs,bits]=wavread('2.wav',[1000 7000]); x=x(:,1); Y=fft(x,4001); figure(3)

plot(x),title('采样后的信号时域波形') figure(4)

subplot(2,1,1);plot(abs(Y)),title('采样信号幅频特性'),grid on subplot(2,1,2);plot(angle(Y)),title('采样信号相频特性'),grid on sound(5*x,fs) %回放语音信号 z=[zeros(400,1);x]; %采样信号的延时 figure(5)

plot(z),title('延时后的信号时域波形') Z=fft(z,4001); figure(6)

subplot(2,1,1);plot(abs(Z)),title('延时信号幅频特性'),grid on subplot(2,1,2);plot(angle(Z)),title('延时信号相频特性'),grid on sound(5*z,fs)

x=[x;zeros(400,1)]; %信号的混响 x0=x+z; figure(7)

plot(x0),title('混响的信号时域波形') X0=fft(x0,4001); figure(8)

subplot(2,1,1);plot(abs(X0)),title('混响信号幅频特性'),grid on subplot(2,1,2);plot(angle(X0)),title('混响信号相频特性'),grid on sound(5*x0,fs)

%单回声滤波器的设计及语音信号的滤波 [x,fs,bits]=wavread('2.wav',[1000 7000]); x=x(:,1);

z=[zeros(400,1);x]; y=[x;zeros(400,1)]; a=0.5; R=5000;

B=[1,zeros(1,R-1),a]; A=[1]; mplot(B,A) y1=filter(B,A,y); Y1=fft(y1,4001); figure(9)

plot(y1),title('单回声滤波器滤波后信号波形') figure(10)

subplot(2,1,1);plot(abs(Y1)),title('单回声滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y1)),title('单回声滤波器滤波后信号相频'),grid on sound(5*y1,fs)

%多重回声滤波器的设计及语音信号的滤波 [x,fs,bits]=wavread('2.wav',[1000 7000]); x=x(:,1);

z=[zeros(400,1);x]; y=[x;zeros(400,1)]; a=0.5; N=5; R=10000;

B=[1,zeros(1,N*R-1),-a^N]; A=[1,zeros(1,R-1),-a]; mplot(B,A) y2=filter(B,A,y); Y2=fft(y2,4001); figure(11)

plot(y2),title('多重回声滤波器滤波后信号波形') figure(12)

subplot(2,1,1);plot(abs(Y2)),title('多重回声滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y2)),title('多重回声滤波器滤波后信号相频'),grid on sound(5*y2,fs)

%无限个回声滤波器的设计及语音信号的滤波 [x,fs,bits]=wavread('2.wav',[1000 7000]); x=x(:,1);

z=[zeros(400,1);x]; y=[x;zeros(400,1)];

a=0.5; R=2000;

B=[0,zeros(1,R-1),1]; A=[1,zeros(1,R-1),-a]; mplot(B,A) y3=filter(B,A,y); Y3=fft(y3,4001); figure(13)

plot(y3),title('无限回声滤波器滤波后信号波形') figure(14)

subplot(2,1,1);plot(abs(Y3)),title('无限回声滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y3)),title('无限回声滤波器滤波后信号相频'),grid on sound(5*y3,fs)

%全通结构的混响器的设计及语音信号的滤波 [x,fs,bits]=wavread('2.wav',[1000 7000]); x=x(:,1);

z=[zeros(400,1);x]; y=[x;zeros(400,1)]; a=0.5; R=5000;

B=[a,zeros(1,R-1),1]; A=[1,zeros(1,R-1),a]; mplot(B,A) y4=filter(B,A,y); Y4=fft(y4,4001); figure(15)

plot(y4),title('全通滤波器滤波后信号波形')

figure(16)

subplot(2,1,1);plot(abs(Y4)),title('全通滤波器滤波后信号幅频'),grid on

subplot(2,1,2);plot(angle(Y4)),title('全通滤波器滤波后信号相频'),grid on

sound(5*y4,fs)

%自编函数mplot(),用于计算离散时间系统的频响特性 function mpplot(B,A) [H,W]=freqz(B,A,600); m=abs(H);p=angle(H); subplot(2,1,1); plot(m);grid on;

xlabel('频率点n'); ylabel('幅度') title('(a )幅频特性曲线'); subplot(2,1,2); plot(p);

xlabel('频率点n'); ylabel('相位'); grid on; title('(b )相频特性曲线');


相关文章

  • 剧场礼堂B
  • 1. 序言: 在即将跨入20世纪的今天,由于中国经济的飞速发展,已经引起了世界各国的瞩目,加速了国内与国外的合作,而西安的经济地理位臵独特,各项建筑近年来发展迅速,使西安己经成为西部大开发的龙头城市. 陕西西安市为中国改革开放先行者,是中国 ...查看


  • 影音室声学设计方案
  • 柯先生视听室设计方案 信义影音 声学常识 音响器材重播声音的好坏,与聆听环境的建筑声学特性有着非常密切的关系,要使音响系统发挥最高性能,必须对听音房间作一定的声学处理. 对于听音房间的建筑声学特性,有4个方面需予以考虑,①混响时间,②混响衰 ...查看


  • 激励器的连接方法
  • 激励器的连接方法 1. 第一种方法仿照效果器的接法, 从调音台的EFFECT (或AUX) 输出接激励器的输入, 激励器的输 出接调音台一路通道的输入; 2. 第二种方法串接在需要激励器的某个通道中, 从INSERT 插口输入输出, 3. ...查看


  • 专业音响的基础知识
  • 专业音响的基础知识 专业音响的基础知识 一. 音箱 音箱是由扬声器.箱体.分频器等部分组成.1. 分类 A. 家用音箱和专业音箱.两者主要差异如下图所示 分类 音色(音质) 外型结构 灵敏度 音箱功率 家用音箱 音质纤细.层次分明.解析力强 ...查看


  • 声学专业基本知识
  • 声学专业基本知识的简单描述 1. 人耳能听到的频率范围是20Hz -20KHz . 2. 把声能转换成电能的设备是传声器. 3. 把电能转换成声能的设备是扬声器. 4. 声频系统出现声反馈啸叫,通常调节均衡器. 5. 房间混响时间过长,会出 ...查看


  • 计算机声场模拟软件ODEON及其应用_彭庆
  • 中国新技术新产品 2010NO .6 and Products 信息技术 计算机声场模拟软件ODEON 及其应用 彭庆 1 傅荣 2 (1.中国海洋大学信息科学与工程学院,山东青岛266100 摘 2.中国海洋大学新闻中心,山东青岛2661 ...查看


  • 声学名词解释
  • B 波长 声波振动一次所传播的距离,用声波的速度除以声波的频率就可以计算出该频率声波的波长,声波的波长范围为17米至1.7厘米,在室内声学中,波长的计算对于声场的分析有着十分重要的意义,要充分重视波长的作用.例如只有障碍物在尺寸大于一个声波 ...查看


  • 功率放大器原理与设计 1
  • 功率放大器原理与设计 学习要求:了解功率放大器电路工作原理,掌握其电路的设计与主要性能参数的测试方法:掌握音调控制器的设计方法与电子线路系统的装调技术及用Protel软件设计印制电路板. 一.音响放大器的基本组成 音响放大器的基本组成框图如 ...查看


  • 基于麦克风阵列的近场声源定位
  • 2008年4月四川大学学报(自然科学版) Apr.2008 第45卷第2期 Journalof SichuanUniversity(NaturalScienceEdition) v01.45No.2 文章编号:0490-6756(2008) ...查看


热门内容