Friday 1 September 2017

Moving Media Gnuradio


Ci sono molti blocchi filtranti e noccioli in GNU Radio filtro blocchi sono blocchi standard GNU Radio che si inseriscono in un flowgraph filtro kernel sono il coraggio delle operazioni di filtraggio che sono classi C che sono progettati per essere utile all'interno di altri blocchi Il modulo di filtraggio viene inoltre fornito con un certo numero di progetto di filtri tools. FIR filtri vedere filtri firfilter h che calcolano finita filtraggio Impulse Response FIR nel tempo filtri domain. FFT vedere fftfilter h filtri che calcolano il filtraggio FIR nel dominio della frequenza cioè filtri convolution. FIR veloci con buffer interni vedere firfilterwithbuffer h filtri che eseguono nel dominio del tempo di filtraggio FIR, ma mantengono un buffer interno in modo che i vettori di ingresso non sono interessati o utilizzati Questo non è così efficace come i normali filtri FIR, ma può essere necessario in certe filtri conditions. IIR vedere i filtri iirfilter h che calcolano infinita risposta all'impulso filtri IIR filtering. Single poli IIR vedere singlepoleiir caso speciale ha di un filtro IIR con un unico polo noto anche come una media mobile filter. PFB resampler arbitrario vedere pfbarbresampler h esegue il ricampionamento arbitrario vale a dire utilizzando qualsiasi numero reale con il metodo del filtro a polifase Vedi anche Il PFB arbitraria Resampler Kernel. Polyphase filtro a vedere polyphasefilterbank ettari insieme di classi di base con funzioni standard per la costruzione di molti filtro a polifase blocks. Design Tools. To aiuto filtri di build, GNU Radio comprende una serie di strumenti di progettazione Questi strumenti costruire filtri standard come bassa passare, passa alto, passa banda, ecc ci sono due tipi principali della progettazione del filtro filtri tools. Windowed vedere firdes h filtri definiti come funzioni sinc e un filtro finestra function. Equiripple vedere filtri definite utilizzando l'algoritmo di Parks-McClellen dato un set di biblioteca filtro conditions. The GNU Radio esporta anche l'algoritmo di Parks-McClellen sia in C e Python come filtro gr pmremez. The firdes filtro h contiene funzioni per progettare i seguenti tipi di filtri vedi gr filtrare firdes. gr filtro passa-basso firdes definisce una bassa filtro passa sulla base di una larghezza di banda banda passante e bandwidth. gr transizione firdes filtro lowpass2 stesso del filtro passa-basso con l'argomento aggiunto per impostare l'attenuazione out-of-band in dB. gr filtro passa-alto firdes definisce un filtro passa alto sulla base di un passaggio larghezza di banda band e bandwidth. gr transizione filtro firdes highpass2 stesso come il filtro passa-alto con l'argomento aggiunto per impostare l'attenuazione out-of-band in dB. gr filtro passa-banda firdes definisce un filtro passa banda in base alla banda passante di inizio e fine delle frequenze e firdes filtri di transizione bandwidth. gr bandpass2 stesso del filtro passa banda con argomento aggiunto per impostare l'attenuazione out-of-band dB. gr filtra firdes complexbandpass definisce un complesso filtro passa banda sulla base della banda passante start e stop frequenze e la larghezza di banda di transizione Restituisce rubinetti complesse per firdes unilaterale filtro spectrum. gr complexbandpass2 stesso come il complesso filtro passa banda con argomento aggiunto per impostare l'attenuazione out-of-band in dB. gr firdes filtro bandreject definisce una banda di rifiutare filtro basato su un larghezza di banda banda di arresto e filtro di transizione bandwidth. gr firdes bandreject2 stessa della reiezione di banda filtro con argomento aggiunto per impostare l'attenuazione out-of-band in dB. gr filtro firdes Hilbert crea una trasformata di Hilbert filter. gr filtro firdes rootraisedcosine crea una radice sollevato coseno impulso RRC plasmare filtro filter. gr firdes Guassian crea un impulso gaussiano plasmare filter. gr finestra del filtro firdes restituirà la funzione di finestra per la finestra data al numero indicato di taps. The contiene un insieme di Python-solo le funzioni che definiscono i filtri equiripple utilizzando l'Parks - McClellen algorithm. lowpass definisce un filtro passa basso basato l'estremità della banda passante, l'inizio della banda di arresto, il ripple banda passante, e la attenuation. bandpass stop band definisce un filtro passa banda in base alla fine della prima banda di arresto , l'inizio della banda passante, la fine della banda passante, l'inizio della seconda banda di arresto, il ripple banda passante, e la attenuationplexbandpass stop band definisce un filtro passa banda in base alla fine della prima banda di arresto, l'inizio la banda passante, la fine della banda passante, l'inizio della seconda banda di arresto, il ripple banda passante, e l'attenuazione banda di arresto di restituzione rubinetti complessi per unilaterale spectrum. bandreject definisce una banda respingere filtro in base alla fine del primo passa banda, l'inizio della banda di arresto, la fine della banda di arresto, l'inizio della seconda banda passante, il ripple banda passante, e l'attenuazione banda fermata differenza del filtro bandreject firdes h, questo filtro non deve essere simmetrica. highpass definisce un filtro passa-alto in base al largo alla fine della banda di arresto, l'inizio della banda passante, il ripple banda passante, e la fermata banda attenuation. Filter design GUI Tool. GNU Radio ha uno strumento di progettazione grafica filtro chiamato grfilterdesign questo strumento ci permette di costruire filtri utilizzando i metodi di progettazione del filtro sopra e guardiamo i risultati immediatamente dominio della frequenza e del tempo insieme ad altri aspetti del filtro come il profilo di fase, ritardo di gruppo, i rubinetti filtro come una lista, risposta all'impulso, e passo risposta visualizzata inoltre è uno strumento di progettazione del filtro poli-zeri plot. The è utile per fornire un feedback immediato sulla forma, comportamento, e la complessità del filtro dai parametri di progettazione l'utensile comprende anche un salvataggio possibilità di salvare i rubinetti e parametri in un semplice valori separati da virgole CSV format. Furthermore, il programma di progettazione del filtro può essere richiamato e utilizzato per l'interazione all'interno di un programma Python ci sono alcuni modi in cui possiamo interagire con lo strumento strumento programmatically. The può essere semplicemente lanciato da Python, e quando è chiuso, restituisce un oggetto pieno di i parametri del filtro e rubinetti un esempio di questo può essere trovato in. print Filtro Count. print modo Filtro type. print Filtro params. print Coefficients. Another di utilizzare lo strumento di progettazione del filtro è quello di dare una funzione di callback che viene chiamata ogni volta che viene premuto il pulsante Struttura nella GUI il codice seguente viene dall'esempio ogni pressione design, la funzione printparams viene chiamato con i parametri filtra e rubinetti all'interno del filtobj object. print filtro Count. print Filtro type. print Filtro params. print Filtro Coefficients. In miei recenti tentativi di misurare la cifra di rumore di un dongle RTL-SDR, io ho notato che i risultati del metodo due volte il potere e il metodo di Y-fattore differiscono significativamente Nel tentativo per scoprire il motivo di questa differenza, ho fatto alcuni ulteriori misurazioni con diversi tipi di segnali ho scoperto che il rilevatore di potenza ho implementato in GNU Radio si comporta in modo strano sembra che la potenza del segnale indicato dipende dal segnale s fattore di cresta, che dovrebbe non essere il case. Update Come il mio follow-up post spiega, stavo usando una configurazione sbagliata sia sul analizzatore di spettro e il segnale generator. First di tutto, vorrei chiarire che quello che sto facendo qui è confrontare la potenza indicata in unità relative di due segnali di potenza identica I m non cercando di determinare il potere assoluto dire in milliwatt Come GNU Radio FAQ spiega succintamente il secondo è difficile con la tipica configurazione SDR trezzature per questi esperimenti è simile a quello che ho descritto nel mio post su figura di rumore I m utilizzando un dongle EzCAP DVB-T sintonizzati a 700 MHz 5 I m la misura della potenza in una banda di 200 kHz che viene compensato da -500 kHz dalla frequenza centrale per quanto posso vedere dalla FFT, questo band è privo di speroni e altri manufatti del ricevitore stesso potere del segnale viene misurato moltiplicando il segnale con un coniugato complesso di se stesso e poi prendendo una media mobile di 50000 samples. I sto utilizzando un generatore di segnali vettoriali Rohde Schwarz SMBV che è in grado di la produzione di una forma d'onda arbitraria con una potenza totale del segnale preciso come controllo, io ho anche l'installazione di un analizzatore di spettro FSV per misurare la potenza totale del segnale nella stessa banda di 200 kHz come l'esempio setup. For RTL-SDR, questo è ciò che un analizzatore di spettro mostra per un'onda sinusoidale non modulata con -95 dBm livello impostato sul generator. And questo è quello che mostra una banda a 100 kHz di rumore gaussiano, di nuovo con -95 dBm level. The misurata potere nel canale 200 kHz in entrambi i casi è d'accordo bene con l'impostazione di potenza sulla differenza generatore deriva probabilmente dalle perdite nel cavo ho usato un 60 cm a bassa perdita LMR-195 coassiale fornito con il USRP, connettori, errori di taratura degli strumenti di misura ed il fatto che la l'FSV aggiunge la propria potenza di rumore al segnale l'importante, però, è che i cambiamenti di potere lettura unicamente per 0 19 dB quando si accende la modulazione Penso che questo sia ben entro l'errore di misura accettabile range. Repeating gli stessi due misurazioni utilizzando il RTL-SDR dongle e il potere detector. Note GNU Radio che ora il segnale modulato mostra potenza molto maggiore di quella modulata la differenza è 2 53 dB, che non può essere attribuita al fatto error. In casuale, questo effetto è ripetibile e non specifiche per il rTL dongle - sdr io ho ripetuto le stesse misure che utilizzano un dispositivo USRP N200 con una scheda figlia SBX io ho usato anche una serie di segnali diversi, dal rumore gaussiano banda limitata, più segnali CW ad un'ampiezza risultati carrier. The modulati sono riassunti nella tabella sottostante per rendere le cose più chiare, io sto mostrando la potenza relativa indicati dalla CW io ho usato -95 dBm potenza media per RTL-SDR e -100 dBm per USRP, per mantenere il rapporto segnale-rumore di circa lo stesso su entrambi i dispositivi. come si può vedere, entrambi i dispositivi mostrano un offset per i segnali, che hanno una differenza significativa tra potenze di picco e medie gli spostamenti sono anche molto simili tra i dispositivi, cosa che suggerisce che questo effetto non è causato dalla spiegazione dispositivo itself. Any causa alla progettazione dei ricevitori fisica posso immaginare si traduce in un guadagno più basso per i segnali con un elevato rapporto picco-media potenza Quindi, esattamente il contrario di quello che io ho seen. It doesn t sembrano essere causati da una logica intelligente nella regolazione tuner guadagno per diversi segnali la differenza di guadagno sembra rimanere fino a potenze molto basse segnale penso che sia improbabile che una tale ottimizzazione avrebbe funzionato fino a livelli molto bassi segnale-rumore Ciò esclude anche qualsiasi ricevitore non linearità come la causa per quanto riguarda posso tell. If che sarebbe utilizzando un rilevatore di potenza analogico, questo tipo di effetto sarebbe tipico di un rivelatore che non misura potenza segnale direttamente come un diodo rivelatore che ha una caratteristica esponenziale anziché quadratica Tuttavia, I m calcolando segnale potere numericamente e si può t ottenere una precisa funzione di più quadratica di x 2.I ve testato un paio di teorie per quanto riguarda errori numerici, infatti, i risultati differiscono in qualche modo tra la media mobile o il decimando filtro passa-basso si differenziano anche tra l'utilizzo di coniugato e si moltiplicano i blocchi o le RMS bloccano Tuttavia, le differenze sono insignificanti, per quanto posso vedere e don t spiegare le misure io ho scelto il setup grafico di flusso mostrato sopra perché produce figure che più si avvicinano a un calcolo identica fatto in NumPy numerici errori anche don t spiegare perché lo stesso grafico di flusso produce risultati validi per un ricevitore simulato con il segnale e sorgente di rumore blocks. So lontano I m di idee che cosa potrebbe causare this. Posted da Toma Categorie Analog. Add un nuovo comment. Moving media Block. Ciao Pedro, il blocco fa quello che ci si aspetterebbe da media mobile a essere x l'ingresso, y i campioni di uscita, N la lunghezza della media mobile., cioè il vostro secondo option. This è una domanda molto valida io d piace ancora sottolineare che GNU Radio realmente si presta alla sperimentazione un semplice grafico flusso tre blocchi avrebbe risolto questo mistero per quanto riguarda yourself. Best, Marcus. On 07 01 2016 19 23, Pedro Gabriel Adami wrote. The la documentazione della Moving Average blocco mi ha fatto sentire confondere sulla sua funzionalità si dice che l'uscita è la somma movimento degli ultimi campioni N Se ho bisogno di una somma di 100 campioni, questo blocco sarà sommare i 100 campioni di cui ho bisogno e dopo che otterrà un altro diversi campioni, ad esempio 1 2 3 100 e 101 102 200 o lo farà 1 2 100 e 2 101 3 e 3 4 102.I so che sembra un po 'confuso, ma io didn t trovare un modo migliore per spiegare questo, sorry. Thanks in advance. Whoops, appena notato I didn t rispondere a tutti quando ho risposto così il mio messaggio e la risposta di Pedro s non sono state trasmesse alla mailing list. Le jeu 7 janv 2016 20 28, Pedro Gabriel Adami e-mail nascosto un crit. Thank tanto che sto facendo alcuni test e io ho capito che i risultati sono un po 'strano Ecco perché asked. Let che ti chieda una cosa sai qualche blocco che è in grado di trattenere N campioni, in modo che io posso usare e dopo che, mantiene il successivo N campioni come una variabile dove posso salvare le informazioni per un breve periodo di tempo, ma la mia gnuradio non dispone di un sink. Thanks variabile in advance. Em 07 01 2016 17 18, e-mail Timothe COCAULT nascosto escreveu. When non si ri sicuro, la soluzione migliore è spesso di guardare il code. If si guarda alla funzione di lavoro in si vede che il primo blocco riassume la storia della lunghezza di 100 in Case. For ogni articoli ingresso aggiuntivi, si aggiunge la nuova voce e sottrae il n -100 voce, ed emette la corrente sum. So esso deve prima calcolare 1 100, poi 2 101 e così on. In Oltre alla mia risposta precedente, I m allegando un'immagine che mostra la formula I m cercando di costruire in blocchi gnuradio usando ma invece di n 0 e n-1, ho bisogno di n 1 e 100 100 campioni la seconda foto mostra come ho cercato di fare in gnuradio, ma il blocco media mobile non ottiene 100 campioni il modo in cui ho bisogno, come abbiamo potuto vedere nel precedente answers. Timothe mi ha detto di usare flusso di vettore, ma se li metto in valigia, ogni 100 campioni diventerà uno informazioni sola, giusto quello che ho bisogno è più simile a un controller che mi dà 100 campioni in un time. Please, apprezzo se mi si potrebbe dare qualche tips. Thanks in advance.2016-01-08 14 47 GMT-02 00 Timothe COCAULT email. Whoops nascoste, appena notato io didn t rispondere a tutti quando ho risposto così il mio messaggio e la risposta di Pedro s non sono state trasmesse alla mailing list. Le jeu 7 janv 2016 20 28, Pedro Gabriel Adami e-mail nascosto un crit. Thank tanto che sto facendo alcuni test e io ho capito che i risultati sono un po 'strano è per questo che mi chiedono asked. Let una cosa più sai qualche blocco che è in grado di trattenere N campioni, in modo che io possa usare e dopo che, mantiene i prossimi N campioni come una variabile dove posso salvare le informazioni per un breve periodo di tempo, ma la mia gnuradio non ha un sink. Thanks variabile in advance. Em 07 01 2016 17 18, e-mail Timothe COCAULT nascosto escreveu. When non si ri sicuro, la soluzione migliore è spesso di guardare il code. If si guarda alla funzione di lavoro in si vede che il blocco prime somme della storia della lunghezza di 100 in Case. For ogni articoli ingresso aggiuntivi, si aggiunge la nuova voce e sottrae l'elemento n-100, ed emette la corrente sum. So esso deve prima calcolare 1 100, poi 2 101 e così on. is altro che la media mobile sopra la grandezza quadrato Purtroppo, la formula doesn t specificare che cosa significa T è una T usato in un'unica soluzione su N campioni quadrati grandezze, o è qualcosa in esecuzione cioè si ottiene come molti Ts come si considera samples. I dare per scontato che realmente alla ricerca di una media mobile, in questo caso il grafico flusso è corretto Timothe mi ha detto di usare flusso di vettore, ma se li metto in valigia, ogni 100 campioni diventeranno una sola informazione, diritto che cosa ho bisogno è più simile a un controller che mi dà 100 campioni alla volta Davvero, non sono sicuro dove la formula è stato collegato provenienza, o quello che vuoi dire, o se quello che vuoi dire è quello che serve Forse si può solo annotare , esplicitamente, quello che ogni campione di uscita dovrebbe essere che è il motivo per cui ho scritto un po 'per quanto riguarda than. Best, Marcus. On 12 01 2016 17 27, Pedro Gabriel Adami wrote. In Oltre alla mia risposta precedente, I m allegando un'immagine che mostra la formula io sto cercando di costruire in gnuradio utilizzando blocchi ma invece di n 0 e n-1, ho bisogno di n 1 e 100 100 campioni la seconda foto mostra come ho cercato di fare in gnuradio, ma il blocco di media mobile non ottiene 100 campioni dei modo in cui ho bisogno, come abbiamo potuto vedere nel answers. Timothe precedente mi ha detto di usare flusso di vettore, ma se li metto in valigia, ogni 100 campioni diventerà uno informazioni sola, giusto quello che ho bisogno è più simile a un controller che mi dà 100 campioni a time. Please, apprezzo se mi potesse dare qualche tips. Thanks in advance.2016-01-08 14 47 GMT-02 00 Timothe COCAULT email. Whoops nascoste, appena notato I didn t rispondere a tutti quando ho risposto così il mio messaggio e la risposta di Pedro s non sono state trasmesse alla mailing list. Le jeu 7 janv 2016 20 28, Pedro Gabriel Adami e-mail nascosto un crit. Thank tanto sto facendo alcuni test e io ve resi conto che i risultati sono un po 'strano Ecco perché asked. Let che ti chieda una cosa sai qualche blocco che è in grado di trattenere N campioni, in modo che io possa usare e poi, mantiene i prossimi N campioni come una variabile dove posso salvare le informazioni per un breve periodo di tempo, ma la mia gnuradio non ha un sink. Thanks variabile in advance. Em 07 01 2016 17 18, e-mail Timothe COCAULT nascosto escreveu. When non si ri sicuro, la soluzione migliore è spesso di guardare il codice. Se si guarda alla funzione di lavoro in che si vede che il blocco prime somme della storia della lunghezza di 100 in Case. For ogni articoli ingresso aggiuntivi, si aggiunge la nuova voce e sottrae l'elemento n-100, ed emette la somma corrente. così sarà dapprima calcolato 1 100, 2 101 e così via.

No comments:

Post a Comment