Domanda:
In che modo rpitx genera dati SSB arbitrari con una periferica clock?
natevw - AF7TB
2016-10-26 03:15:18 UTC
view on stackexchange narkive permalink

Anche se non è stato il primo a farlo, il software rpitx sembra essere l'implementazione più attiva e matura di quello che i suoi commenti chiamano "un frammento di codice di PE1NNZ". Il trucco è spiegato nell'originale Direct SSB Generation di Guido modulando in frequenza un articolo PLL, ma non capisco bene come funzioni anche l'originale:

L'oscillatore PLL può essere modulato in fase mediante brevi manipolazioni della frequenza configurata. Aumentando temporaneamente la frequenza e quindi ripristinando la sua frequenza originale, la fase verrà spostata verso l'alto, mentre diminuendo temporaneamente la frequenza si ridurrà la fase del segnale. In questo modo l'informazione di fase per la generazione di un segnale SSB può essere applicata al PLL RaspberryPi tramite modulazione di frequenza.

Questo ha quasi senso, ma poi mi perde un po 'più tardi:

Dopo alcuni esperimenti, le informazioni sull'ampiezza possono essere completamente rifiutate [... parla della generazione di una portante non soppressa ...]

Ora suppongo che se hai completato (e drastico) controllo sulla fase di un'onda sinusoidale, è possibile riprodurre qualsiasi altro segnale continuo semplicemente "camminando" avanti e indietro lungo mezzo ciclo di un'onda sinusoidale - fondamentalmente solo ruotando a qualsiasi valore tra -1 e +1 il momento. È questo essenzialmente ciò che riduce anche il trucco di PE1NNZ, o è un modo povero di pensarci?

Ora, anche se sono sulla strada giusta sopra, l'implementazione di rpitx ( codice sorgente) apparentemente ha un ulteriore ostacolo da superare:

Piuttosto che controllare la fase di un'onda sinusoidale, la mia comprensione è che con il Raspberry Pi "hack" la periferica dell'oscillatore utilizzata doveva essere una sorgente dell'orologio. Non sarebbe allora un generatore di onde quadre, ovvero generare (almeno nella sua forma idealizzata) solo i valori di picco -1 e +1 e niente in mezzo?

Certamente posso vedere come i valori discreti potrebbero ancora generare una forma d'onda arbitraria dopo il filtraggio, ad esempio la larghezza dell'impulso o la modulazione della densità dell'impulso. Ma questo non sembra essere il modo in cui né PE1NNZ né i contributori di rpitx sembrano pensarci - altrimenti perché non semplicemente bit-bang qualsiasi pin GPIO invece di usare la periferica di clock!

In qualche modo rpitx sta convertendo dati I / Q arbitrari a segnali RF attraverso una vasta gamma di frequenze (da 130 kHz a 750 MHz) - mi piacerebbe capire la teoria alla base! Posso usare lo stesso trucco per trasformare un ricetrasmettitore FM in una radio "All Mode" iniettando un segnale in ingresso opportunamente trasformato?

Se puoi controllare fase e ampiezza, puoi generare qualsiasi forma d'onda. Considera il piano del QI: fase e ampiezza sono uguali in coordinate polari. Sembra però che abbia scoperto che regolare l'ampiezza non era davvero necessario: invece mette semplicemente quell'energia alla frequenza portante. Ciò che resta è più simile a AM con una banda laterale soppressa.
Ho anche trovato una presentazione che include questa tecnica data da uno degli autori, su https://www.youtube.com/watch?v=Jku4i8t_nPc&t=826, ma non risolve la mia curiosità.
Due risposte:
Kevin Reid AG6YO
2016-10-26 03:47:54 UTC
view on stackexchange narkive permalink

Questa è una risposta incompleta e teorica poiché non ho esaminato in particolare rpitx.

Piuttosto che controllare la fase di un'onda sinusoidale, la mia comprensione è che con il Raspberry Pi " hack "la periferica dell'oscillatore utilizzata doveva essere una sorgente di clock. Non sarebbe allora un generatore di onde quadre, ovvero che genera (almeno nella sua forma idealizzata) solo i valori di picco -1 e +1 e niente in mezzo?

Sì, ma un'onda quadra è un'onda sinusoidale più le armoniche, e le armoniche di un'onda quadra di frequenza fondamentale $ f $ sono tutte a frequenze $ 2f $ o superiori, quindi un ricevitore sintonizzato su $ f $ non vedrà la differenza, e se lo è passa-basso opportunamente filtrato, non c'è differenza nel segnale trasmesso.

Se questo suona ancora come un hack, o ti chiedi se la modulazione fa la differenza, considera che è perfettamente possibile fare un Mixer RF che utilizza un'onda quadra e XOR.

perché non eseguire il bit-bang qualsiasi pin GPIO invece di utilizzare la periferica di clock!

Ancora una volta, non ho esaminato le capacità hardware coinvolte, ma molto probabilmente la periferica può oscillare a una velocità molto più alta di quella che il processore Pi può bit-bang l'uscita, consentendo così una frequenza portante più alta ency. Il controllo software deve funzionare solo a (forse un piccolo multiplo) la frequenza di campionamento del segnale modulante, non la frequenza RF.

Brian K1LI
2018-09-06 14:55:39 UTC
view on stackexchange narkive permalink

SSB comprende sia componenti di ampiezza che di fase. Per ogni istante, tracciare i componenti Q (quadratura) e I (in fase) del segnale in banda base sull'asse y e sull'asse x, rispettivamente. L'ampiezza è la lunghezza del vettore dall'origine a questo punto (I, Q). La fase è l'angolo tra questo vettore e l'asse x.

PE1NNZ modula l'ampiezza del driver del clock modificando la sua forza motrice. Sono disponibili solo otto livelli, corrispondenti a soli 3 bit di risoluzione audio.

PE1NNZ è in grado di modulare solo la frequenza del generatore di clock. La frequenza istantanea è la derivata temporale della fase istantanea. PE1NNZ prende la derivata temporale della fase prendendo le differenze dei successivi calcoli di fase e cambiando di conseguenza la frequenza del generatore di clock.

Grazie, penso che questo mi aiuti a capire dopo averlo letto attentamente. Quindi non sarei in grado di applicare la stessa tecnica a un trasmettitore FM, senza 1) una certa quantità di controllo continuo sulla sua potenza di uscita e 2) una deviazione molto maggiore di quella normalmente utilizzata?
La deviazione di un tipico trasmettitore NBFM * potrebbe * essere sufficiente; è necessario un alto grado di controllo sulla fase e sul livello di uscita per ottenere una distorsione accettabilmente bassa. Il documento fondamentale è "Trasmissione a banda laterale singola mediante eliminazione e restauro di buste", Leonard Kahn, * Proc IRE *, 1952. Puoi vedere un approccio aggiornato in "The Polar Explorer", Machesney et al, * QEX * , 2017.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...