• Non ci sono risultati.

DEFINIZIONE FILTRI DI PONDERAZIONE in Excel

N/A
N/A
Protected

Academic year: 2021

Condividi "DEFINIZIONE FILTRI DI PONDERAZIONE in Excel"

Copied!
3
0
0

Testo completo

(1)

Implementazione di funzioni in VBA 1

Laboratorio di Misura delle Vibrazioni Anno Accademico 2017-18

DEFINIZIONE FILTRI DI PONDERAZIONE in Excel

In queste note viene illustrato come gestire in ambiente Excel la definizione e l’implementazione di un filtro di ponderazione espresso in terzi d’ottava. In particolare in questa sede viene illustrato come implementare in ambiente VBA (Visual Basic for Application).

Per poter sviluppare all’interno di Excel delle routine di calcolo è necessario salvare il file come “cartella di lavoro con attivazione di macro, estensione xlsm), attivare sulla barra dei comandi del programma la scheda

“SVILUPPO” e entrare nella finestra Visual Basic.

Dalla finestra di Visual Basic è necessario aggiungere un modulo al proprio file attivo mediante il seguente menù (si accede cliccando il tasto destro del mouse sul nome del VBA Project del file su cui si lavora).

1) Esempio

SI voglia implementare una funzione che restituisca per ogni frequenza f quale sia il guadagno di un filtro (espresso come rapporto fra output e input) per un filtro con guadagno nullo fino a 4 Hz e una pendenza di - 4dB/terzo d’ottava (-12 dB/ottava) che ha come grafico (bilogaritmico) la seguente rappresentazione.

(2)

Implementazione di funzioni in VBA 2

2) Implementazione

Nella finestra di Visual Basic è possibile definire la funzione in questo modo:

La definizione Option Explicit richiede la definizione di tutte le variabili che si usano e permette di evitare errori banali di scrittura del nome delle variabili.

La funzione è articolata in 5 parti:

(3)

Implementazione di funzioni in VBA 3

 la definizione del nome e dei parametri che utilizza;

 la definizione delle variabili locali;

 la definizione dei parametri del filtro (sarebbe opportuno passarli come parametri della funzione);

 implementazione del codice di calcolo

 restituzione del valore calcolato

Function Filtro_1(f As Single) As Single Dim H As Single

Dim H0 As Single

Dim pendenza As Single Dim f0 As Single

Dim i As Single Dim i0 As Single

pendenza = -12 / 3 ' -6dB/ottava f0 = 4 ' 4 Hz

H0 = 0 ' 0 dB a 4 Hz

If f <= f0 Then H = 0

Else

i = Log(f) / Log(2 ^ (1 / 3)) i0 = Log(f0) / Log(2 ^ (1 / 3)) H = H0 + pendenza * (i - i0) End If

Filtro_1 = 10 ^ (H / 20)

End Function

3) Utilizzo nel foglio di calcolo

Una volta definita la funzione questa nella finestra di Visual Basic è possibile utilizzarla direttamente nel foglio di calcolo di excel chiamandola con il suo nome, per esempio utilizzando il comando =Filtro_1(E19) come indicato nella figura

Riferimenti

Documenti correlati

Invece di scrivere l’indirizzo delle celle, si può prima selezionare la cella che contiene il risultato e cominciare scrivendoci dentro =, poi cliccare sulla cella che rappresenta

Entriamo nella cella e scriviamo la seguente formula (la formula compie un'operazione matematica su uno o più valori che possono essere dei numeri o dei.. riferimenti alle

Dopo aver selezionato la cella D5, clicca sull’uguale nella barra della formula, clicca sulla cella B5, schiaccia il pulsante della tastiera “asterisco” (*), clicca sulla cella

palabras, un nuevo -y complejo- campo de Investigación comparada puede a b rirse .A través del CNE aparecen fenómenos de nuestros días aparecen sorprendentemente

• Fare click con il tasto destro in una zona bianca vicino al bordo esterno del grafico Dal menu che compare scegliere la fase che si vuole modificare: Tipo di grafico, Dati

Si noti che, poiché il risultato di FREQUENZA è una matrice, va prima selezionato l’intervallo delle celle in cui deve essere scritto il risultato e poi la funzione va

Dopo aver selezionato la cella D5, clicca sull’uguale nella barra della formula, clicca sulla cella B5, schiaccia il pulsante della tastiera “asterisco” (*), clicca sulla cella

Il corso ha come obiettivo la produzione di interfacce grafiche e applicazioni di media complessità in Excel, attraverso l’utilizzo degli strumenti di controllo grafici (come