You are on page 1of 9

TRNG I HC BCH KHOA H NI

Vin Cng ngh Thng tin v Truyn thng

BI TP LN

Mn hc: X L TING NI

TI 2: Xc nh tn s c bn ca tin hiu ting ni


da trn phng php AMDF

Sinh vin thc hin:


o Duy Thoi : 20072765

Lp K thut my tnh K52


Gio vin hng dn: thy Trnh Vn Loan

H NI thng 5/2012

MC LC

MC LC ..................................................................................................................................... 2
1.

Xc nh yu cu bi............................................................................................... 3

2.

C s l thuyt................................................................................................................ 3
2.1.

Mt s khi nim .................................................................................................. 3

2.2.

Phng php AMDF xc nh tn s c bn ...................................... 4

2.2.1.

Phng php hm t tng quan......................................................... 4

2.2.2.

Phng php AMDF .................................................................................... 5

2.3.
3.

Cu trc file wave ................................................................................................ 6

Ci t chng trnh .................................................................................................... 7


3.1.

Class WaveFile ...................................................................................................... 7

3.2.

Cc hm x l chnh ............................................................................................ 7

1. Xc nh yu cu bi
Vit chng trnh thc hin cc yu cu sau:
- c tn hiu ting ni t file *.WAV.
- Hin th tn hiu ting ni c c.
- Hin th hm AMDF tnh c.
- Hin th ng biu din F0 tnh c.

2. C s l thuyt
2.1. Mt s khi nim
- Tn hiu ting ni: l mt dng ca tn hiu m thanh, nhng c
phn bit vi tn hiu m thanh nh vo cc c tnh m hc c ngun
gc t c ch to ting ni.
Trong thc t, c 2 loi ngun m:
Ngun tp m: lc ny dy thanh khng rung.
Ngun tun hon: khi dy thanh rung, ting ni c coi nh to
ra bi ngun tun hon v c gi l m hu thanh. Chu k rung
ca dy thanh lc ny bng vi chu k tun hon ca ngun m.
- Tn s c bn:
Trong khi ngun to ra ting ni, ting ni c coi nh l tng hp
ca m c bn v cc tp m, vi tn s ca cc m c gi l tn s
c bn(F0) v cc hi ca tn s c bn(F2=2F0, F3=3F0).

Chu k rung ca dy thanh chnh l chu k ca tn s c bn(T0), c


biu th trn hnh sau:

To

Trong : F0 =

l tn s c bn.

Trong x l tn hiu ting ni th vic xc nh F0 l vic rt cn thit.


- Mt s phng php xc nh tn s c bn:

Dng b lc o
X l ng hnh
Da vo hm t tng quan
Da vo hm vi sai bin trung bnh(AMDF)

2.2. Phng php AMDF xc nh tn s c bn


Phng php s dng hm vi sai bin trung bnh l bin th ca vic
s dng hm t tng quan.
2.2.1. Phng php hm t tng quan
u vo: tn hiu x(n) ri rc c c t file wave
Hm t tng quan c nh ngha nh sau:

r (k )

N 1 k

x ( n) x ( n k )
n 1

k 0,1,..., K

Trong :
N: s im tn hiu em ra xt
K: s im em xt t tng quan
ngha ca hm t tng quan r(k) ca tn hiu x l nh gi s ging
nhau ca tn hiu x v tn hiu x b tr i k mu. Nu nh tn hiu x v tn hiu
tr cng ging nhau th gi tr ca hm t tng quan cng ln, v nh vy
tn hiu x cng c kh nng tun hon vi chu k k mu, l khong cch gia
hai cc i gn nht. Ngc li tn hiu x cng khc vi tn hiu tr ca n th
hm t tng quan cng nh. Do vy cc tn hiu ngu nhin vi tnh cht
khng n nh s c hm t tng quan bng 0.
Nu em phn tch tun hon tn hiu x mt cch l tng th trong hm
t tng quan s xut hin cc cc i c gi tr bng nhau. Khong cch gia 2
cc i lin tip chnh l chu k T0 ca tn hiu x.
2.2.2. Phng php AMDF
Hm vi sai bin trung bnh c nh ngha nh sau:
D(k) =

( )

k = 0,1K

Hoc:
1/ 2

1 N 1
2
D(k) = [ x(n) x(n k )]
N n 0

= 2[r (0) r (k )]1/ 2

k = 0,1,2K ; < 1

Nu em phn tch tun hon tn hiu x theo cch trn th trong hm AMDF
s xut hin cc cc tiu lin tip c gi tr bng nhau. Khong cch gia 2
cc tiu ny chnh l chu k c bn T0 ca tn hiu x.

2.3. Cu trc file wave


File wave cha tn hiu ting ni c s dng l u vo cho b phn
tch AMDF.
Cu trc ca mt file wave thng thng c 2 phn nh sau:
Header
Data
Trong phn header gm 44 bytes c cu to nh sau:

3. Ci t chng trnh
3.1. Class WaveFile
Lp ny cha cc hm c v x l file wave:
private void InitMembers() : khi to cc gi tr mc nh ban u ca
file wave
public String Open(WAVFileMode pMode) : c file wave theo ch
ty chn (READ, WRITE), c cc thng s t header ca file v to bin
tr n data .
public short GetNextSample_16bit() : tr v gi tr ca 16bit tip theo
(dng c file wave 16 bit);
public short GetNextSample_8bit(): tr v gi tr ca 8bit tip theo
(dng c file wave 8bit0;

3.2. Cc hm x l chnh
on chng trnh tnh hm vi sai bin trung bnh:
for (int k = 0; k < p; k++)
{
d[k] = 0;
for (int m = 0; m < n-k; m++)
{
d[k] += Math.Abs(DataTDomain[m + vt] DataTDomain[m + vt + k]);
}
}
Da vo on chng trnh trn ta xy dng nn hm tnh AMDF cho
mt on tn hiu:

void CaculateWindowAMDF( int p, int n, int vt)

k = 0,1,2..p-1
m= 0,1,2..n-1 : ln ca ca s AMDF
vt: v tr bt u tnh AMDF

void DrawAMDF(): Da trn mng AMDF tnh c trn v hm AMDF


private int FindF0(int p,double []dt): Vi mng AMDF u vo, duyt
mng v tm ra cc tiu u tin gp c trong mng , tr v v tr ca
mu trong mng.
Sau khi c c v tr cc tiu u tin ca hm AMDF, ta d dng tm
c F0 bng cng thc:
F0= Fs/k0;
Trong d : Fs l tn s ly mu, k0 l v tr mu t cc tiu u tin ca
hm AMDF.
void DrawFunctionF0():
v hm F0 ta tnh tn s F0 cho ca s AMDF c di tn hiu tng
ng vi 10ms.
int numberSampPer10ms = waveFile.SampleRateHz / 100;
Dch dn ca s ny n ht tn hiu s c hm F0.

Giao din chng trnh nh sau:

Vi file mu A96.wav, tn s c bn F0 tnh c l 133.33 Hz.

You might also like