当前位置:文档之家› 基于短时自相关函数法的基音周期检测

基于短时自相关函数法的基音周期检测

基于短时自相关函数法的基音周期检测
基于短时自相关函数法的基音周期检测

项目总结报告

—基音周期的检测

1. 项目整体框架

1.1目标

了解语音基音周期估计方法,掌握自相关法估计基音周期的原理。

1.2主要内容

本次基音周期的估算,我们选用的是短时自相关函数法,包括四个模块。

第一个模块为基音的端点检测,主要为了区分浊音和清音。第二个模块为基音检测中的带通滤波器,主要为了减少共振峰的干扰。第三个模块为短时自相关函数法做基音检测,主要为了计算出基音周期。第四个模块为平滑处理,主要为了消除偏离值点。

2. 模块一(端点检测)

2.1主要负责工作

利用能熵比法进行语音端点检测,区分语音帧的起点以及终点。

2.2具体实现方法

2.2.1实验步骤

1)取一段语音“tone4.wav ”,该语音内容是“妈妈,好吗,上马,骂人”,语

音长度为3.5秒,采样率Fs=8000. 进行简单的去除直流分量,然后幅值归一化,时域波形如图1所示。

2)设置好分帧参数,帧长wlen=320,帧移inc=80,调用函数y

=enframe(x,wlen,inc)';

对语音信号x 分帧处理。最后帧数Fn=337。

3)设置端点检测门限值T1=0.05,使用能熵比法进行端点检测。对分帧后的

语音y 每一帧进行FFT 运算,然后计算每一帧的能熵比值。从而计算出语音y 中的语音端点。结果如图2所示。

2.2.2能熵比法

设语音信号时域波形为X(n),加窗分帧处理后得到的第i 帧语音信号为Xi(m),则FFT 后表示为Xi(k),其中下标i 表示为第i 帧,而k 表示为第k 条谱线。该语音帧在频域中的短时能量为

Ei = Xi k ?n 2

k =0

Xi (k )

式中,N 为FFT 的长度,只去正频率部分。

而对于某一谱线k 的能量谱为Yi k =Xi k ?Xi(k),则每个频率分量的归一化谱概率密

度函数定义为

P i k=Y i(k)

Y i(l)

N/2

l=0

=

Y i(k)

E i

k=0,1,…,N?1

该语音帧的短时谱熵定义为

H i=?P i(k)logP i(k)

N/2

k=0

其中,只取正频率部分的谱熵,对应的能熵比表示为

EEF i=1+|E i/H i|

2.2.3代码编写

在主程序中,执行的是[voiceseg,vosl,SF,Ef]=pitch_vad1(y,fn,T1);

而调用了以下函数

function [voiceseg,vosl,SF,Ef]=pitch_vad1(y,fn,T1,miniL)

ifnargin<4, miniL=10; end

if size(y,2)~=fn, y=y'; end % 把y转换为每列数据表示一帧语音信号

wlen=size(y,1); % 取得帧长

for i=1:fn

Sp = abs(fft(y(:,i))); % FFT取幅值(:表示所有 y(:,1)表示第一列)

Sp = Sp(1:wlen/2+1); % 只取正频率部分

Esum(i) = sum(Sp.*Sp); % 计算能量值(能量放入Esum里)prob = Sp/(sum(Sp)); % 计算概率

H(i) = -sum(prob.*log(prob+eps)); % 求谱熵值(eps表示很小的数,避免为零)(谱熵放入H里)

end

hindex=find(H<0.1);%(find返回非零元素,hindex放入,即谱熵值小于0.1的索引)

H(hindex)=max(H);%(除去元音)

Ef=sqrt(1 + abs(Esum./H)); % 计算能熵比(将每一帧的能熵比放入Ef里)

Ef=Ef/max(Ef); % 归一化

zindex=find(Ef>=T1); % 寻找Ef中大于T1的部分

zseg=findSegment(zindex); % 给出端点检测各段的信息zsl=length(zseg); % 给出段数

j=0;

SF=zeros(1,fn);

for k=1 : zsl % 在大于T1中剔除小于miniL 的部分

ifzseg(k).duration>=miniL

j=j+1;

in1=zseg(k).begin;

in2=zseg(k).end;

voiceseg(j).begin=in1;

voiceseg(j).end=in2;

voiceseg(j).duration=zseg(k).duration;

SF(in1:in2)=1; % 设置SF(有话段的SF帧为1)

end

end

vosl=length(voiceseg); % 有话段的段数

2.2.4实验结果

图1 “妈妈,好吗,上马,骂人”语音的时域波形

图2图中实线代表语音起始点,虚线代表语音终点

2.2.5结果分析

基音周期是语音信号的重要参数之一,它描述了语音激励源的一个重要特征。语音的头、尾部并不能具有声带振动那样的周期性,也就是检测不到相应的基音周期。如果要进行基音周期的计算,首要的必然是检测语音端点,将有话段从整段语音中分离出来,才能开始对语音的基音周期进行计算.

利用能熵比法检测语音端点后,该语音段可分为四段,每段的起点以及终点如图二所示.

2.3总结

语音的预处理是非常关键的一环,做好这个实验的关键在于理解matlab语句的作用,录入语音信号,设定好参数,进行分帧处理,并通过能熵值的大小标比较,确定好语音信号的端点。

通过这次的检测,我了解了Matlab函数库非常的多,理解起来需要查阅很多公式以及资料,非常的耗时。做实验务必讲究认真专心,一步一个脚印的去做好每一个环节就可以了,与队友的配合以及沟通也是重要的一环,及时了解队友的情况,做好衔接。

3.模块二(基音检测中的带通滤波器)

3.1主要负责工作

用带通滤波器减少共振峰的干扰。

3.2具体实现方法

3.2.1算法原理

在使用相关法和AMDF法的基音检测之前常用到低通滤波器和带通滤波器,其主要目的

是减少共振峰的干扰。在文献中作者选用了500Hz作为滤波器的上限频率,并指出选择截止频率高不利于减少噪声和共振峰的影响。所以在本书的基音检测中的预滤波器选择的带宽为60~500Hz,高频截止频率选择500Hz,是因为基频区间的高端就在这个区域中,低频截止频率选择60Hz是为了减少工频和低频噪声的干扰。

我们选用IIR滤波器中的椭圆滤波器,因为IIR滤波器的运算量比FIR少,当然IIR滤波器会带来延迟,也就是相位的变化,但语音信号是对相位不敏感的信号;又选用椭圆滤波器,因为它在经典滤波器设计中相同过渡带和带宽条件下,需要的阶数比较小。在阶数相同的条件下,椭圆滤波器相比于其他类型的滤波器,能获得更窄的过渡带宽和较小的阻带波动, 就这点而言, 椭圆滤波器是最优的。

滤波器的要求为采样频率8000Hz,通带是60~500Hz,通带波纹为1dB,阻带分别为30Hz和2000Hz,阻带衰减为40dB。

3.2.2代码编写

%

% pr8_1_1

clear all; clc; close all;

fs=8000; fs2=fs/2; % 采样频率

Wp=[60 500]/fs2; % 滤波器通带

Ws=[20 2000]/fs2; % 滤波器阻带

Rp=1; Rs=40; % 通带的波纹和阻带的衰减

[n,Wn]=ellipord(Wp,Ws,Rp,Rs); % 计算滤波器的阶数

