Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker
Analizziamo nel dettaglio DJI RS 5, l'ultimo arrivato della famiglia Ronin progettato per videomaker solisti e piccoli studi. Tra tracciamento intelligente migliorato e ricarica ultra rapida, scopriamo come questo gimbal eleva la qualità delle produzioni.
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming
AMD Ryzen 7 9850X3D è la nuova CPU gaming di riferimento grazie alla 3D V-Cache di seconda generazione e frequenze fino a 5,6 GHz. Nei test offre prestazioni superiori a 9800X3D e 7800X3D, confermando la leadership AMD nel gaming su PC.
Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-05-2017, 17:34   #1
pakopako
Junior Member
 
Iscritto dal: Sep 2016
Messaggi: 5
Filtrare un Segnale in matlab.

Buonasera, ho un segnale di accelerazione che registra su un file i valori lungo i 3 assi ogni 10ms, quindi la frequenza di campionamento dovrebbe essere 100Hz.

Ciò che vorrei chiedervi e se qualcuno potrebbe indicarmi come è possibile filtrare questo segnale.

Poichè l'accelerometro mi da picchi molto alti in determinate situazioni, ma che costituiscono solo una piccola parte del segnale (questi sono quelli che mi interessano principalmente), io necessito di smussare e quindi filtrare tutti i valori di accelerazione che sono compresi diciamo tra 1m/s^2 e -1m/s^2.

Ora, ho fatto la trasformata di Fourier di questo segnale attraverso il seguente codice:

L = length(segnale);
f = Fs*(0 : (L/2)) /L; %%Viene creato il dominio di Frequenza.
Y = fft(segnale); %%Viene applicata la trasformata di Fourier


P2 = abs(Y/L);
P1 = P2(1:floor(L/2)+1);
P1(2:end-1) = 2*P1(2:end-1);

dOut = P1;
plot(f,dOut)

title('Single-Sided Amplitude Spectrum of Data(t)')
xlabel('f (Hz)')
ylabel('|P1(f)|')



Quindi io vado ad analizzare tutto ciò che ricade tra 0 e 50Hz, in accordo al Teorema di Nyquist, per l'aliasing del segnale.

A seguito di questa trasformata, come posso capire quale parte del mio segnale rappresenta il rumore, e quale parte invece i dati che non voglio "toccare"?

E una volta determinata la frequenza in cui attenuare il rumore come è possibile creare un filtro che mi consenta di poter successivamente integrare il segnale?


Link delle foto della trasformata di Fourier, e del Segnale Originale.



Ultima modifica di pakopako : 11-05-2017 alle 17:44. Motivo: Inserimento Foto
pakopako è offline   Rispondi citando il messaggio o parte di esso
Old 11-05-2017, 23:35   #2
pakopako
Junior Member
 
Iscritto dal: Sep 2016
Messaggi: 5
Ciao, Grazie per la risposta,
Metto i link delle immagini cosi magari si possono visualizzare:

Questa riguarda il segnale originale.
http://imgur.com/k3TJiZa

Questa la trasformata di FFT
http://imgur.com/e9Zn5kG


Come si vede dal segnale vi sono molti valori che sono compresi tra -1 e 1, che costituiscono per la maggiore i dati del segnale stesso. Ciò che dovrei fare è effettuare l'integrazione di questo segnale.
Tuttavia se lo effettuo su questo segnale così, non ottengo nulla poichè vi è molto rumore, e vorrei appunto filtrato, e il risultato che dovrei ottenere sostanzialmente dal segnale filtrato, e che i valori del segnale originale diciamo >2 e <-2 non dovrebbero cambiare, e attenuare tutti quelli più bassi, quindi la forma del segnale non mi deve cambiare di molto in corrispondenza dei picchi diciamo alti, non so se mi sono ben spiegato,

Ora per applicare il filtro, non riesco a capire a quale frequenza effettuare il taglio, vedendo il risultato di fourier, ho pensato che le componenti con maggior rumore sono tra 10 e 15 Hz, e ho provato ad applicare un filtro passa-basso butter del 6 ordine con frequenza di taglio 15Hz/(100Hz/2). Ma è come se non mi cambiasse nulla, e cambiano solo i valori alti(>2 e <-2), che è esattamente l'opposto di quello che desidero.

Quindi sicuramente sto sbagliando qualcosa, o mi manca altro per poter filtrare correttamente il segnale.

Ultima modifica di pakopako : 12-05-2017 alle 11:00.
pakopako è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2017, 17:29   #3
pakopako
Junior Member
 
Iscritto dal: Sep 2016
Messaggi: 5
Grazie ancora per la risposta.

