bao cao xltn

19
 MC LC MĐẦU..............................................................................................................................................2 I. Cơ slí thuyết..............................................................................................................................3 1. Cơ bn vâ m t hanh số .............................................................................................................3 2. Kh ái n i m t p ti n Wave .............................................................................................................4 3. C u t c t p ti n Wave ................................................................................................................4 a. Khi mô t d ng RIFF  ...........................................................................................................5 b. Kh i t hu c tính “fmt” ............................................................................................................6 c. Khi dli u “data”...............................................................................................................7 !. "#t s$%c $i&m........................................................................................................................8 '. "# t s () n* bi &u (i+n t,n hi u ti -n * ni  ..................................................................................9 a. Bi u di n th !" mi#n th $i gian................................................................................................9 b. Bi u di n t h!" mi# n t %n &ố .....................................................................................................9 c. Bi u di n d ng '( !ct) "g )a m................................................................................................10 II. Lp tr ìn h ki m th ử ....................................................................................................................10 1. /0 c v hi&n t h t ,n h i u ti -n * n i t 4 i5 e .6av ........................................................................10 a. *+c t, ( t in - a ! t/ 0 1 2a .....................................................................................................10 b. *+ c c3c 4h i d li u b 5n t )" ng t ,( t in - a! ........................................................................11 c. 6i n t h7 t hôn g t in c 3c 4hi dli u t)5 n g ia" di n................................................................12 d. 6i n th 7 dng tín hi u ti8 ng n 9i t )" ng m i#n th$ i gian: .........................................................13 2. 7ác $ n h 8h9n * 5%n * c: a t,n hi u ti- n* n i th e9 th; i *ia n.................................................14 a. ; t<=ng thu,t t"3n...............................................................................................................14 b. >u3 t )?nh t h@c hi n..............................................................................................................14 c. Bi u di n 1< $ng n Ang l < ng tí n hi u ti8 ng n9 i C D3c 17nh 4h"n g lEn g ............................16 3. 7ác $n h th; i $i& m <ut h in t,n hiu ti-n* n i v $ ánh ( u tr =n tr>c th;i *ian c ?n* v@i t,n hiu ti-n* ni ..................................................................................................................................16 !" LU#$........................................................................................................................................18 %&'$ C($) C($) *I+C.............................................................................................................19

Upload: love-rain

Post on 06-Oct-2015

1 views

Category:

Documents


0 download

DESCRIPTION

good

TRANSCRIPT

MC LC

M U2I.C s l thuyt31.C bn v m thanh s32.Khi nim tp tin Wave43.Cu trc tp tin Wave4a.Khi m t dng RIFF5b.Khi thuc tnh fmt6c.Khi d liu data74.Mt s c im85.Mt s dng biu din tn hiu ting ni9a.Biu din theo min thi gian9b.Biu din theo min tn s9c.Biu din dng Spectrogram10II.Lp trnh kim th101.c v hin th tn hiu ting ni t file .wav10a.c tp tin Wave t a10b.c cc khi d liu bn trong tp tin Wave11c.Hin th thng tin cc khi d liu trn giao din12d.Hin th dng tn hiu ting ni trong min thi gian:132.Xc nh khong lng ca tn hiu ting ni theo thi gian14a. tng thut ton14b.Qu trnh thc hin14c.Biu din ng nng lng tn hiu ting ni v xc nh khong lng163.Xc nh thi im xut hin tn hiu ting ni v nh du trn trc thi gian cng vi tn hiu ting ni16KT LUN18PHN CNG CNG VIC19