[b,a]=ellip(n,Rp,Rs,Wn); % 计算滤波器的系数

fprintf('b=%5.6f %5.6f %5.6f %5.6f %5.6f %5.6f %5.6f\n',b)

fprintf('a=%5.6f %5.6f %5.6f %5.6f %5.6f %5.6f %5.6f\n',a)

[db, mag, pha, grd,w]=freqz_m(b,a); % 求取频率响应曲线

plot(w/pi*fs/2,db,'k'); % 作图

grid; ylim([-90 10]);

xlabel('频率/Hz'); ylabel('幅值/dB');

title('椭圆6阶带通滤波器频率响应曲线');

3.2.3实验结果

由程序计算出滤波器系数为:

b=0.012280 -0.039508 0.042177 0.000000 -0.042177 0.039508 -0.012280

a=1.000000 -5.527146 12.854342 -16.110307 11.479789 -4.410179

0.713507

实验结果图:

图3 滤波前和后的语音信号

3.2.4结果分析

带通滤波器使原始信号变得更加平整,滤去了杂音,为基音检测减少干扰,使检测更加顺利进行。

3.3总结

通过这次课程实践,我深刻体会到自己在课程理论方面的不足,MATLAB的应用也相当生疏。在设计过程中,看不懂的东西很多,但是学会了通过上网搜查资料和自主从书本寻找知识。实践中遇到许多问题,但是和同学分工合作与讨论让我学会了很多平常学不到的知识。这次实践让我明白知识就像大海一样宽广,我们要像海绵吸水一样吸取有用的知识。

4.模块三(短时自相关函数法做基音检测)

4.1主要负责工作

在前面两个步骤之后用自相关函数法去实现基音周期的检测

4.2具体实现方法

4.2.1算法

设语音信号的时间序列x(n),它的自相关函数定义为:

R(k)=Σx(n)x(n-k),

K是时间的延迟量。

短时自相关函数有以下重要性质:

①如果信号x(n))具有周期性,周期是P,那么它的自相关函数R(k) 也具有周

期性,而且周期与信号x(n)的周期性相同。

②当k=0时,短时自相关函数具有最大值,即在延迟量为0,±P,±2P,,,时,

周期信号的自相关函数也达到最大值。

③短时自相关函数是偶函数,即R(k) =R(-k)。

短时自相关函数基因检测的主要原理大都是利用它的这些性质,通过比较原始信号和它的延迟后的信号之间的类似性质来确定基音周期。如果延迟量等于基音周期,那么两个信号具有最大类似性,或是直接找出短时自相关函数的两个最大值间的距离,即为基音周期的初估值。

在用短时自相关函数检测基音是,常用归一化的短时自相关函数,表达式为r(k)= R(k)/ R(0)

以上性质②中已指出,k=0,R(0)为最大值。所以r(k)的模值永远小于或等于1。

已知基音频率范围为60Hz~500Hz之间,采样率为fs时,则基音周期(样点值)范围在fs/500~fs/60之间,然后在这个范围之间寻找归一化相关函数的最大值,对应的延迟量就是基音周期。

4.2.2代码编写步骤

①根据前面步骤所得分帧后的语音数组,对它进行处理,把它转换为每一列数据表示

一阵语音信号,行数为总的帧长。

②对每一帧语音信号的基音周期进行初始化,让其为零保证清音段无基音周期。

③利用前面端点检测后所得的有话段和有话段段数,对每一段的有话段的每一帧数据

计算归一化自相关函数。

④最后对每一帧所得的归一化自相关函数取正延迟量的部分,然后在基音频率

范围内得最大值,从而可得最大值对应的样点数,利用函数循环计算,最后

可以得出每段有话段内每一帧的基音周期。

4.2.3代码编写

用短时自相关函数法的程序:

function period=ACF_corr(y,fn,vseg,vsl,lmax,lmin)

pn=size(y,2);

if pn~=fn, y=y'; end % 把y转换为每列数据表示一帧语音信号

wlen=size(y,1); % 取得帧长

period=zeros(1,fn); % 初始化

for i=1 : vsl % 只对有话段数据处理

ixb=vseg(i).begin;

ixe=vseg(i).end;

ixd=ixe-ixb+1; % 求取一段有话段的帧数

for k=1 : ixd % 对该段有话段数据处理

u=y(:,k+ixb-1); % 取来一帧数据

ru= xcorr(u, 'coeff'); % 计算归一化自相关函数

ru = ru(wlen:end); % 取延迟量为正值的部分

[tmax,tloc]=max(ru(lmin:lmax)); % 在基音频率范围内寻找最大值 period(k+ixb-1)=lmin+tloc-1; % 给出对应最大值的延迟量

end

end

4.2.4实验结果

图4端点检测的语音信号

图5有话段的基音周期

4.2.5结果分析

在端点检测和滤波后,经过短时自相关函数法处理后,由上面的实验结果图可看出基音周期有很多的偏离点即野点,需要进行平滑处理,也可以看出基音周期大约为40个样点数,即基音周期为40/fs,采样率为8000Hz,得周期为0.005s,基音频率为200Hz.

4.3总结

通过这次设计,我深刻体会到在信号处理方面我的严重不足,MATLAB的应用也相当生疏。在设计过程中,很多东西都看不懂,对原理也一塌糊涂。搜的一些材料也没有发挥他们的作用。有些公式原理看懂了可程序又不行了,看不出每一步的作用及实现的功能。设计中遇到的问题通过同学的交流也解决了一部分,总的来说在这次设计中我还是学到了一些知识,即有独立完成设计的喜悦又有对自己不足的担忧。在校学习的机会也不多了,我会在余下的时间里努力学习,改正自己的缺点,弥补自己。

5.模块四(平滑处理)

5.1主要负责工作

主要负责第四个模块,把中值滤波算法和线性平滑算法相结合来去除偏离值点,进行后处理。

5.2具体实现方法

5.2.1算法

①中值滤波算法:

在被平滑点的左右各取L个样点。连同被平滑点共同构成一组信号采样值(共(2L+1)个样值),然后将这(2L+1)个样值按大小次序排成一对,取此队列中间者作为平滑器的输出。

L值一般取为1或2,即中值平滑的“窗口”一般套住3或5个样值。中值平滑的优点是既可以有效地去除少量的野点,又不会破坏基音周期轨迹中两个平滑段之间的阶跃性变化。

matlab函数y = medfilt1(x,n)

x为输入序列;k为窗长,即套住的样点数,一般取3或5。y是中值滤波后的输出序列。

设有一个一维序列f1,f2,…,fn,取窗口长度(点数)为m(m为奇数),对其进行中值滤波,就是从输入序列中相继抽出m个数fi-v,…,fi-1,fi,fi+1,…,fi+v(其中fi 为窗口中心值,v=(m-1)/2),再将这m个点按其数值大小顺序排序,取其序号的中心点的那个数作为滤波输出。数学公式表示为:

Yi=Med{fi-v,…,fi-1,fi,fi+1,…,fi+v} i∈N v=(m-1)/2 ;Yi称为序列fi-v,…,fi-1,fi,fi+1,…,fi+v的中值

②线性滤波算法

让基音轨迹序列通过一个“低通”FIR滤波器。由于基音轨迹中的野点都是一些突发跳动点,它们具有很高的“频率分量”,采用“低通”滤波即可以将其去除。