In scala logaritmica il segnale dovrebbe uscire cosi:
http://imgur.com/a/S7K3X

Il mio problema è proprio che non riesco a capire come identificare il rumore dalla trasformata di Fourier, cioè io vorrei solo smussare i dati per poter effettuare l'integrazione perchè così giustamente non mi esce nulla.

Perdonami ma non ho capito a cosa ti riferisci per rumore bianco.
pakopako è offline   Rispondi citando il messaggio o parte di esso
Old 31-05-2017, 17:26   #4
pakopako
Junior Member
 
Iscritto dal: Sep 2016
Messaggi: 5
Penso di esser riuscito a tirar fuori lo spettogramma, da questo cosa riesco a capire? quale parte del segnale ha rumore e quale non? e che tipo di filtraggio sarebbe opportuno?
Da quello che penso, come mi hai detto precedentemente sembra che il segnale sia davvero molto rumoroso.

http://imgur.com/a/OfpNm


Per fare lo spettogramma ho utilizzato:
periodogram(x,rectwin(length(x)),length(x))

Ultima modifica di pakopako : 31-05-2017 alle 17:33.
pakopako è offline   Rispondi citando il messaggio o parte di esso
Old 01-06-2017, 11:15   #5
pakopako
Junior Member
 
Iscritto dal: Sep 2016
Messaggi: 5
Perchè io di questo segnale devo effettuare una doppia integrazione, ma non mi serve lo spostamento finale, ma lo spostamento punto per punto, provo a fare un esempio di ciò che intendo:

Essendo il segnale di un'accelerazione verticale, se per esempio ho dei valori di accelerazione di 6 m/s^2, penso che lo spostamento verticale sia elevato rispetto ai punti in cui ho valori di accelerazione vicini allo 0, in cui mi apsetto uno spostamento quasi nulla. Il problema che applicando un filtro a media mobile, il segnale si è vero che si smussa, ma se effettuo l'integrazione di esso non ottengo nulla come risposta valida, non so se magari è sbagliata proprio la procedura d'integrazione allora, perchè al momento sto utilizzando a funzione

cumtrapz(segnale) * dt;
pakopako è offline   Rispondi citando il messaggio o parte di esso
Old 08-07-2017, 02:20   #6
kikino
Member
 
L'Avatar di kikino
 
Iscritto dal: Nov 2003
Città: Moro num pais tropical Abençoado por Deus Bonito por natureza
Messaggi: 102
Quote:
Originariamente inviato da pakopako Guarda i messaggi
Perchè io di questo segnale devo effettuare una doppia integrazione, ma non mi serve lo spostamento finale, ma lo spostamento punto per punto, provo a fare un esempio di ciò che intendo:

Essendo il segnale di un'accelerazione verticale, se per esempio ho dei valori di accelerazione di 6 m/s^2, penso che lo spostamento verticale sia elevato rispetto ai punti in cui ho valori di accelerazione vicini allo 0, in cui mi apsetto uno spostamento quasi nulla. Il problema che applicando un filtro a media mobile, il segnale si è vero che si smussa, ma se effettuo l'integrazione di esso non ottengo nulla come risposta valida, non so se magari è sbagliata proprio la procedura d'integrazione allora, perchè al momento sto utilizzando a funzione

cumtrapz(segnale) * dt;
pako esattamente il tuo accelerometro che tipo di sorgente sta analizzando?
magari se informi quello possiamo capire se il segnale ha delle caratteristiche stimabili
__________________
TIRANNIDE indistintamente appellare si debbe ogni qualunque governo, in cui chi è preposto alla esecuzion delle leggi, può farle, distruggerle, infrangerle, interpretarle, impedirle, sospenderle; od anche soltanto deluderle, con sicurezza d'impunità. Vittorio Alfieri 1777
kikino è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
DAZN lancia il piano Full Mobile a 19,99...
Samsung Galaxy S26, ormai è tutto...
Smartphone sempre più cari: super...
L'ultima puntata di Falsissimo rimossa d...
NASA Perseverance ha utilizzato percorsi...
Blue Origin sospende per almeno due anni...
Stampanti, Los Angeles verso il divieto ...
Roscosmos Amur: il razzo spaziale riutil...
Robot aspirapolvere per tutte le tasche:...
Accedere alle mail di un lavoratore lice...
Amazon Haul scatenato: migliaia di prodo...
Amazon Seconda Mano rilancia: sconto ext...
Super prezzo Amazon per ECOVACS DEEBOT T...
NVIDIA Shield TV: dieci anni di aggiorna...
Le 10 offerte migliori su Amazon oggi, c...
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: 15:34.


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