M UTrong cuc sng hng ngay, bt k ni no, chng ta u c th lng nghe c nhng m thanh xung quanh mnh. c bit, con ngi l sinh vt cao cp trong t nhin. Vic lin lc, giao tip, biu l cm xc ca con ngi u thng qua ting ni. l dng m thanh c bit c con ngi to ra qua b my pht m, tun theo cc c trng ca cc h thng ngn ng ring bit. Cc k thut, cng ngh lin quan ti nhn dng, phn tch, tng hp ting ni...hin nay ang tr nn ht sc cn thit. C rt nhiu ng dng hin nay da trn cc thnh tu trong x l ting ni nh: nhn dng danh tnh c nhn, bo mt bng ging ni, iu khin t ng thng qua ging ni... Nh vy, chng ta c th thy c s cn thit ca vic tm hiu, nghin cu cc cng ngh x l ting ni. Chnh v th, nhm la chn tm hiu, nghin cu l thuyt v kim th mt vn trong k thut x l ting ni: Xc nh khong lng trong tn hiu ting ni. Yu cu i hi sinh vin phi tm hiu nghim tc v cu trc ca tp tin nh dng WAV, cc trng lu tr thng tin, cc tham s lin quan ti vic x l tn hiu ting ni. ng dng ca vic xc nh khong lng ting ni c p dng nhiu vo vn bo mt, x l tch lc m thanh hay xc nh cc c trng ging ni...Trong sut qu trnh thc hin bi tp, nhm c gng thc hin tt nht cc yu cu t ra v m rng phm vi kin thc. Tuy nhin, kt qu thc nghim v bn bo co chc chn khng th trnh khi nhng thiu xt. Nhm xin chn thnh cm n s hng dn, gip tn tnh ca TS. Trnh Vn Loan hon thnh tt ti ny.Nhm sinh vin

I. C s l thuyt1. C bn v m thanh sm thanh l s bin thin v p sut khng kh ca qu trnh di chuyn trong b my pht m con ngi. m thanh s (s ha) c miu t di dng th ca s thay i p sut khng kh trong ton b qu trnh . hiu r hn v vn ny, ta m trnh ng dng Windows Sound Recorder ca h iu hnh Windows v thu m mt on m thanh ngn, sau quan st ng mu xanh. Khi ng xanh ny rng, c ngha l p lc khng kh ln, y l lc m tai con ngi cm nhn rng l m thanh nhiu (tp m). Khi ng xanh chy dn u gn mc gia (trc nm ngang), ta hiu gn nh khng c thay i v gi tr p sut khng kh, lc tai con ngi cm nhn l cc khong lng (gn nh khng c m thanh, ting ni). Nu ng mu xanh dao ng ln xung cng nhanh th m thanh tai con ngi nghe c cng ln, cng r.Khi chng ta thu m, microphone s chuyn i s bin thin p sut khng kh thnh dng bin thin ca tn hiu in, l cc thnh phn m cc thit b m thanh in t tnh ton v bin i sang dng s - gi l cc mu (samples). Khi ta nghe li mt on nhac, on m thanh, qu trnh x l s c thc hin ngc li, cc thnh phn in bin thin s c gi ti thit b pht (loa, tai nghe, speakers...) ch khng phi l thit b thu (microphone), v c bin i ngc li thnh dng p lc ca khng kh bi tai loa.Tc m thit b x l m thanh ly mu tn hiu in c gi l tn s ly mu (sample rate) v c th hin theo n v kilohertz (kHZ): 1kHZ = 1000 samples/secCh : cc file m thanh s khng h cha trc tip gi tr tn s m thanh, trng , cng ...Chng ta cn phi p dng cc thut ton x l trn cc mu (samples) xc nh gi tr chnh xc ca cc mu tn hiu m thanh ny.