线性平滑是用滑动窗口进行线性滤波处理,即

L

y n=x n?m w(m)

m=?L

式中,﹛w(m)﹜,m=-L,-L+1,…,0,1,2,…,L为(2L+1)点平滑窗,满足

L

w m

=1

m=?L

5.2.2 实验步骤

①在模块三得到的基音周期(图6)上进行平滑处理;

②先单独进行中值滤波处理,得到图7;

③再单独进行线性平滑处理,得到图8;

④对模块三得到的原始基音周期(图6)进行中值滤波处理和线性平滑结合处

理,得到图9;

⑤对图6到图9进行对比并分析。

5.2.3 代码编写

①在主程序中,执行的是T0= pitfilterm1(period,voiceseg,vosl);

而调用了以下函数

function y=pitfilterm1(x,vseg,vsl)

y=zeros(size(x)); % 初始化

for i=1 : vsl % 有段数据

ixb=vseg(i).begin; % 该段的开始位置

ixe=vseg(i).end; % 该段的结束位置

u0=x(ixb:ixe); % 取来一段数据

y0=medfilt1(u0,5); % 5点的中值滤波

v0=linsmoothm(y0,5); % 线性平滑

y(ixb:ixe)=v0; % 赋值给y

end

function [y] = linsmoothm(x,n)

ifnargin< 2

n=3;

end

win=hanning(n); % 用hanning窗

win=win/sum(win); % 归一化

x=x(:)'; % 把x转换为行序列

len=length(x);

y= zeros(len,1); % 初始化y

% 对x序列前后补n个数,以保证输出序列与x相同长

if mod(n, 2) ==0

l=n/2;

x = [ones(1,1)* x(1) x ones(1,l)* x(len)]';

else

l=(n-1)/2;

x = [ones(1,1)* x(1) x ones(1,l+1)* x(len)]';

end

% 线性平滑处理

for k=1:len

y(k) = win'* x(k:k+ n- 1);

end

②当只进行中值滤波平滑处理时,调用的函数改为:

function y=pitfilterm1(x,vseg,vsl)

y=zeros(size(x)); % 初始化

for i=1 : vsl % 有段数据

ixb=vseg(i).begin; % 该段的开始位置

ixe=vseg(i).end; % 该段的结束位置

u0=x(ixb:ixe); % 取来一段数据

y0=medfilt1(u0,5); % 5点的中值滤波

y(ixb:ixe)=y0; % 赋值给y

end

③当只进行线性平滑处理时,调用的函数改为:

function y=pitfilterm1(x,vseg,vsl)

y=zeros(size(x)); % 初始化

for i=1 : vsl % 有段数据

ixb=vseg(i).begin; % 该段的开始位置

ixe=vseg(i).end; % 该段的结束位置

u0=x(ixb:ixe); % 取来一段数据

v0=linsmoothm(u0,5); % 线性平滑

y(ixb:ixe)=v0; % 赋值给y

end

function [y] = linsmoothm(x,n)

ifnargin< 2

n=3;

end

win=hanning(n); % 用hanning窗

win=win/sum(win); % 归一化

x=x(:)'; % 把x转换为行序列len=length(x);

y= zeros(len,1); % 初始化y

% 对x序列前后补n个数,以保证输出序列与x相同长

if mod(n, 2) ==0

l=n/2;

x = [ones(1,1)* x(1) x ones(1,l)* x(len)]';

else

l=(n-1)/2;

x = [ones(1,1)* x(1) x ones(1,l+1)* x(len)]';

end

% 线性平滑处理

for k=1:len

y(k) = win'* x(k:k+ n- 1);

end

5.2.4实验结果

图6 原始基音周期

图7 只进行中值滤波处理后的基音周期

图8 只进行线性平滑处理后的基音周期

图9 进行中值滤波和线性平滑处理后的基音周期

5.2.5结果分析

对比图6和后面三个图,明显可以看出经过平滑处理后的基音周期少了些野点,更加清晰;而后面三个图,从肉眼上看不出来任何分别,但是确确实实是不同的平滑处理步骤。理论上,图9应该比图7和8要更加接近好,而只进行一种平滑处理就不能更有效地去除野点。

进行平滑处理后,去除了大量的野点可以更清楚地看出基音周期大约为40个样点数,即基音周期为40/fs,采样率为8000Hz,得周期为0.005s,基音频率为200Hz.

5.3总结

短时自相关函数法基音检测的主要原理是通过比较原始信号和它移位后的信号之间的类似性来确定基音周期,如果移位距离等于基音周期,那么两个信号具有最大类似性。基于自相关函数的算法是基音周期估计的常用方法,特别适用于噪声环境下的基音提取。自相关函数在基音周期处表现为峰值,相邻两个峰值之间的间隔即为一个基音周期。

通过这次的检测,我知道了自己的不足之处,拖延症有点儿,太过依赖网上的别人的设计或者简单的课设,没有解决问题的快速思考能力。我学会了筛选大量信息的眼力,结合多方资料来构成自己理想的文章,进行取长补短,提高了完成工作的效率,要学会与别人合作分工,将繁杂的工作细致化、简单化,学会了多多听取他人的意见有助于自己的学习和工作的完成。

基音周期估计

语音信号处理实验报告 实验二:语音信号的基音周期估计 学院:电子与信息学院 专业:信息工程 姓名 学号: 提交日期:2014.4.29

实验二:语音信号基音周期估计 1、 实验内容 从一段语音信号中估计出其基音周期。基音是指法浊音是声带振动所引起的周期性,而基因周期是指声带振动频率的倒数。 2、 实验方法 尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT 、谱图法、小波法等等。 2.1、短时自相关法 对于离散的语音信号x(n),它的自相关函数定义为:R(k)=Σx(n)x(n-k), 如果信号x(n))具有周期性,那么它的自相关函数也具有周期性,而且周期与信号x(n)的周期性相同。自相关函数提供了一种获取周期信号周期的方法。在周期信号周期的整数倍上,它的自相关函数可以达到最大值,因此可以不考虑起始时间,而从自相关函数的第一个最大值的位置估计出信号的基音周期,这使自相关函数成为信号基音周期估计的一种工具。 语音信号是非平稳的信号,所以对信号的处理都使用短时自相关函数。短时自相关函数是在信号的第N 个样本点附近用短时窗截取一段信号,做自相关计算。短时自相关运算定义为下式: 1 ()()()N k n n n m R k S m S m k --== +∑ 2.2、平均幅度差函数法 语音信号的短时平均幅度差函数Fn (k )定义为

1 ()|()()|N k n n n m F k S m k S m --== +-∑ 与短时自相关函数一样,对周期性的浊音一样,Fn (k )也呈现与浊音语音周期一致的周期特性,不过不同的是Fn (k )在周期的各个整数倍点上具有是谷值特性而不是峰值特性,因而通过Fn (k )的计算同样可以确定基音周期。 线性加权短时平均幅度差(W-AMDF )的定义: 1 1 ()|()()|1N k nw n n m F k S m k S m N k --==+--+∑ 2.3、实验过程 2.3.1自相关法(ACF ) 1、录取一段录音,采样率8K ,单声道 2、用MATLAB 的wavread 函数把录音都进来并进行归一化处理 3、对语音信号进行预加重 4、对语音信号进行截止频率为1000Hz 的低通滤波,然后进行分帧处理 5、对每帧语音进行三电平削波处理 6、对每帧分别计算短时自相关运算,去除每帧前十个点后再求最大值 7、利用最大值对应的序号N 来确定基音的周期 2.3.2短时平均幅度差法(W-ADMF ) 1、录取一段录音,采样率8K ,单声道 2、用MATLAB 的wavread 函数把录音都进来并进行归一化处理 3、对语音信号进行预加重 4、对语音信号进行截止频率为1000Hz 的低通滤波,然后进行分帧处理 5、对每帧语音进行三电平削波处理 6、对每帧分别计算线性加权短时平均幅度差运算,去除每帧前、后5个点后再求最小值M1和第二最小值M2 7、利用abs (M2-M1)来确定基音的周期

