www.mikrocontroller.net

Forum: HF, Funk und Felder einstellbare Trägerfrequenz (30 KHz - 30 MHz) erzeugen


Autor: Softi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Community,

vielleicht kann mir jemand weiterhelfen.
Ich bin auf der suche nach einer Möglichkeit die Trägerfrequenz für AM 
zu erzeugen. Das ganze sollte Softwaremäßig steuerbar bzw. einstellbar 
sein.
Natürlich bin ich da über SDR gestolpert: AD9739:  14-Bit, 2500 MSPS, RF 
Digital-to-Analog Converter  - aber mir kommt das bischen vor wie mit 
Kanonen auf Spazen schießen.
Könnte ich auch einen PLL zur Takterzeugung nehmen und damit einen DDS 
z.B.: AD9858 ansteuern? Wie geht man am besten vor?

Hat jemand eine Idee?? - DANKESCHÖN!!!


-
Gruß
Softi

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Softi wrote:

> Könnte ich auch einen PLL zur Takterzeugung nehmen und damit einen DDS
> z.B.: AD9858 ansteuern? Wie geht man am besten vor?

Warum PLL und DDS?  Eins von beiden (genauer: jedes von beiden)
genügt.

Autor: Softi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Warum PLL und DDS?  Eins von beiden (genauer: jedes von beiden)
>genügt.
Mir ist das ganze noch nebulös, da ich weder mit DDS noch mit PLL jemals 
etwas zu tun hatte. Bei Silabs gibts:
Any-Rate Clock Generators ->
https://www.silabs.com/products/clocksoscillators/...

so wie ich das verstehe erzeugen die 'nur' einen Clock - also ein 
Rechtecksignal - oder? Ich will ja ein Sinussignal.

Bei den Teilen von AD braucht man ja eine ReferenceClock. Wie krieg ich 
die dann zusammen? Ich dachte eben mit einem PLL...
http://designtools.analog.com/dtDDSWeb/dtDDSMain.aspx

Dann hab ich das wohl nicht wirklich verstanden....

Wie geht man dann vor?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Softi wrote:

> Bei den Teilen von AD braucht man ja eine ReferenceClock. Wie krieg ich
> die dann zusammen?

Standard-Quarzoszillator.  In der Normallage (also ohne Benutzung
der sogenannten Alias-Frequenzen) kannst du eine Ausgangsfrequenz
bis ca. 30 % der Taktfrequenz erzeugen.  Die Shannon-/Nyquist-/
<insert your favorite engineer here>-Bedingung würde zwar < 50 %
besagen, aber du brauchst ja nach der DDS einen Tiefpass, der aus
der Treppe wieder einen Sinus macht (oder eben die höheren Aliase
wegfiltert, je nachdem, ob du nun den Zeit- oder Frequenzbereich
betrachtest).  Da du diesen nicht unendlich steil bekommen kannst
und er alle Frequenzen >= 50 % des Taktes sicher unterdrücken muss,
kommt man auf die 30 % (bis maximal 40 % bei sehr steilflankigem
Filter).

Wenn du also einen DDS-IC mit 100 MHz taktest, kannst du relativ
bequem bis zu 30 MHz am Ausgang als Sinussignal erzeugen.  Der DDS
selbst geht dabei praktisch von (nahezu) DC beginnend (genau genommen
sind es wohl 2 mHz als minimale Frequenz bei 100 MHz Takt), in der
Regel haben aber die nachfolgenden Verstärkerstufen eine höhere obere
Grenzfrequenz.

Ein Nachteil eines mit 100 MHz getakteten DDS sei nicht verschwiegen:
da fließen locker 100...200 mA rein bei 5 V.  Das wird also warm.
Der Vorteil ist, dass sie praktisch DC bis zur nutzbaren Grenzfrequenz
lückenlos abdeckt, mit nahezu beliebig feiner Abstufung.

Eine PLL benutzt einen frei laufenden VCO, dessen Ausgangssignal
herunter geteilt wird und mit einem (typischerweise aus einem
Quarzgenerator oder gar TCXO/OCXO abgeleiteten) Referenztakt
verglichen wird.  Damit erreicht man mit einer klassischen PLL
erst einmal beliebige Vielfache (im Rahmen des Verstimmbereichs
des VCOs) der Referenzfrequenz.  Wenn man also als Referenz 10 kHz
benutzt, kann man die Ausgangsfrequenz innerhalb des VCO-Bereichs
in 10-kHz-Schritten verstellen.  Die Schritte werden kleiner, wenn
man die Referenzfrequenz kleiner macht, aber dafür dauert dann das
Einschwingen auf einen neue Frequenz länger und auch das Ausregeln
von Schwankungen.  Daraus ergibt sich ein sogenanntes Phasenrauschen,
also letztlich ein Frequenzspektrum, das nicht mehr nur ideal aus
einer einzelnen Linie besteht.