2. Khi nim tp tin WaveTrc ht, ta cn bit mt vi thng tin v chun RIFF (Resource Interchange File Format) mt dng tp tin ti nguyn c th chuyn i. RIFF l mt nh dng tp tin cho php lu tr nhiu loi d liu, cc loi d liu a phng tin c bn nh m thanh (audio) hay hnh nh, phim (video)... c im cua nhng tp tin thuc chun RIFF o la no se nhom ni dung cua tp tin thanh cac khi ring bit va mi mt khi se gm mt header (dng qui nh kiu v kch thc ca khi ) va cac byte d liu. nh dng ny da trn 2 thnh phn chnh l chunks v sub-chunks. Mi chunk s c kiu ring bit v c th hin bng cc tag c di 4 k t. Chunk c m u cho mi tp tin, bao gm kch thc ca chink v sau l ni dung ca chunk. Mt s nh dng file nm trong chun RIFF l: Audio/visual interleaved data (.AVI), Waveform data (.WAV), Bitmapped data (.RDI), MIDI information (.RMI), Color palette (.PAL), Multimedia movie (.RMN), Animated cursor (.ANI), A bundle of other RIFF files (.BND). Tp tin Wave la mt dang tp tin dung lu tr d liu m thanh s (dang song) va no la mt trong nhng inh dang ph bin nht cua h iu hanh Windows, thuc chun RIFF. Thng thng th tp tin Wave c 2 dng l dng nn v dng khng nn (dng chun).Trong cng ngh thu m, nh dng Wave thng c dng thu m thanh dng th, sau s c x l v chuyn i sang cc nh dng khc.3. Cu trc tp tin WaveCu trc file wave gm 3 khi: khi m t dng RIFF, khi thuc tnh fmt v khi d liu data trong khi thuc tnh fmt v khi d liu data l 2 khi con ca khi m t dng RIFF.

Hnh 1 S m t cu trc cc trng thng tin ca Wave

a. Khi m t dng RIFFKhi nay xc nh dng RIFF v co kich thc la 12 byte gm cac trng: ChunkID:Kich thc: 4 byteChc nng: cha chui RIFF di dang ma ASCII ChunkSize:Kich thc: 4 byteChc nng: cho bit tng kich thc cua cac trng sau no.(ChunkSize=4+(8+Subchunk1Size)+(8+Subchunk2Size)) Format:Kich thc: 4 byteChc nng: cha chui WAVE.

b. Khi thuc tnh fmtKhi ny xc nh cc thuc tnh ca d liu m thanh v c kch thc l 24 byte gm cc trng: Subchunk1ID:Kich thc: 4 byteChc nng: cha chui fmt . Subchunk1Size:Kich thc: 4 byteChc nng:cho bit tng kch thc ca cc trng thuc khi thuc tnh ng pha sau trng ny.(i vi tp tin wave khng nn th Subchunk1Size bng 16) AudioFormat:Kch thc: 2 byteChc nng: cho ta bit dng nn ca d liu trong tp tin wave.STTGi trM t

10Khng xc nh

21Khng nn (PCM-Pulse Code Modulation)

380MPEG

449GSM 6.10

517IMA ADPCM

Bng thng tin v nh dng m thanh

NumChannels:Kch thc: 2 byteChc nng: cho bit s knh ca tp tin wave.(Mono=1,Stereo=2,v.v) SampleRate:Kch thc: 4 byteChc nng: cho bit s mu trn 1 s v y chnh l tn s ly mu ca tp tin wave. ByteRate:Kch thc: 4 byteChc nng:cho bit s byte trn 1 s ng vi tn s ly mu trn.(ByteRate=SampleRate*NumChannels*(BitsperSample/8)) BlockAlign: == NumChannels * BitsPerSample/8Kch thc:2 byteChc nng: cho bit s byte ca 1 mu gm tt c cc knh. BitsPerSample: cho bit s bit trn 1 mu ch tnh cho 1 knh.( 8 bit=8,16 bit=16,v.v)

c. Khi d liu data Subchunk2ID:Kch thc: 4 byteChc nng: cha chui nh danh dataId. Subchunk2Size:Kch thc:4 byteChc nng: cho bit kch thc ca d liu m thanh th trong trng data.(Subchunk2Size=NumSamples*NumChannels*BitsperSample/8) Data: trng data cha cc byte d liu m thanh v cc byte d liu ny s nhm thnh cc mu,mi mu c 1 hoc 2 knh.Ty vo s knh ca mt mu(xc nh bi trng NumChannels) v s bit trn 1 knh (xc nh bi trng BitsPerSample) m ta s xc nh c s byte ca 1 mu.