函数周期性公式大总结

竭诚为您提供优质文档/双击可除函数周期性公式大总结 篇一:函数周期性结论总结 函数周期性结论总结 ①f(x+a)=-f(x)T=2a ②f(x+a)=±1T=2af(x) ③f(x+a)=f(x+b)T=|a-b|证明:令x=x-b得 f(x-b+a)=f(x-b+b)f(x-b+a)=f(x)根据公式 f(x)=f(x+T)=f(x+nT)得T=-b+a即a-b ④f(x)为偶函数,且关于直线x=a对称,T=2a 证明:f(x+2a)=f(-x)=f(x) 证明:因为偶函数,所以f(-x)=f(x)因为关于x=a对称 所以f(a+x)=f(a-x)(对称性质)设x=x+a所以 f(x+2a)=f(x)所以周期T=2a)⑤f(x)为奇函数,且关于直线x=a对称,T=4a 证明:f(x+2a)=f(-x)=-f(x)根据①可知T=2·2a=4a 证明:由于图像关于直线x=a对称、所以f(a+x)=f(a-x)令x=x+a得:f(x+2a)=f(-x)又f(x)=-f(-x)故f(x)=-f(x+2a)

代换x=x+2a得: f(x+2a)=-f(x+4a)即得f(x)=f(x+4a)于是函数f(x)的周期为4a ⑥f(x)=f(x+a)+f(x-a)有三层函数,用递推的方法来证明。 f(x+a)=f(x+2a)+f(x) f(x+2a)=-f(x-a)换元:令x-a=t那么x=a+t f(t+3a)=-f(t)根据①可知T=6a ⑦f(x)关于直线x=a,直线x=b对称,T=2|a-b| 证明:f(a+x)=f(a-x) f(b+x)=f(b-x) f(2b-x)=f(x)假设 a>b(当然假设a<b也可以同理证明出) T=2(a-b) 现在只需证明f(x+2a-2b)=f(x)即可 ⑧f(x)的图像关于(a,0)(b,0)对称,T=2a-2b(a> b)f(x+2a-2b)=f[a+(x+a-2b)]关于直线x=a对称 =f[a-(x+a-2b)]关于直线x=b对称=f(2b-x)=f(x) 证明:根据奇函数对称中心可知:f(a+x)=-f(a-x) f(2b-x)=-f(x)f(x+2a-2b) =f[a+(x+a-2b)] =-f[a-(x+a-2b)]

基于MATLAB的语音信号的基音周期检测

基于MATLAB的语音信号的基音周期检测 摘要:MATLAB是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将要性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。 MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB 借助符号数学工具箱提供的符号运算功能,基本满足设计需要。例如:解微分方程、傅里叶正反变换、拉普拉斯正反变换和Z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。 本次课程设计为语音信号的基音周期检测,采集语音信号,对语音信号进行处理,区分清音浊音,并通过对采样值进行滤波、分帧、求短时自相关函数,得到浊音的基音周期。 关键字:清音、浊音、基音周期、基音检测、自相关函数

目录 1 概述 (1) 2 AMDF算法原理及实现 (1) 2.1 AMDF算法源程序 (2) 3 ACF算法原理及实现 (4) 3.1 用短时平均能量进行清/浊音的判断 (4) 3.2 自相关函数基音检测的原理 (6) 3.3 算法实现及相关程序 (6) 3.3.1 带通滤波 (7) 3.3.2 取样与分帧 (7) 3.3.3 短时能量分析 (8) 3.3.4 自相关函数分析 (11) 4 总结与心得体会 (13) 参考文献 (13)

1 概述 基音周期检测也称为基频检测(Pitch Detection) ,它的目标是找出和声带振动频率完全一致的基音周期变化轨迹曲线,或者是尽量相吻合的轨 迹曲线。基音周期检测在语音信号的各个处理领域中,如语音分析与合成、有调语音的辨意、低速率语音压缩编码、说话人识别等都是至关重要的,它的准确性及实时性对系统起着非常关键的作用,影响着整个系统的性能。 浊音信号的周期称为基音周期, 它是声带振动频率的倒数, 基音周期的估计称为基音检测。基音检测是语音处理中的一项重要技术之一, 它在有调语音的辨意、低速率语音编码、说话人识别等方面起着非常关键的作用; 但在实现过程中, 由于声门激励波形不是一个完全的周期脉冲串, 而且声道的影响很难去除、基音周期的定位困难、背景噪声的强烈影响等一系列因素, 基音检测面临着很大的困难。而自相关基因检测算法是一种基于语音时域分析理论的较好的算法。 本文在对AMDF、ACF基音检测算法基本原理进行分析的基础上,对此算法进行了深入的探讨,针对以往研究中存在的问题加以改进,给出了一种方便、快捷的检测方案。综合考虑了检测准确度和检测速率两方面的因素,然后通过对一段具体的语音信号进行处理,较准确地得到浊音语音信号的基音周期。 2 AMDF算法原理及实现 语音信号{s(n))的短时平均幅度差函数(AMDF)定义为:

基于短时自相关函数法的基音周期检测

项目总结报告 —基音周期的检测 1. 项目整体框架 1.1目标 了解语音基音周期估计方法,掌握自相关法估计基音周期的原理。 1.2主要内容 本次基音周期的估算,我们选用的是短时自相关函数法,包括四个模块。 第一个模块为基音的端点检测,主要为了区分浊音和清音。第二个模块为基音检测中的带通滤波器,主要为了减少共振峰的干扰。第三个模块为短时自相关函数法做基音检测,主要为了计算出基音周期。第四个模块为平滑处理,主要为了消除偏离值点。 2. 模块一(端点检测) 2.1主要负责工作 利用能熵比法进行语音端点检测,区分语音帧的起点以及终点。 2.2具体实现方法 2.2.1实验步骤 1)取一段语音“tone4.wav ”,该语音内容是“妈妈,好吗,上马,骂人”,语 音长度为3.5秒,采样率Fs=8000. 进行简单的去除直流分量,然后幅值归一化,时域波形如图1所示。 2)设置好分帧参数,帧长wlen=320,帧移inc=80,调用函数y =enframe(x,wlen,inc)'; 对语音信号x 分帧处理。最后帧数Fn=337。 3)设置端点检测门限值T1=0.05,使用能熵比法进行端点检测。对分帧后的 语音y 每一帧进行FFT 运算,然后计算每一帧的能熵比值。从而计算出语音y 中的语音端点。结果如图2所示。 2.2.2能熵比法 设语音信号时域波形为X(n),加窗分帧处理后得到的第i 帧语音信号为Xi(m),则FFT 后表示为Xi(k),其中下标i 表示为第i 帧,而k 表示为第k 条谱线。该语音帧在频域中的短时能量为 Ei =∑Xi (k )?n 2 k=0 Xi(k) 式中,N 为FFT 的长度,只去正频率部分。