Mit einem sogenannten fractional-N-divider kann man auch PLLs
bauen, deren Schrittweite kleiner als die Referenzfrequenz ist.

Ich glaube, der Aufbau eines VCOs, der lückenlos von 100 kHz bis
30 MHz arbeitet, wird nicht ganz einfach.  Gängige Kurzwellen-
Transceiver teilen sich den Frequenzbereich auf, und schalten
zwischendurch ein paarmal um, wobei dann jeweils in den Zielbereich
gemischt wird.

Autor: Andrew Taylor (marsufant)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörg Wunsch wrote:
> Ich glaube, der Aufbau eines VCOs, der lückenlos von 100 kHz bis
> 30 MHz arbeitet, wird nicht ganz einfach.  Gängige Kurzwellen-
> Transceiver teilen sich den Frequenzbereich auf, und schalten
> zwischendurch ein paarmal um, wobei dann jeweils in den Zielbereich
> gemischt wird.

Der Aufbau ist (mit einfachem VCO) für 100 kHz bis 30 MHz  wirklich 
nicht sinnig machbar.

Einzige mir bekannte Realisierung läuft  über Frequenz-Mischer: Eine 
variabler Oszillator für z.b. 50 bis 80Mhz, gemischt mit 50MHz 
Festfrequenz, danach Filter. Ergebnis ist 0...30MHz

Das ist einigermaßen für den DIYer handhabbar, wenn's "schnell" an einem 
WE aufgebaut werden soll.

Andrew

Autor: Softi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke euch für die Aufklärung.

Mir würde es auch reichen, wenn ich mehrere Teile habe und jeder macht 
einen bestimmten Bereich.
Eine mögliche Aufteilung währe z.B. die Aufteilung in LW / MW /KW

3 Trägerfrequenzen im LW Bereich erzeugen -> 'Modul 1'
3 Trägerfrequenzen im MW Bereich erzeugen -> 'Modul 2'
3 Trägerfrequenzen im KW Bereich erzeugen -> 'Modul 3'

Diese Frequenzen sollen einstellbar sein - nicht zur Laufzeit. Und jedes 
Modul kann/darf auch mehrere DDS enthalten (falls nötig). Kosten spielen 
erst mal keine Rolle.

Wie funktioniert das dann mit so einem DDS - gibt es da DesignTools wo 
man die gewünschte Frq. einstellt und dann auf den Chip flasht - oder 
wie läuft da die Programmierung?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau Dir mal den AD9851 an. Serielle oder Parallele Ansteuerung, 
interne PLL (30MHz ext. --> 180 MHz int.). Das TSSOP28-Gehäuse (wenn ich 
mich recht erinnere) sollte auch gerade noch lötbar sein.

Gruß
Christian

Autor: Schnuddel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
CY27EE16
Der fällt mir gerade so auf die Scnelle zu dem Thema ein.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Softi wrote:

> Diese Frequenzen sollen einstellbar sein - nicht zur Laufzeit. Und jedes
> Modul kann/darf auch mehrere DDS enthalten (falls nötig). Kosten spielen
> erst mal keine Rolle.

Dann nimm ein DDS.  Ich habe kürzlich endlich mal ein Uralt-Projekt
mit einem AD9850 so einigermaßen funktionsfähig gebaut, da musste
man extern noch die Basisfrequenz 1:1 takten.  Allein der 100-MHz-
XO wird schon warm...  Bei den Nachfolgern gibt's interne Taktver-
vielfacher, da ist das einfacher.  Wenn du mit dem Takt etwas höher
gehst, gestaltet sich das Filter einfacher, weil du dann weiter
unterhalb der Shannon-/Nyquist-Grenze bleibst, bzw. du hast eine
geringere Welligkeit im Durchlassbereich.  Ich merke bei mir oberhalb
20 MHz dann schon einen leichten Amplitudenabfall.

> Wie funktioniert das dann mit so einem DDS - gibt es da DesignTools wo
> man die gewünschte Frq. einstellt und dann auf den Chip flasht - oder
> wie läuft da die Programmierung?

Du brauchst einen kleinen Controller dafür, der das Teil ansteuert.
Gesteuert wird mit einem 32-bit-Wort für die Frequenz (und zuweilen
noch zusätzlichen Bits für die Phasenlage, damit könnte man eine
Digitalmodulation machen).  Solange du nicht mit 1 MHz modulieren
willst :), kannst du die einfache serielle Einspeisung der
Steuerinformation benutzen, das lässt sich direkt mittels SPI
vornehmen.

Mach dir nicht zu viel Stress beim Errechnen des Steuerwortes.
Nimm die Formel aus dem Datenblatt, und im einfachsten Falle
implementierst du die mittels 64-bit-Integer-Rechnung im Controller.
Was stört dich das, wenn der Controller für eine neue Frequenz-
einstellung einen Moment rechnen muss. ;-)  Vorteilhaft bei mir
an dieser Methode war, dass man die tatsächliche Frequenz des
XO (bei mir 99,9992 MHz statt 100 MHz) dann gleich als Konstante
ins Programm einbauen kann.

