Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-02-2013, 19:21   #1
vpervendetta
Bannato
 
Iscritto dal: Dec 2009
Messaggi: 130
Filtro IIR matlab

Ciao, devo implementare un filtro su matlab e di preciso il filtro è un IIR, ho trovato una breve spiegazione su internet a riguardo che è questa:

Codice:
Di seguito sono riportate le istruzioni utilizzate dal workspace di Matlab per filtrare il segnale di esempio:[b a]=butter(10,0.1,'low');freqz(b,a,100);segnale_filtrato=filtfilt(b,a,segnale);plot(segnale_filtrato,'r');La prima istruzione permette di ottenere i parametri a e b di un filtro modellizzato secondo Butterworth di ordine 10, frequenza di taglio normalizzata pari a 0.1 e di tipo passa-basso.
8

La seconda istruzione freqz permette di visualizzare la funzione di trasferimento del filtro, nell'immagine sottostante sono visualizzabili i grafici della fase e del modulo relativi al filtro di esempio:Con la terza istruzione avviene effettivamente l'operazione di filtraggio del segnale. Le ultime operazioni permettono di sovrappore e graficare il segnale prima e dopo il filtraggio sulla stessa figura.
Il mio problema è che non riesco a far funzionare il filtraggio, cioè la funzione segnale_filtrato=filtfilt(b,a,data), credo perche la mia matrice data è molto grande (19x77833) ma non ne sono sicuro, gli errori che mi da matlab sono:

Codice:
??? Error using ==> filtfilt at 75
Data must have length more than 3 times filter order.

Error in ==> filtfilt at 57
           y(:,i) = filtfilt(b,a,x(:,i));
Cosa può essere? Come posso risolvere il problema?
vpervendetta è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2013, 11:47   #2
vpervendetta
Bannato
 
Iscritto dal: Dec 2009
Messaggi: 130
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
A parte che, se stai facendo un esercizio per l'universita', mi sembra un po' un controsenso andare ad utilizzare le funzioni built-in di matlab per il filtraggio , vorrei giusto puntualizzare che, magari, prima di cominciare ad usare degli strumenti gia' pronti o addentrarsi in temi di signal processing che sono fatti di matematica, e' bene studiare e documentarsi.

se vedi il manuale di filtfilt (help filtfilt) ti accorgi che non e' una funzione pensata per applicare semplicemente il filtro, ma e' un filtraggio a fase zero (sai cosa vuol dire?)

quello che serve a te e' la funzione filter( b,a,x ), che opera lungo la prima dimensione non-singleton del vettore, ovvero nel tuo caso hai 75mila diversi canali lunghi 19 campioni da filtrare, quindi devi specificare la dimensione lungo cui filtrare (sempre riferimento a help filter ).

Resta inteso che se e' un esercizio per l'uni, quello che ti viene richiesto e' implementare una qualsiasi delle forme canoniche per filtraggio, che il professore vi avra' mostrato a lezione.

ciao
Non è proprio un esercizio, è una tesi, solo che a me serve il filtro solo per poterlo inserire dentro una GUI, cioe il filtro non mi interessa che tipo di caratteristiche abbia, solo che si possa modificare da passa-alto a passa-basso e che si possa modificare l'ordine del filtro; la mia tesi è sulla GUI, non sul filtro, pero volevo chiederti cosa modificano i paramentri a e b, cioè ho visto che fanno parte della funzione H(z), ma non riesco a capire modificandoli cosa cambia, ho visto che cambia il filtraggio ma come?
Comunque non so cos'è un filtraggio a fase zero. E per quanto riguarda la teoria la sto saltando perche devo fare il piu in fretta possibile, devo consegnare la tesi entro il 20.
vpervendetta è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2013, 11:51   #3
vpervendetta
Bannato
 
Iscritto dal: Dec 2009
Messaggi: 130
In ogni caso sarei piu propenso ad utilizzare filtri con funzioni conosciute come l'IIR o di Butterworth sempre che si possa inserire un 19x75mila e che si possano selezionare PA o PB o PB ed eventualmente l'ordine del filtro o la freq. di campionamento

Ultima modifica di vpervendetta : 14-02-2013 alle 11:54.
vpervendetta è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2013, 13:12   #4
vpervendetta
Bannato
 
Iscritto dal: Dec 2009
Messaggi: 130
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
L'unica tua scelta e' usare una funzione di trasferimento nota, calcolata da matlab, e filtrare con il comando filter(b,a,x), mettendo i canali da filtrare per colonne (cioe' la trasposta della matrice che stai cercando di filtrare tu). Se vuoi cambiare i parametri del filtro (Ripple, frequenza di taglio, ecc) lo devi fare sfruttando le funzioni di matlab e non cambiando a casaccio i coefficienti del polinomi. Resta inteso comunque che se usi un semplice butterworth come modello non hai molto su cui giocare, solamente la frequenza di taglio. aumentando il numero dei coefficienti, i.e. l'ordine del filtro, aumentera' la piattezza in banda, l'attenuazione di banda oscura e diminuira' l'ampiezza della banda di transizione.
Dove trovo la funzione di trasferimento nota calcolata da matlab? Le funzioni di matlab da sfruttare per cambiare i parametri quali sono?
Potresti farmi un esempio di come dovrei fare?
vpervendetta è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2013, 16:15   #5
vpervendetta
Bannato
 
Iscritto dal: Dec 2009
Messaggi: 130
ok, grazie
vpervendetta è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Il prezzo medio di vendita degli smartph...
Prime Day robot tagliaerba: MAMMOTION, D...
Recensione Google Home Speaker: Gemini s...
Monitor OLED in grande spolvero per il P...
Il mercato delle auto usate: calano i tr...
Starmind sarà il nome della coste...
Smartwatch da non perdere: Apple Watch U...
Euro digitale, via libera dell'ECON: lan...
Deepfake sessuali, l'Oversight Board sgr...
IBM entra nel programma Daybreak di Open...
Fusione Apple-Disney: ci furono trattati...
Roborock Qrevo Curv 2 Flow crolla a 499€...
Squid: un bug di 29 anni lascia leggere ...
La Finlandia inaugura il trasporto pubbl...
Wikipedia: ban a tempo indeterminato per...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:28.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v