Bng thng tin v d liu

STTS knhS bit/knhKch thc 1 muMaxMin

11(Mono)81 byte2550

21(Mono)162 byte32767-32768

32 (Stereo)82 byte2550

42 (Stereo)164 byte32767-32768

Mt v d v cu trc thng tin ca mt tp tin Wave 72 bytes c biu din nh sau:52 49 46 46 24 08 00 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 00 02 00 22 56 00 00 88 58 01 00 04 00 10 00 64 61 74 61 00 08 00 00 00 00 00 00 24 17 1e f3 3c 13 3c 14 16 f9 18 f9 34 e7 23 a6 3c f2 24 f2 11 ce 1a 0d

Hnh 2 M t cu trc cc trng d liu Wave

4. Mt s c im Vi nh dng thng mc nh th th t t chc d liu trong Wabe c t chc theo kiu u nh (little-endian). Cc tp tin s dng kiu t chc bytes u to (big-endian) trong chun RIFX thay cho RIFF. Cc mu d liu phi kt thc bng mt byte chn. Cc mu 8-bit c lu tr vi dng bytes khng du, nm trong khong t 0 255. Cc mu 16-bit c lu dng cc s nguyn c du, nm trong khong t -32768 32767. C th c thm cc subchunk m rng trong dng d liu Wave. Khi , mi subchunk s bao gm SubchunkID c biu din bi char[4] (k t c di 4), SubChunkSize vi kiu s long c du dng lu d liu.

5. Mt s dng biu din tn hiu ting nia. Biu din theo min thi gian

b. Biu din theo min tn s

c. Biu din dng Spectrogram

II. Lp trnh kim thTon b kt qu ca chng trnh kim th c thc hin vi tp tin u vo chun A96.wav1. c v hin th tn hiu ting ni t file .wavCc hm thc hin vic c tp tin Wave nm trong file WaveFile.cs ca chng trnh vi namespace AudioUtils(tng quan ton b v file -> wavefile.cs, m + c ntn)a. c tp tin Wave t a S dng hm Read() trong class WaveFile c file theo ng dn do ngi dng nhp vo:waveFile = new AudioUtils.WaveFile(openFileDialog1.FileName); waveFile.Read();

Hm khi to mt i tng WaveFile:public WaveFile(String inFilepath) { m_Filepath = inFilepath; m_FileInfo = new FileInfo(inFilepath); m_FileStream = m_FileInfo.OpenRead();

m_Riff = new Riff(); m_Fmt = new Fmt(); m_Data = new Data(); }

Trin khai hm Read():

public void Read( ){m_Riff.ReadRiff( m_FileStream );m_Fmt.ReadFmt( m_FileStream );m_Data.ReadData( m_FileStream );}

b. c cc khi d liu bn trong tp tin WaveNh trnh by phn l thuyt, cu trc tp tin Wave bao gm ba khi chnh. Chng trnh thc hin c d liu tng ng bai khi : Khi m t RIFF: D liu ca khi RIFF s c x l trong lp RiffCc thuc tnh:private byte[]m_RiffID;private uintm_RiffSize;private byte[]m_RiffFormat;

Cc phng thc:public void ReadRiff( FileStream inFS ){inFS.Read( m_RiffID, 0, 4 );Debug.Assert( m_RiffID[0] == 82, "Riff ID Not Valid" );

BinaryReader binRead = new BinaryReader( inFS );

m_RiffSize = binRead.ReadUInt32( );

inFS.Read( m_RiffFormat, 0, 4 );}

Khi thuc tnh fmtD liu ca khi fmt s c x l trong lp FmtCc thuc tnh:private byte[]m_FmtID;private uintm_FmtSize;private ushortm_FmtTag;private ushortm_Channels;private uintm_SamplesPerSec;private uintm_AverageBytesPerSec;private ushortm_BlockAlign;private ushortm_BitsPerSample;