Die Ausgangsamplitude wird übrigens mittels eines Stroms gesteurt,
den man normalerweise mit einem Widerstand einstellt.  Wenn du
diesen Strom variabel über einen Transistor steuerst, kannst du
gleich dort deine AM mit erzeugen.

Autor: Softi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Jörg für die Tips.
Dann werd ich mir mal so ein Dev. Board von AD holen. Die Ansteuerung 
über SPI sollte kein Problem sein.

Autor: Softi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habs jetzt geschafft mit dem DDS ein schönes Signal zu erzeugen.
An der AM bin ich noch dran - da gibts einen fertigen Baustein dafür.

Jetzt würde ich noch gerne FM machen - aber wie stelle ich das an?
Kennt jemand dazu einen FM Modulator Baustein. (Ja - google habe ich 
bereits verwendet)
Also Trägerfrq. rein + NF-Signal rein und FM Moduliertes Signal raus?
Oder kann ich einfach zwei von den DDS nehmen und die trickreich 
verschalten - geht das?

Danke für euere Hilfe.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn dein Controller schnell genug ist, musst du doch nur das
Frequenz-Steuerwort kontinuierlich entsprechend dem ADC-Wert am
Eingang des Controllers ändern.  Den Teil habe ich bei mir noch
nicht implementiert, stelle mir eigentlich aber vor, dass das
machbar sein müsste, zumindest für Sprachqualität (10-bit-ADC
mit 10 kHz gesampelt).

Autor: Softi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg,

die Frequenz soll diesmal höher sein: 162 MHz als Träger.
Als NF soll ein 1Khz Ton dienen.
Ich bin mir nicht sicher ob das der uC schafft. Am besten währe eine 
Modulare Lösung, bei der ich eben einen DDS habe der den Träger erzeugt 
und einen der das NF Signal erzeugt - beide über den PC ansteuerbar.
Soweit (noch) kein Problem. Dann kommt je nach Anwendung die Modulation.
AM: mit fertigem Baustein
FM: ??

Kann man die FM nicht 'klassisch' lösen?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Softi schrieb:

> die Frequenz soll diesmal höher sein: 162 MHz als Träger.

Als feste Frequenz?  Dann müsstest du auch einen Alias auskoppeln
können, also statt des Tiefpasses ein Bandfilter für 162 MHz nehmen.
Wenn du 100 MHz Takt hast, kannst du dann die DDS auf 62 MHz
einstellen und den dritten Alias nehmen (100 + 62).  Wenn du 180 MHz
Takt hast, könntest du die Frequenz auf 18 MHz einstellen und den
zweiten Alias (180 - 18) benutzen, allerdings ,,geht die Frequenz
dann rückwärts'', wenn du das Steuerwort modulierst.

Habe ich aber auch noch nicht gemacht.

> Als NF soll ein 1Khz Ton dienen.

Fest generiert, oder von außen eingespiesen?

> Ich bin mir nicht sicher ob das der uC schafft.

1 kHz sollte er schaffen.

> Soweit (noch) kein Problem. Dann kommt je nach Anwendung die Modulation.
> AM: mit fertigem Baustein
> FM: ??

Kenn ich jetzt auf Anhieb auch nichts, vielleicht ja jemand anders
hier.  Klassische Amateurfunkgeräte haben nach der PLL einen
Phasenmodulator gehabt, der mit einer Kapazitätsdiode arbeitet.
Weiß aber nicht, wie viel Hub man damit erreichen kann, dort wurde
in der Regel dann die Frequenz noch vervielfacht danach.

> Kann man die FM nicht 'klassisch' lösen?

,,Klassisch'' bei FM ist, dass man einen Teil des LC-Kreises im VFO
moduliert.

Autor: Softi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Als feste Frequenz?
Es geht um den Weatherband bereich von 162,400 MHz ... 162,550 MHz in 
25KHz schritten.

... na mal sehen vielleicht hat noch jemand eine Idee...

Danke erst mal.

Autor: Josef Huber (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich moduliere auf Kurzwelle in AM einem AD9854 über 
Amplitudenregister(muss aber kein 54 sein), bei UKW in FM über die 
Frequenzregist. SSB geht so einfach nicht. Gesteuert wird der AD9854 
parallel mit dem A/D-Wandler meines Prozessors TMP86FM48. Abtastrate ist 
da ca. 50.000 Werte/Sekunde. Das reicht für Musik in brauchbarer 
Quallität. AD9854 mit I/Q-Ausgang habe ich nur wegen I/Q-Phasen beim 
Empfänger und senden bei SSB bzw. Digital. (nur als Spaß!!) Wenn ich den 
Abstimmknopf ganz weit runter drehe, glaube ich an der Antenne die NF 
meiner Aussendung zu hören.

Autor: Softi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Josef,

danke für den Tip, werds wohl auch mal so probieren...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.