语音信号基音周期检测的matlab程序.doc

function nmax=find_maxn(r) %寻找峰值最大的n值及基音周期 %r,自相关序列 %maxn,为峰值最大的n zer=find(r==0); %找第一个零点如果存在 jiaocha=0; %找第一近零点 ii=1; while (jiaocha<=0) if(r(ii)>0 && r(ii+1)<0 && (ii+1)0 %检查是否存在零点 if zer(1)

函数周期公式

函数周期公式 Document number:PBGCG-0857-BTDO-0089-PTT1998

主要知识: 1.周期函数:对于()f x 定义域内的每一个x ,都存在非零常数T ,使得()()f x T f x +=恒成立,则称函数()f x 具有周期性,T 叫做()f x 的一个周期,则kT (,0k Z k ∈≠)也是()f x 的周期,所有周期中的最小正数叫()f x 的最小正周期. 2.几种特殊的抽象函数:具有周期性的抽象函数: 函数()y f x =满足对定义域内任一实数x (其中a 为常数), (1)()()f x f x a =+,则()y f x =是以T a =为周期的周期函数; (2)()()f x a f x +=-,则()f x 是以2T a =为周期的周期函数; (3)()() 1f x a f x +=±,则()f x 是以2T a =为周期的周期函数; (4)()()f x a f x b +=-,则()f x 是以T a b =+为周期的周期函数; 以上(1)-(4)比较常见,其余几种题目中出现频率不如前四种高,并且经常以数形结合的方式求解。 (5)函数()y f x =满足()()f a x f a x +=-(0a >),若()f x 为奇函数,则其周期为4T a =,若()f x 为偶函数,则其周期为2T a =. (6)函数()y f x =()x ∈R 的图象关于直线x a =和x b =()a b <都对称,则函数()f x 是以()2b a -为周期的周期函数; (7)函数()y f x =()x ∈R 的图象关于两点(),0A a 、(),0B b ()a b <都对称,则函数()f x 是以()2b a -为周期的周期函数; (8)函数()y f x =()x ∈R 的图象关于(),0A a 和直线x b =()a b <都对称,则函数()f x 是以()4b a -为周期的周期函数; (9)有些题目中可能用到构造,类似于常数列。

《语音信号处理》实验2-基音周期估计

华南理工大学《语音信号处理》实验报告 实验名称:基音周期估计 姓名: 学号: 班级:10级电信5班 日期:2013年5 月15日

1.实验目的 本次试验的目的是通过matlab编程,验证课本中基音周期估计的方法,本实验采用的方法是自相关法。 2. 实验原理 1、基音周期 基音是发浊音时声带震动所引起的周期性,而基音周期是指声带震动频率的倒数。基音周期是语音信号的重要的参数之一,它描述语音激励源的一个重要特征,基音周期信息在多个领域有着广泛的应用,如语音识别、说话人识别、语音分析与综合以及低码率语音编码,发音系统疾病诊断、听觉残障者的语音指导等。因为汉语是一种有调语言,基音的变化模式称为声调,它携带着非常重要的具有辨意作用的信息,有区别意义的功能,所以,基音的提取和估计对汉语更是一个十分重要的问题。 由于人的声道的易变性及其声道持征的因人而异,而基音周期的范围又很宽,而同—个人在不同情态下发音的基音周期也不同,加之基音周期还受到单词发音音调的影响,因而基音周期的精确检测实际上是一件比较困难的事情。基音提取的主要困难反映在:①声门激励信号并不是一个完全周期的序列,在语音的头、尾部并不具有声带振动那样的周期性,有些清音和浊音的过渡帧是很难准确地判断是周期性还是非周期性的。②声道共振峰有时会严重影响激励信号的谐波结构,所以,从语音信号中直接取出仅和声带振动有关的激励信号的信息并不容易。③语音信号本身是准周期性的(即音调是有变化的),而且其波形的峰值点或过零点受共振峰的结构、噪声等的影响。④基音周期变化范围大,从老年男性的50Hz到儿童和女性的450Hz,接近三个倍频程,给基音检测带来了一定的困难。由于这些困难,所以迄今为止尚未找到一个完善的方法可以对于各类人群(包括男、女、儿童及不向语种)、各类应用领域和各种环境条件情况下都能获得满意的检测结果。 尽管基音检测有许多困难,但因为它的重要性,基音的检测提取一直是一个研究的课题,为此提出了各种各样的基音检测算法,如自相关函数(ACF)法、峰值提取算法(PPA)、平均幅度差函数(AMDF)法、并行处理技术、倒谱法、SIFT、谱图法、小波法等等。 2、自相关函数 对于离散的语音信号x(n),它的自相关函数定义为: R(k)=Σx(n)x(n-k), 如果信号x(n))具有周期性,那么它的自相关函数也具有周期性,而且周期

例析抽象函数周期的求法

例析抽象函数周期的求法 抽象函数周期问题是近年来高考及各地模拟试题中高频出现的问题,其周期求法能有效考查学生的逻辑思维能力和代数推理能力,对培养学生思维品质大有帮助。下面举例说明求周期的常用方法及技巧。 一、仅含抽象关系式的周期函数 例1 若存在常数m>0,使函数f(x)满足,则的一个正周期是____________。 解:设,则,依题意有 ,由周期函数的定义,是的一个周期 所以期 例2 已知函数满足,求证:函数 为周期函数。 证明:因为对有 (2)代入(1)得 这样 所以为周期函数,且为它的一个周期。

例3 设函数的定义域关于原点对称,且对定义域内任意,有 ,且存在常数,使。试证:是周期函数,且有一个周期为4a。 证明:设,则 所以y=f(x)为周期函数,且有一个周期为4a。 说明:从以上几例可见,适当的赋值和变量代换,是探求抽象函数周期的关键。下面再给一个探求周期来计算函数值的例子。 例4 设是定义在R上的函数,且对任意,都有 ,又,求的值。 解:

又 所以 可知是以2为一个周期的周期函数 所以 二、图象中有两条对称轴的抽象函数 例5 若函数的图象关于两条直线和都对称,试证:是周期函数,且是它的一个周期。 证明:因为的图象关于直线和(a 所以且 这样 所以是周期函数,且是它的一个周期。 例6 设是定义在R上的偶函数,且它的图象关于x=2对称,已知时, ,求时,的表达式。 解:由题设知:有两条对称轴和 所以为周期函数,且为它的一个周期 又当时, 所以 三、图象关于两点成中心对称的抽象函数 例7 设函数的图象关于相异两点A(a,0),B(b,0)都对称,则是一个周期为的周期函数。 证明:由题设有,这样

基于自相关法的语音基音周期估计

综合实验报告 自相关法及其变种 学院电子与信息学院专业信息与信号处理学生 学生学号 提交日期2013年7月10日

一、实验目标 1.1 了解语音基音周期估计方法,掌握自相关法估计基音周期的原理,分析其变种。 二、实验基础知识 2.1 基音与基音周期估计 人在发音时,根据声带是否震动可以将语音信号分为清音跟浊音两种。浊音又称有声语言,携带者语言部分的能量,浊音在时域上呈现出明显的周期性;而清音类似于白噪声,没有明显的周期性。发浊音时,气流通过声门使声带产生弛震荡式振动,产生准周期的激励脉冲串。这种声带振动的频率称为基音频率,相应的周期就成为基音周期。 基音周期的估计称谓基音检测,基音检测的最终目的是为了找出和声带振动频率完全一致或尽可能相吻合的轨迹曲线。 基因周期作为语音信号处理中描述激励源的重要参数之一,在语音合成、语音压缩编码、语音识别和说话人确认等领域都有着广泛而重要的问题,尤其对汉语更是如此。汉语是一种有调语言,而基因周期的变化称为声调,声调对于汉语语音的理解极为重要。因为在汉语的相互交谈中,不但要凭借不同的元音、辅音来辨别这些字词的意义,还需要从不同的声调来区别它,也就是说声调具有辨义作用;另外,汉语中存在着多音字现象,同一个字的不同的语气或不同的词义下具有不同的声调。因此准确可靠地进行基音检测对汉语语音信号的处理显得尤为重要。 2.2 基音周期估计的现有方法 到目前为止,基音检测的方法大致上可以分为三类: 1)时域估计法,直接由语音波形来估计基音周期,常见的有:自相关法、并行处理法、平均幅度差法、数据减少法等; 2)变换法,它是一种将语音信号变换到频域或者时域来估计基音周期的方法,首先利用同态分析方法将声道的影响消除,得到属于激励部分的信息,然后求取基音周期,最常用的就是倒谱法,这种方法的缺点就是算法比较复杂,但是基音估计的效果却很好; 3)混合法,先提取信号声道模型参数,然后利用它对信号进行滤波,得到音源序列,最后再利用自相关法或者平均幅度差法求得基因音周期。 三、实验原理 3.1 自相关函数 能量有限的语音信号x(n)的短时自相关函数定义为: 此公式表示一个信号和延迟m 点后该信号本身的相似性。如果信号x(n)具有周期性,那么它的自相关函数也具有周期性,而且周期与信号x(n)的周期性相同。自相关函数提供了一种获取周期信号周期的方法。在周期信号周期的整数倍上,它的自相关函数可以达到最大()()()n n R m x n x n m =+∞=-∞ =+∑

基音周期检测算法比较

本科毕业论文 题目语音基音周期检测算法比较学院管理科学与工程学院 专业电子信息工程 班级 081信工(1)班 学号 200883082 姓名周刚 指导老师段凯宇讲师 二〇一二年六月

语音基音周期检测算法比较 摘要 基音周期作为语音信号处理中描述激励源的重要参数之一,广泛的应用于语音合成、语音编码和语音识别等语音信号处理等技术领域。准确可靠的对基音周期进行检测将直接影响整个语音处理系统的性能。 常用的基音检测算法对于纯净语音信号都能达到较好的检测效果。然而,实际当中的语音信号不可避免的会受到外界背景噪音的影响,使得这些检测算法的检测效果都不是很理想,为此本文用两种基本算法对语音信号滤波前后进行基音周期检测,在进行比较。 论文首先介绍了语音基音检测算法的研究背景极其重要意义。其次对现有的基音检测算法进行了归纳和总结,并详细的介绍本文将用的两种基本基音检测算法的基本原理及实现。最后在Matlab上对语音信号进行基音周期检测。 论文还完成了算法的程序设计,在Matlab7.0仿真环境下,对上诉算法进行仿真验证,并且在滤波前后做了对比实验。实验结果表明,经过滤波的语音信号基音周期检测的更加准确。 关键词:基音检测;自相关函数法;平均幅度差函数法;基音轨迹

Abstract Pitch as in speech signal processing is one of the important parameters to describe the excitation source, widely used in speech synthesis, speech coding and speech recognition speech signal processing technology. Accurate pitch period detection will directly affect the performance of the speech processing system. Commonly used algorithm for pitch detection for clean speech signal to achieve good detection effect. However, the actual speech signal will be inevitably influenced by external effects of background noise, so the detection algorithm to detect the effect is not very ideal, the paper use two basic algorithms before and after filtering the speech signal pitch detection, in comparison. The thesis first introduces the research background of speech pitch detection algorithm is very important. Next to the existing algorithm for pitch detection are summarized, and a detailed introduction to this article will use the two kinds of basic pitch detection algorithm is the basic principle and realization. Finally in Matlab on speech signal pitch period detection. The paper also finished programming algorithm, in the Matlab7.0 simulation environment, the algorithm is validated by simulation, and the contrast experiments were done before and after filtering. The experimental results show that, after the filtering of the speech signal pitch period detection is more accurate. Keywords: pitch detection; autocorrelation function; the average magnitude difference function method; pitch contrail

函数周期常用求法