Cc phng thc:public void ReadFmt( FileStream inFS ){inFS.Read( m_FmtID, 0, 4 );

Debug.Assert( m_FmtID[0] == 102, "Format ID Not Valid" );

BinaryReader binRead = new BinaryReader( inFS );

m_FmtSize = binRead.ReadUInt32( );m_FmtTag = binRead.ReadUInt16( );m_Channels = binRead.ReadUInt16( );m_SamplesPerSec = binRead.ReadUInt32( );m_AverageBytesPerSec = binRead.ReadUInt32( );m_BlockAlign = binRead.ReadUInt16( );m_BitsPerSample = binRead.ReadUInt16( );

// This accounts for the variable format header size // 12 bytes of Riff Header, 4 bytes for FormatId, 4 bytes for FormatSize & the Actual size of the Format Header inFS.Seek( m_FmtSize + 20, System.IO.SeekOrigin.Begin );}

Khi d liu dataD liu ca khi data s c x l trong lp DataCc thuc tnh:private byte[]m_DataID;private uintm_DataSize;private Int16[]m_Data;private intm_NumSamples;

Cc phng thc:public void ReadData(FileStream inFS) { inFS.Read(m_DataID, 0, 4);

Debug.Assert(m_DataID[0] == 100, "Data ID Not Valid");

BinaryReader binRead = new BinaryReader(inFS);

m_DataSize = binRead.ReadUInt32();

m_Data = new Int16[m_DataSize];

inFS.Seek(44, System.IO.SeekOrigin.Begin);

m_NumSamples = (int)(m_DataSize / 2);

for (int i = 0; i < m_NumSamples; i++) { m_Data[i] = binRead.ReadInt16(); } }

c. Hin th thng tin cc khi d liu trn giao dinSau khi ngi dng nhp ng ng dn tp tin Wave chun th tt c cc thng tin s c c theo cc phng thc nh trn v c hin th ra mn hnh chnh:

Hnh 3 Giao din chnh hin th thng tin tp tin Wave

d. Hin th dng tn hiu ting ni trong min thi gian:Sau khi thc hin qu trnh c, n nt Show Signal Graph xem hin th tn hiu ting ni trong min thi gian:

Hnh 4 Biu din tn hiu ting ni trong min thi gian tp tin A962. Xc nh khong lng ca tn hiu ting ni theo thi giana. tng thut ton Bc 1: xc nh chui tn hiu ting ni u vo x(n) trong min thi gian Bc 2: nhn tn hiu ting ni vi hm ca s Hamming. rng ca s Hamming khong 20-30 ms. Khi trt lin tip cc ca s theo min thi gian, 2 ca s lin tip s c phn trm ln nhau khong 0< n < M/2 vi M l s mu tn hiu nm trong mt ca s Hamming.Mc ch: s dng ca s Hamming thay cho ca s hnh ch nht nhm lm gim sai s, trnh t bin 2 u ca s. Bc 3: s dng cng thc tnh nng lng tng ng tng tn hiu

Bc 4: chn 1 gi tr lm ngng xc nh khong lng:+ Nu cc on gi tr W(n) no nh hn th s l cc khong lng.+ Nu cc on gi tr W(n) no ln hn th s l cc khong tn hiu ting ni.

b. Qu trnh thc hin

ng biu din nng lng

Hamming Windowsx(n)

Hm ca s Hamming:Tnh chui tn hiu: public float[] CalculateData() { float[] result = new float[Wide]; for (uint i = 0; i < Wide; i++) { result[i] = CaculateN(i); }

return result; }

Tnh tng tn hiu:

public float CaculateN(uint n) { return (float)(0.54 - 0.46 * Math.Cos(2 * Math.PI * ((float)n / (Wide - 1)))); }

Hm ca s hnh ch nht:Tnh chui tn hiu: public float[] CalculateData() { float[] result = new float[Wide]; for (uint i = 0; i < Wide; i++) { result[i] = CaculateN(i); }

return result; }

Hm tnh nng lng tn hiu:public void Process(){ uint jumpStep = Parameters.HAMMING_WINDOW_WIDE -Parameters.COVERED_WIDE; ulong signalLength = (ulong)waveFile.WaveData.NumSamples;

float[] hammingArray = hammingWindow.CalculateData();

for (ulong i = 0; i < signalLength; i += jumpStep) { if (i > signalLength) { } else { short[] tempSource = new short[hammingWindow.Wide]; Array.Copy(this.waveFile.WaveData.ConvertToArray(), (long)i, tempSource, 0, (long)hammingWindow.Wide); double[] frame = Utility.MultipleSignal(tempSource, hammingArray);

if (enegryArray == null) enegryArray = new LinkedList();

enegryArray.AddLast(Utility.CalculateEnegry(frame)); } } }

Vi vic thc hin thut ton, ta thng s dng ca s Hamming trnh cc sai s, gim sai s v dng tn hiu s nhn 2 u.c. Biu din ng nng lng tn hiu ting ni v xc nh khong lngNh trn hnh, chng ta thy c ng biu din nng lng tn hiu ting ni mu .Cc ct mu xanh nh du cc khong lng: l cc khong c gi tr nng lng tn hiu ting ni nh hn ngng (tm chn 25000000)

Hnh 5 Biu din nng lng tn hiu ting ni v xc nh cc khong lng

3. Xc nh thi im xut hin tn hiu ting ni v nh du trn trc thi gian cng vi tn hiu ting ni Nu coi nhiu l tn hiu:Trn hnh biu din tn hiu ting ni trong min thi gian, ta thy c nhng tn hiu vi bin rt nh 2 u. l nhiu. Nu ta coi nhiu l tn hiu th im bt u ca tn hiu ting ni s l im u tin xut hin cc gi tr . Nu khng coi nhin l tn hiu:Ngc li, nu ta khng coi nhiu l tn hiu th ta s a ra mt gi tr no lm ngng xc nh im u tin c gi tr nng lng ln hn ngng. T , ta xc nh c im bt u ca tn hiu ting ni.Ta c th t mt ngng ( ln) v coi l ngng xut hin tn hiu ting ni. Nh vy, ta da vo ng k mu xanh l cy xc nh c im bt u tn hiu ting ni, cn cc ng mu xanh da tri xc nh cc khong lng nh trnh by trn.

Hnh 6 Biu din nng lng tn hiu ting ni v cc im c gi tr nng lng nh hn mc ng nh du bng ng mu xanh

KT LUNNh vy, qu trnh phn tch v x l ting ni i hi rt nhiu thao tc phc tp. Vi mi giai on thc hin, chng ta cn quan tm ti cc tnh cht ca tn hiu ting ni, t , la chn ra cc phng php, thut ton ph hp nht tnh ton. Mt m hnh x l ting ni nh vy s tr thnh hon ho.Trong sut qu trnh thc hin ti, chng em rt n lc tm hiu l thuyt cng nh cch thc trin khai lp trnh kim th hiu v cu trc ca file m thanh v tn hiu ting ni tng ng. Tuy nhin, bo co vn cn mc phi nhng s xut cn phi ci thin hn na. Chng em xin chn thnh cm n s hng dn, h tr tn tnh ca PGS.TS. Trnh Vn Loan hon thnh tt ti ny.

PHN CNG CNG VIC1. Nguyn Hng Phc Lp trnh xc nh khong lng tn hiu ting ni Lp trnh xc nh im bt u tn hiu ting ni2. V Thnh Trung Lp trnh c file .wav v v dng tn hiu ting ni min thi gian Chun b bo co3. L Minh Tun Nghin cu l thuyt