Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoRenato Gentili Modificato 11 anni fa
1
Esercitazione N°7 Filtri Lineari
2
Esercizio 1 La Funzione adapt >> net = newlin([0,10],1); >> net.inputWeights{1,1}.delays = [0 1 2]; >> net.IW{1,1} = [7 8 9]; >> net.b{1} = [0]; >> pi ={1 2} pi = [1] [2] >> p = {3 4 5 6} p = [3] [4] [5] [6] >> [a,pf] = sim(net,p,pi) a = [46] [70] [94] [118] pf = [5] [6] >> T = {10 20 30 40}; >> net.adaptParam.passes = 10; >> [net,y,E, pf,af] = adapt(net,p,T,pi); >> y y = [11.85583770751284] [20.77353886677837] [29.66793552412725] [39.00359446130948] Costruiamo una focused TDNN e la utilizziamo come filtro lineare. Si noti l'istruzione con cui si assegnano i ritardi della linea. L'obiettivo è quello di associare alla sequenza p in ingresso, la sequenza T in uscita. La sequenza associata dalla rete adttata è contenuta nel vettore y mostrato alla fine della sequenza di istruzioni.
3
>> p1 = {-1 0 1 0 1 1 -1 0 -1 1 0 1}; %sequenza in ingresso >> t1 = {-1 -1 1 1 1 2 0 -1 -1 0 1 1}; %sequenza desiderata >> net = newlin([-1 1],1,[0 1],0.5); %costruzione della rete. c'è un solo ritardo (provare con più ritardi) >> [net,y,e,pf] = adapt(net,p1,t1); %adattamento della rete. si cerca di avere t1 come risposta a p1 >> mse(e)% chiediamo il valore dell'errore quadratico medio ans = 0.33741887410482 >> p2 = {1 -1 -1 1 1 -1 0 0 0 1 -1 -1}; %adattiamo ora la rete ad un'altra sequenza >> t2 = {2 0 -2 0 2 0 -1 0 0 1 0 -1}; >> [net,y,e,pf] = adapt(net,p2,t2,pf); % lo stato finale della linea di ritardo è usata come iniziale di questa (pf) >> mse(e) ans = 0.08282708082212% l'errore è diminuito >> p3 = [p1 p2];% prendiamo l'insieme delle due sequenze >> t3 = [t1 t2]; >> net.adaptParam.passes = 100;% e adeguiamo il numero di passi >> [net,y,e] = adapt(net,p3,t3);% adattiamo la rete >> mse(e) ans = 0.10385776766010% l'errore è compreso tra i valori nei due casi Esercizio 2 Filtraggio Lineare
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.