三角函数周期的常用求法 一、 公式法 对于函数B x A y ++=)sin(?ω或B x A y ++=)cos(?ω的周期公式是||2ωπ=T , 对于函数B x A y ++=)tan(?ω或B x y ++=)cot(?ω的周期公式是| |ωπ=T . 例1 函数)2 3sin( x y -=π的最小正周期是 ( ) A.π B.2π C.-4π D.4π 解:由公式,得ππ42 12=-=T ,故选D. 评注:对于函数)sin(?ω+=x A y 或)cos(?ω+=x A y 可直接利用公式ω π2=T 求得;对于)tan(?ω+=x A y 或)cot(?ω+=x A y 可直接利用公式ωπ= T 求得。 二、图像法 例2 求下列函数的最小正周期 ① x y sin = ②x y sin 解:分别作出两个函数的图像知 图 二、 定法 解:∵ 2 cos()2sin(ππk x k x +++=x x cos sin + (Z k ∈) ∴ 2πk 是函数x x y cos sin +=的周期.显然2πk 中最小者是2 π 下面证明2π是最小正周期

假设2π不是x x y cos sin +=的最小正周期,则存在<+T T ② ∴ ①与②矛盾, ∴ 假设不成立,∴2π是x x y cos sin +=最小正周期. 评注:这种方法依据周期函数的定义,从式子)()(x f T x f =+出发,设法找出周期T 中的最小正数(须用反证法证明). 四、转化法 1、把三角函数表达式化为一角一函数的形式,再利用公式求周期 例4求函数x x x y 2sin 2cos sin 32-=的周期 解:12cos 2sin 3sin 2cos sin 322-+=-=x x x x x y ∴ ππ==2 2T . 变式 求函数x x y 66cos sin +=的最小正周期 解:∵ y =)cos sin 3cos sin 3()cos (sin 4224322x x x x x x +-+ =)4cos 1(831)cos (sin )cos (sin 31222x x x x x -- =+- =x 4cos 8 385+ ∴ 函数x x y 66cos sin +=的最小正周期是2 42ππ==T 评注:就是先根据三角公式已知式转化为一个脚的一个三角函数的形式,再利用公式去求.这是最常见的求周期题型,也是高考考察的热点. 2、遇到绝对值时,可利用公式 2||a a =, 化去绝对值符号再求周期 例5求函数 |cos |x y =的周期 解:∵ 22cos 1cos |cos |2x x x y +== = ∴ ππ==2 2T . 例6求函数|cos ||sin |x x y +=的周期

语音信号基音检测算法研究

语音信号基音检测算法研究 摘要:本文对倒谱法做了改进,在用倒谱法进行基音检测分析时,提出了一种功率谱二次处理的二次谱减法,该方法克服了倒谱法基音检测的抗噪能力低的弱点,在相同噪声环境下能更加精确地检测出语音信号的基音周期。 关键词:语音信号基音检测倒谱法二次谱减法 1、引言 近年来,基于线性预测和分析频谱的Mel倒谱系数在处理包含情感的语音识别中取得了很大的进步,能否把此种方法应用到相应状态下的基音检测中去,值得广大学者研究。国外很多学者采用实时监控情感变化,并把影响修正基音的轨迹加以平滑或者动态改变窗的宽度,可以明显降低上述影响。基音检测一直是语音信号处理的一大难题,短时自相关函数法、短时平均幅度差函数法、倒谱法、小波变换法等传统的经典基音检测方法,都有各自的用场,但同时也有其相应的不足。其中任一种方法都不能作为通用的方法,但若在基音检测过程中,对预处理和后处理上进行一些改进,且突破传统的语音模型,并适当考虑说话人的个体特征及发音时的情感力度对基音检频带内谱包络测的影响,定能提高基音检测的准确性及健壮性。 本文以语音信号的基音检测为研究对象,着重分析自相关函数法p倒谱法的定义为,时间序列的z变换的模的对数的逆z变换,该序列的倒谱的傅里叶变换形式为。落实到具体实现时,采用DFT来近似傅里叶变换,根据传统语音产生的模型及语音信号的短时性。在其频域内,语音信号短时谱等于激励源的频谱与滤波器的频谱的乘积,浊音信号短时谱中包含的快变化周期性细致结构,则必会对应着周期性脉冲激励的基频以及各次谐波。语音的倒谱是将语音的短时谱取对数后再进行IDFT来得到,所以浊音信号的周期性激励如果反映在倒谱上,便是同样周期的冲激。藉此,我们可从得到的倒谱波形中估计出基音周期。一般我们把倒谱波形中第二个冲激,认为是对应激励源的基频,即基音周期。下面列举出一种倒谱法求基音周期的框图(见图1) 。 3、改进算法的基音检测 当用无噪声的语音信号时,采用倒谱法进行基音检测还是很理想的。但是有加性噪声存在时,对数功率谱中的低电平部分会被噪声填满,从而掩盖了基音谐波的周期性。这也意味着倒谱的输入不再是单纯的周期性成分,而导致倒谱中的基音峰值变宽,而且受到噪声的污染,最终导致倒谱检测方法的灵敏度也随之下降。为此,本文提出了如下改进方法(图2): 此方法避p本文以语音信号的基音检测为研究对像,对短时自相关函数、倒谱法、这两种基音检测的方法的原理进行了分析。在此基础上,深入研究了倒谱法基音检测的算法。通过实验仿真,发现这种测量方法的不足;最后对这种算法进行了改进,在用倒谱法进行基音检测分析时,提出了一种功率谱二次处理的二次谱减法,该方法克服了倒谱法基音检测的抗噪能力低的弱点,在噪声环境相同的情况下能更加准确的检测出语音信号的基音周期,从而有效提高算法在基音检测时的准确性和抗噪性。 参考文献 [1]胡航.语音信号处理[M].哈尔滨:哈尔滨工业大学出版社,2000:116.126. [2]韩纪庆,张磊,郑铁然.语音信号处理[M].北京:清华大学出版社,2004,lO.39.

自相关 基音检测

专业班级 08级信息工程组别 成员 1、引言 人在发浊音时,气流通过声门使声带产生张弛振荡式振动,产生一股准周期脉冲气流,这一气流激励声道就产生浊音,又称有声语音,它携带着语音中的大部分能量。这种声带振动的频率称为基频,相应的周期就称为基音周期( Pitch) ,它由声带逐渐开启到面积最大(约占基音周期的50% ) 、逐渐关闭到完全闭合(约占基音周期的35% ) 、完全闭合(约占基音周期的15% )三部分组成。 当今主流的基音周期检测技术主要有时域的自相关法、频域的倒谱法、时频结合的小波变换分析方法以及在其基础上的衍生算法。本文所采用的方法是自相关法 2.设计思路 (1)自相关函数 对于离散的语音信号x(n),它的自相关函数定义为: R(k)=Σx(n)x(n-k), 如果信号x(n))具有周期性,那么它的自相关函数也具有周期性,而且周期与信号x(n)的周期性相同。自相关函数提供了一种获取周期信号周期的方法。在周期信号周期的整数倍上,它的自相关函数可以达到最大值,因此可以不考虑起始时间,而从自相关函数的第一个最大值的位置估计出信号的基音周期,这使自相关函数成为信号基音周期估计的一种工具。 (2)短时自相关函数 语音信号是非平稳的信号,所以对信号的处理都使用短时自相关函数。短时自相关函数是在信号的第N个样本点附近用短时窗截取一段信号,做自相关计算所得的结果 Rm(k)=Σx(n)x(n-k) 式中,n表示窗函数是从第n点开始加入。 3、程序代码 function pitch x=wavread('E:\luyin\wkxp.wav');%读取声音文件 figure(1); stem(x,'.'); %显示声音信号的波形 n=160; %取20ms的声音片段,即160个样点 for m=1:length(x)/n; %对每一帧求短时自相关函数 for k=1:n; Rm(k)=0; for i=(k+1):n; Rm(k)=Rm(k)+x(i+(m-1)*n)*x(i-k+(m-1)*n); end end p=Rm(10:n); %防止误判,去掉前边10个数值较大的点 [Rmax,N(m)]=max(p); %读取第一个自相关函数的最大点end %补回前边去掉的10个点 N=N+10;

求函数f(x)周期的几种常见方法解读

求函数f(x)周期的几种常见方法 函数的周期性是函数的一个重要性质.对一般函数f(x)的周期,不少中学生往往不知从何入手去求.为了加深对函数f(x)周期概念的理解,本文以实例来说明求函数f(x)周期的几种常见方法,供读者参考. 1 定义法 根据周期函数的定义以及题设中f(x)本身的性质推导出函数的周期的方法称为定义法. (1)

∴f(x)为周期函数,且2a是它的一个周期. 注:如果题设函数方程中只有一边含有不为零的常数a,另一边与a无关,这时周期T应取决于a,假设T能被a整除,就分别试算f(x+2a),f(x+3a),f(x+4a),…,当出现f(x+T)=f(x)(T≠0)的形式时,就可知T是f(x)的周期. 周期函数,若是,求出它的周期;若不是,说明理由. (1) ∴f(x+2a)=f[(x+a)+a] (2)

∴f(x)为周期函数,3a是它的周期. 2 特殊值法 当题设条件中有f(m)=n(m,n为常数)时,常常以此条件为突破口,采用特殊值法解即可奏效. f(x)是不是周期函数.若是,求出它的一个周期;若不是,说明理由. ∴f(x)为周期函数,2π是它的一个周期. 3 变量代换法 例4设函数f(x)在R上有定义,且对于任意x都有f(x+1995)=f(x+1994)+f(x+1996),试判断f(x)是否周期函数.若是,求出它的一个周期;若不是,说明理由. 解在f(x+1995)=f(x+1994)+f(x+1996) (x∈R)中,以x代x +1995,得 f(x)=f(x-1)+f(x+1); (1) 在(1)中以x+1代x,得

f(x+1)=f(x)+f(x+2). (2) (1)+(2),得f(x-1)+f(x+2)=0, ∴f(x-1)=-f(x+2). (3) 在(3)中以x+1代x,得 f(x)=-f(x+3); (4) 在(4)中以x+3代x,得 f(x+3)=-f(x+6). (5) 将(5)代入(4),得f(x+6)=f(x). ∴f(x)为周期函数,6是它的一个周期. 4 递推法 f(x)是不是周期函数.若是,求出它的一个周期;若不是,说明理由.

求三角函数的周期6种方法总结多个例子详细解答

如何求三角函数的周期 三角函数的的周期是三角函数的重要性质,对于不同的三角函数式,如何求三角函数的周期也是一个难点,下面通过几个例题谈谈三角函数周期的求法. 1、定义法 例1. 求下列函数的周期 x y 2sin )1(= , 3 2tan )2(x y =. (1)分析:根据周期函数的定义,问题是要找到一个最小正数T ,对于函数定义域内的每一个x 值都能使x T x 2sin )(2sin =+成立,同时考虑到正弦函数x y sin =的周期是π2. 解:∵ )(2sin )22sin(2sin ππ+=+=x x x , 即 x x 2sin )(2sin =+π. ∴ 当自变量由x 增加到π+x 时,函数值重复出现,因此x y 2sin =的周期是π. (2) 分析:根据周期函数的定义,问题是要找到一个最小正数T ,对于函数定义域内的每一个x 值都能使 3 2tan )(32tan x T x =+成立,同时考虑到正切 函数x y tan =的周期是π. 解:∵ )2 3 (32tan )32tan(32tan ππ+=+=x x x , 即

3 2tan )23(32tan x x =+π. ∴ 函数32tan x y =的周期是π2 3. 例2. 求函数 (m ≠0)的最小正周期。 解:因为 所以函数(m ≠0)的最小正周期 例3. 求函数的最小正周期。 解:因为 所以函数的最小正周期为。 例4.求函数y =|sin x |+|cos x |的最小正周期. 解:∵)(x f =|sin x |+|cos x | =|-sin x |+|cos x | =|cos(x +2π)|+|sin(x +2π)|

常用的基音周期检测的方法有哪些

常用的基音周期检测的方法有哪些?它们的基本原理是什么? 自相关法、平均幅度差函数法、并行处理法、倒谱法、简化逆滤波法 自相关法的基本原理是浊音信号的自相关函数在基音周期的整数倍位置上出现峰值;而清音的自相关函数没有明显的峰值出现。因此检测是否有峰值就可判断是清音或浊音,检测峰值的位置就可提取基音周期值。 平均幅度差函数法的基本原理是对周期性的浊音语音,Fn(k)呈现与浊音语音周期相一致的周期特性,Fn(k)在周期的各个整数倍点上具有谷值特性,因而通过Fn(k)的计算可以来确定基音周期。而对于清音语音信号,Fn(k)却没有这种周期特性。利用Fn(k)的这种特性,可以判定一段语音是浊音还是清音,并估计出浊音语音的基音周期。 倒谱(CEP)法利用语音信号的倒频谱特征,检测出表征声门激励周期的基音信息。采取简单的倒滤波方法可以分离并恢复出声门脉冲激励和声道响应,根据声门脉冲激励及其倒谱的特征可以求出基音周期。 简述时域分析的技术(最少三项)及其在基因检测中的应用。 短时能量及短时平均幅度分析、短时过零率分析、短时相关分析、短时平均幅度差函数基音检测中的应用:基音检测的提取。 二、名词解释(每题3分,共15分) 端点检测:就从包含语音的一段信号中,准确的确定语音的起始点和终止点,区分语音信号和非语音信号。共振峰:当准周期脉冲激励进入声道时会引起共振特性,产生一组共振频率,称为共振峰频率或简称共振峰。语谱图:是一种三维频谱,它是表示语音频谱随时间变化的图形,其纵轴为频率,横轴为时间,任一给定的频率成分在给定时刻的强弱用相应点的灰度或色调的浓淡来表示。码本设计:就是从大量信号样本中训练出好的码本,从实际效果出发寻找好的失真测度定义公示,用最少的搜素和计算失真的运算量。语音增强:语音质量的改善和提高,目的去掉语音信号中的噪声和干扰,改善它的质量。

函数周期公式

主要知识: 1.周期函数:对于()f x 定义域内的每一个x ,都存在非零常数T ,使得()()f x T f x +=恒成立,则称函数()f x 具有周期性,T 叫做()f x 的一个周期,则kT (,0k Z k ∈≠)也是()f x 的周期,所有周期中的最小正数叫()f x 的最小正周期. 2.几种特殊的抽象函数:具有周期性的抽象函数: 函数()y f x =满足对定义域内任一实数x (其中a 为常数), (1)()()f x f x a =+,则()y f x =是以T a =为周期的周期函数; (2)()()f x a f x +=-,则()f x 是以2T a =为周期的周期函数; (3)()() 1f x a f x +=±,则()f x 是以2T a =为周期的周期函数; (4)()()f x a f x b +=-,则()f x 是以T a b =+为周期的周期函数; 以上(1)-(4)比较常见,其余几种题目中出现频率不如前四种高,并且经常以数形结合的方式求解。 (5)函数()y f x =满足()()f a x f a x +=-(0a >),若()f x 为奇函数,则其周期为4T a =,若()f x 为偶函数,则其周期为2T a =. (6)函数()y f x =()x ∈R 的图象关于直线x a =和x b =()a b <都对称,则函数()f x 是以()2b a -为周期的周期函数; (7)函数()y f x =()x ∈R 的图象关于两点(),0A a 、(),0B b ()a b <都对称,则函数()f x 是以()2b a -为周期的周期函数; (8)函数()y f x =()x ∈R 的图象关于(),0A a 和直线x b =()a b <都对称,则函数()f x 是以()4b a -为周期的周期函数; (9)有些题目中可能用到构造,类似于常数列。

语音基音周期的估计

实验一离散数字信号的产生及其时域处理 学习实现实验1的内容,并且编制一个程序(m文件)产生5种信号,函数需要的参数可输入确定,并绘出其图形 1、单位抽样序列 在MATLAB中可以利用函数实现, %单位抽样序列函数% X=0:10; Y=[0 1 zeros(1,9)]; stem(X,Y,'r'); axis([-1,10,0,1]); title('单位抽样序列'); xlabel('n'); ylabel('δ*n+'); 图形如右: 2、单位阶越序列

在MATLAB中可以利用函数实现, 实现过程如下: %单位阶跃序列函数 K=-8:8; H=[zeros(1,8),ones(1,9)]; stem(K,H,'r'); axis([-8,8,0,2]); title('单位阶跃序列'); xlabel('n'); ylabel('u[n]'); 图形如下: 3、正弦序列,在MATLAB中实现过程如下:%正弦序列函数sin(2*pi*D/5+pi/4)%

D=-1:0.1*pi:8*pi; C=sin(2*pi*D/5+pi/4); stem(D,C,'filled'); axis([-1,10,-2,2]); title('正弦序列'); xlabel('n'); ylabel('sin(2*pi*D/5+pi/4)') 图形如下: 4、复指数序列,从幅度和相位进行分析,在MATLAB中实现过程如下:%复指数序列函数% n=[0:10]; x1=2*exp((-0.2+0.7*j)*n); x2=abs(x1); x3=angle(x1);

相关主题
文本预览
相关文档 最新文档