Torna indietro   Hardware Upgrade Forum > Software > Programmazione

PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu
Il modello "build to order" di PCSpecialist permette di selezionare una struttura base per un sistema, personalizzandolo in base alle specifiche esigenze con una notevole flessibilità di scelta tra i componenti. Il modello Lafité 14 AI AMD è un classico notebook clamshell compatto e potente, capace di assicurare una elevata autonomia di funzionamento anche lontano dalla presa di corrente
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto
Nothing con il suo nuovo Phone 4(a) conferma la sua identità visiva puntando su una costruzione che nobilita il policarbonato. La trasparenza resta l'elemento cardine, arricchita da una simmetria interna curata nei minimi dettagli. Il sistema Glyph si evolve, riducendosi nelle dimensioni ma aumentando l'utilità quotidiana grazie a nuove funzioni software integrate e notifiche visive. Ecco tutti i dettagli nella recensione completa
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale
Nelle ultime settimane abbiamo provato la Corsair Vanguard Air 99 Wireless, una tastiera tecnicamente da gaming, ma che in realtà offre un ampio ventaglio di possibilità anche al di fuori delle sessioni di gioco. Flessibilità e funzionalità sono le parole d'ordine di una periferica che si rivolge a chi cerca un prodotto capace di adattarsi a ogni esigenza e ogni piattaforma
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-02-2013, 20: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, 12: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, 12: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 12:54.
vpervendetta è offline   Rispondi citando il messaggio o parte di esso
Old 14-02-2013, 14: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, 17:15   #5
vpervendetta
Bannato
 
Iscritto dal: Dec 2009
Messaggi: 130
ok, grazie
vpervendetta è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
Recensione Nothing Phone 4(a): sempre iconico ma ora più concreto Recensione Nothing Phone 4(a): sempre iconico ma...
Corsair Vanguard Air 99 Wireless: non si era mai vista una tastiera gaming così professionale Corsair Vanguard Air 99 Wireless: non si era mai...
Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lavaggio è ampio Ecovacs DEEBOT T90 PRO OMNI: ora il rullo di lav...
Recensione Samsung Galaxy S26 Ultra: finalmente qualcosa di nuovo Recensione Samsung Galaxy S26 Ultra: finalmente ...
12 MW e oltre 20.000 pannelli: Stellanti...
Sono bastate solo 5 ore per insegnare a ...
Fastweb + Vodafone e TIM: un accordo per...
Scaleway apre una nuova cloud region a M...
Il PC non dà accesso al disco C:/...
Attenzione alle app IPTV: nascondono Per...
Controller Xbox in offerta su Amazon: co...
vivo X300 Pro 5G a 1.199€ su Amazon: il ...
"Portraits of Italians": la ca...
Roborock Qrevo Curv 2 Pro crolla di prez...
Uber ha trovato il partner per i robotax...
Sony pronta a dire addio al marchio PSN:...
ARCTIC Senza AI 370: il PC 'sotto la scr...
Corsair 3200D, il mid-tower sotto i 100€...
Esiste un SSD NVMe M.2 2280 da 16 TB, ma...
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: 21:01.


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