Spettrogramma Matplotlib

Spettrogramma Matplotlib
Uno spettrogramma è una rappresentazione grafica delle lunghezze d'onda che raffigura la potenza di trasmissione in un determinato momento. In termini semplici, uno spettrogramma è una rappresentazione del suono. È anche noto come voce voicegramma o stampa vocale. I livelli del segnale sono rappresentati da uno spettrogramma, che viene visualizzato in una varietà di colori. Se la tonalità del segnale è luminosa, questo indica che l'intensità del segnale è forte.

In altri termini, la velocità di campionamento dello spettrogramma è direttamente correlata alla luminanza del colore. La serie di Fourier di breve durata viene utilizzata per realizzare gli spettrogrammi. Esegue una semplice valutazione variabile nel tempo della frequenza. L'idea principale è quella di abbattere l'onda sonora in piccoli pezzi, che vengono quindi mostrati su un diagramma contro la durata. Il metodo SPECGRAM () è stato utilizzato con gli argomenti appropriati per questa rappresentazione visiva.

In questo articolo, esamineremo in dettaglio come disegnare uno spettrogramma in Python usando il modulo Matplotlib.

Usa PLT.Metodo SPECGRAM ()

Qui, discuteremo di come utilizzare la funzione PLT.SPECGRAM () per disegnare lo spettrogramma in Python.

Importa matplotlib.Pyplot come Plt
Importa Numpy come NP
Importa matematica
Time_diff = 0.0005
Time_arr = np.Linspace (1, 6, matematica.ceil (6 / time_diff))
D = 30*(NP.peccato (4 * np.pi * time_arr))
Plt.SPECGRAM (d, fs = 8, cmap = "arcobaleno")
Plt.Titolo ('Figura 1')
Plt.XLabel ("X-Axis")
Plt.Ylabel ("Asse Y")
Plt.spettacolo()

Prima di iniziare il codice, dobbiamo introdurre librerie diverse. Matplotlib.Pyplot viene utilizzato per la creazione di visualizzazioni animate o statiche. La libreria Numpy fornisce un gran numero di dati quantitativi. E la biblioteca matematica è utilizzata per eseguire calcoli matematici.

Nel passaggio successivo, dobbiamo indicare l'intervallo di tempo per scattare il quadro del segnale prodotto. Ora inizializziamo una matrice di valori usando la libreria numpy. Qui, chiamiamo la funzione matematica.ceil () e il valore della differenza di tempo è fornito come parametro a questa funzione.

Inoltre, creiamo un nuovo array che contiene i punti dati effettivi che vogliamo essere disegnati. Utilizziamo il metodo Sin (). Come parametro di questa funzione, moltiplichiamo i valori 3 e PI per l'array già esistente. Lo spettrogramma viene creato mediante l'uso del PLT.Metodo SPECGRAM ().

Dati, frequenza e colore della trama sono passati come parametro di questa funzione. Allo stesso modo, abbiamo impostato il titolo dell'asse X e dell'asse Y mediante l'uso del PLT.funzione etichetta (). Alla fine, rappresentiamo il grafico con l'aiuto del PLT.METODO SHOW ().

Disegna lo spettrogramma con una combinazione di colori arcobaleno

Possiamo creare lo spettrogramma mediante l'uso del PLT.funzione SPECGRAM (). E qui possiamo specificare la mappa dei colori fornendo l'argomento "cmap" alla funzione PLT.SPECGRAM ().

Importa matplotlib.Pyplot come Plt
Importa Numpy come NP
np.casuale.Seme (9360801)
d_t = 0.0007
tempo = np.Arange (1.0, 30.0, d_t)
sig1 = np.peccato (5 * np.PI * 150 * Time)
sig2 = 1.4 * np.peccato (1.4 * np.PI * 450 * Time)
sig2 [tempo <= 11] = sig2[14 <= time] = 0
rumore = 0.8 * np.casuale.casuale (dimensione = len (tempo))
A = Sig1 + Sig2 + rumore
NFFT = 620
Fs = int (2.5 / d_t)
Plt.SPECGRAM (a, fs = fs, cmap = "arcobaleno")
Plt.Titolo ('Figura 2',
FontSize = 22, fontwe] ight = 'normale')
Plt.spettacolo()

Innanzitutto, importiamo le nostre librerie richieste per visualizzazioni grafiche e analisi quantitative. Ora applichiamo la funzione casuale () della libreria numpy per dichiarare un set di dati casuali. Specifichiamo il valore della differenza di tempo. Prendiamo una nuova variabile e lo dichiariamo con il metodo Orgy () della libreria Numpy.

Inoltre, integriamo i dati per due segnali mediante l'uso del metodo Sin () della libreria Numpy. Creiamo una nuova variabile per il rumore con il metodo Random (). Qui, passiamo la funzione size () per trovare la lunghezza del segnale dell'intervallo di tempo.

Ora, creiamo una nuova variabile che memorizza i dati del rumore e altri due segnali. Oltre a ciò, definiamo il valore per la lunghezza del segmento e la frequenza di campionamento. La funzione PLT.SPECGRAM () viene chiamato per disegnare uno spettrogramma. Questa funzione contiene tre parametri tra cui il set di dati dell'asse x, la frequenza di campionamento e il colore della mappa.

Poco prima di visualizzare il grafico, specifichiamo il titolo per il grafico mediante l'uso del PLT.Titolo () Metodo. Qui, possiamo impostare il fontsize e il pescatore del titolo.

Utilizzo di NFFT per disegnare lo spettrogramma

In questo passaggio, creeremo uno spettrogramma mediante l'uso del parametro NFFT.

Dopo aver integrato le librerie, dobbiamo correggere lo stato casuale mediante l'uso del metodo casuale (). Ora, specifichiamo la differenza di tempo. Qui, il suo valore è 0.0007. Inoltre, dichiariamo il valore dell'intervallo di tempo utilizzando la funzione Orgy () della libreria Numpy.

Nel passaggio successivo, acquisiamo i valori di entrambe le onde di segnale con l'aiuto della funzione sin (). Ora creiamo un cinguettio temporaneo del secondo segnale. Aggiungiamo il valore del rumore nella miscela usando la funzione casuale (). Otteniamo la lunghezza dell'onda di rumore.

Inoltre, impostiamo il valore di NFFT. Contiene il numero di set di dati coinvolti in ogni blocco. È inoltre definito il valore per la frequenza di campionamento. Per creare grafici, prima creiamo due oggetti e poi utilizziamo il PLT.Metodo sottotrame (). Qui, impostiamo il no. di righe come parametro.

Oltre a ciò, utilizziamo il metodo Specgram () per disegnare lo spettrogramma. Qui, abbiamo superato il valore della sovrapposizione come parametro. Questo mostra il no. di punti che si sovrappongono tra i pezzi. Finalmente alla fine, dobbiamo mostrare il grafico mediante l'uso di PLT.Show () funzione.

Conclusione

Abbiamo spiegato il metodo per creare uno spettrogramma in Python. Osserviamo l'utilizzo del metodo Specgram () per questo tipo di visualizzazione. Possiamo specificare la combinazione di colori dello spettrogramma passando "cmap" come parametro alla funzione Specgram (). Inoltre, otteniamo lo spettrogramma con un motivo a colori arcobaleno.