Perdonatemi, ma non riesco a capire chi siano I ed U.
Nel frattempo ho scoperto che un filtraggio a media mobile potrebbe fare al caso mio.
Probabilmente in modo molto più pulito (computazionalmente) rispetto fft.
In MATLAB esiste l'istruzione filter.
Filtro passa basso su segnale campionato
33 messaggi
• Pagina 2 di 4 • 1, 2, 3, 4
1
voti
I = ingresso (i tuoi campioni)
U = uscita
E = errore o scostamento
tempo di campionamento = intervallo di tempo reale fra i campioni.
Il filtraggio a media mobile secondo me è stato inventato e in alcuni casi prescritto negli anni '70 per costringere ad acquistare un computer, comunque va bene anche quello.
U = uscita
E = errore o scostamento
tempo di campionamento = intervallo di tempo reale fra i campioni.
Il filtraggio a media mobile secondo me è stato inventato e in alcuni casi prescritto negli anni '70 per costringere ad acquistare un computer, comunque va bene anche quello.
2
voti
per
EcoTan,
filtro ricorsivo del primo ordine allore basta un algoritmo del tipo
E = I-U
U = U + E*K
con K = tempo campionamento / Costante di tempo
In alternativa,
U = U + (I-U)*K
U = U*(1-K) + I * K
con K1 = 1-K costante
U = U*K1 + I * K una variabile e una sottrazione in meno, ma una moltiplicazione in più
Premetto che 'sta roba non la ho studiata e vado con un empirismo pazzesco.
Mi spieghereste se il filtro suddetto è IIR o FIR?
Il filtro si comporta come un filtro passa basso RC (resistenza serie e capacità in parallelo all'uscita)
Come il filtro RC a un gradino ha una risposta esponenziale all'ingresso a gradino, ossia si assesta dopo un tempo teoricamente infinito, in pratica dopo 5 costanti di tempo si assesta al 99 % del valore finale.
Quindi è un IIR risposta infinita all'impulso.
Un filtro FIR risposta finita è per esempio un filtro a media mobile su due valori è come da esempio:
...
U = (I + IP)/2
IP = I valore precedente dell'ingresso
....
Non è facilmente realizzabile in analogico, salvo usare delle linee di ritardo.
Dipende dalle precisione che ti interessa.
teoricamente no se lavori con numeri reali
in pratica se lavori con numeri floating point a un certo punto per l'arrotondamento dei calcoli si.
E' un discorso di errori per approssimazione dei calcoli numerici.
Ho iniziato a calcolare e progettare sistemi di controllo analogici e numerici real time quando mathcad non esisteva e i calcolatori erano costosi e poco potenti , e oggi penso che chi adopera mathcad perde il significato fisico e il carico computazionale che richiede.

filtro ricorsivo del primo ordine allore basta un algoritmo del tipo
E = I-U
U = U + E*K
con K = tempo campionamento / Costante di tempo
In alternativa,
U = U + (I-U)*K
U = U*(1-K) + I * K
con K1 = 1-K costante
U = U*K1 + I * K una variabile e una sottrazione in meno, ma una moltiplicazione in più
Premetto che 'sta roba non la ho studiata e vado con un empirismo pazzesco.
Mi spieghereste se il filtro suddetto è IIR o FIR?
Il filtro si comporta come un filtro passa basso RC (resistenza serie e capacità in parallelo all'uscita)
Come il filtro RC a un gradino ha una risposta esponenziale all'ingresso a gradino, ossia si assesta dopo un tempo teoricamente infinito, in pratica dopo 5 costanti di tempo si assesta al 99 % del valore finale.
Quindi è un IIR risposta infinita all'impulso.
Un filtro FIR risposta finita è per esempio un filtro a media mobile su due valori è come da esempio:
...
U = (I + IP)/2
IP = I valore precedente dell'ingresso
....
Non è facilmente realizzabile in analogico, salvo usare delle linee di ritardo.
La mia idea sarebbe che l'uscita non torna mai esattamente a zero perché la moltiplicazione digitale E*K con K<1 al di sotto di un certo valore viene azzerata.
Dipende dalle precisione che ti interessa.
teoricamente no se lavori con numeri reali
in pratica se lavori con numeri floating point a un certo punto per l'arrotondamento dei calcoli si.
E' un discorso di errori per approssimazione dei calcoli numerici.
Ho iniziato a calcolare e progettare sistemi di controllo analogici e numerici real time quando mathcad non esisteva e i calcolatori erano costosi e poco potenti , e oggi penso che chi adopera mathcad perde il significato fisico e il carico computazionale che richiede.

2
voti
Il filtro Savitzky–Golay permette un maggior controllo sulla levigatura dell'andamento dei dati discreti:
https://en.wikipedia.org/wiki/Savitzky% ... lay_filter
è facile da implementare, basta decidere la lunghezza della finestra e il grado del polinomio, i coefficienti da usare si trovano in tabelle pre-compilate. Il filtro a media mobile è un caso particolare del filtro Savitzky–Golay.
https://en.wikipedia.org/wiki/Savitzky% ... lay_filter
è facile da implementare, basta decidere la lunghezza della finestra e il grado del polinomio, i coefficienti da usare si trovano in tabelle pre-compilate. Il filtro a media mobile è un caso particolare del filtro Savitzky–Golay.
0
voti
MarcoD ha scritto:Un filtro FIR risposta finita è per esempio un filtro a media mobile su due valori è come da esempio:
...
U = (I + IP)/2
IP = I valore precedente dell'ingresso
....
Ottimo grazie.
(mi son fatto un frequency shifter e cercando di azzerare i mugolii delle portanti ho messo uno stadio FIR sul segnale modulante audio però è fatto in un altro modo cioè prende l'ultimo incremento dell'ingresso e lo somma all'uscita poi la attenua, appena posso proverò questo).
2
voti
1. Banda del rumore
2. Statistica del rumore
3. Tipo di segnale
4. Filtraggio realtime oppure offline
ecc.
ecc.
ecc.
Nel tuo caso probabilmente un filtro di Wiener sarebbe un buon candidato anche nella versione non causale potendo operare offline.
Ingegneria : alternativa intelligente alla droga.
-

dimaios
30,2k 7 10 12 - G.Master EY

- Messaggi: 3381
- Iscritto il: 24 ago 2010, 14:12
- Località: Behind the scenes
0
voti
Il mio problema è il seguente:
realizzare un filtro taglia basso digitale, senza fare alcun uso del formato floating, capace di fornire zero esatto in uscita se il segnale di ingresso è costante (in pratica tagliare la componente continua di un segnale audio).
Forse sbaglio ma mi pare che nessuno dei sistemi proposti arrivi a dare zero esatto.
realizzare un filtro taglia basso digitale, senza fare alcun uso del formato floating, capace di fornire zero esatto in uscita se il segnale di ingresso è costante (in pratica tagliare la componente continua di un segnale audio).
Forse sbaglio ma mi pare che nessuno dei sistemi proposti arrivi a dare zero esatto.
0
voti
Fixed point:
https://dspguru.com/dsp/tricks/fixed-po ... e-shaping/
Il concetto di zero esatto mi sfugge visto che lo zero è uno solo.
P.S. il certificato HTTPS del link precedente è scaduto e diversi browser possono segnalarlo come problema.
https://dspguru.com/dsp/tricks/fixed-po ... e-shaping/
Il concetto di zero esatto mi sfugge visto che lo zero è uno solo.
P.S. il certificato HTTPS del link precedente è scaduto e diversi browser possono segnalarlo come problema.
0
voti
Va bene, togliamo l'aggettivo "esatto" che è superfluo. Quindi sto cercando un algoritmo per fare un filtro taglia-basso che, in presenza di un ingresso costante, dia zero in uscita (ovviamente dopo un certo tempo). Il tutto senza usare variabili in formato floating point (tanto meno double).
Ti dico anche perché mi serve: ho un frequency shifter per effetti tipo truccavoce, quindi l'eventuale componente continua, anche se ridotta a un solo digit, a valle dello shifter si tradurrebbe in una sinusoide fastidiosa. Attualmente ho risolto il problema con un metodo che richiede l'uso di variabili long int, quindi sarei interessato a soluzioni migliori se esistono.
Ti dico anche perché mi serve: ho un frequency shifter per effetti tipo truccavoce, quindi l'eventuale componente continua, anche se ridotta a un solo digit, a valle dello shifter si tradurrebbe in una sinusoide fastidiosa. Attualmente ho risolto il problema con un metodo che richiede l'uso di variabili long int, quindi sarei interessato a soluzioni migliori se esistono.
0
voti
Questo elimina il ripple, per definizione, ed è ciò che si fa concettualmente nello studio della dinamica dei convertitori switching ed azionamenti.
L'unico problema è che il numero di campioni a periodo di PWM potrebbe non essere intero, e specie se il numero sresso è piccolo, l'errore dovuto all'arrotondamento può non essere così trascurabile.
-

SandroCalligaro
2.970 2 4 5 - G.Master EY

- Messaggi: 1181
- Iscritto il: 6 ago 2015, 19:25
33 messaggi
• Pagina 2 di 4 • 1, 2, 3, 4
Torna a Elaborazione numerica ed analogica dei segnali
Chi c’è in linea
Visitano il forum: Nessuno e 4 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)





