Vraag:
Hoe kan ik directe digitale synthese doen van een 630m WSPR-signaal?
Eric Urban
2017-11-25 00:44:55 UTC
view on stackexchange narkive permalink

Ik wil directe digitale synthese doen van een 630m band WSPR-signaal.

In het bijzonder zou ik een Atmega 328-chip willen gebruiken die op 20 MHz werkt om een ​​dergelijk signaal te produceren.

Ik zal een standaard faseaccumulator-algoritme gebruiken waarvan ik denk dat ik het in minder dan 12 cycli kan laten draaien. Dit geeft een frequentie van 1,66 MHz.

Voor een doelfrequentie van 472 kHz bij gebruik, is dit 3,53 keer de werkfrequentie.

Ik ben niet bezorgd over de energie-efficiëntie in dit ontwerp, elke antenne die ik op 630m kan gebruiken, heeft een stralingsrendement van minder dan 1%. Zolang de zender ongeveer 10 watt vermogen kan leveren, komt het wel goed.

Ik gebruik een 24-bits faseaccumulator die is afgekapt om toegang te krijgen tot een wavetable met een lengte van 128. Dit komt overeen met 7 bits, lees verder om dit uit te zoeken. Een faseaccumulator van 24 bits geeft me een frequentieresolutie van 1,6 MHz / 2 ^ 24 = 0,0993 Hz of bijna 15 keer de vereiste 1,4648 Hz-precisie voor WSPR.

genereer het signaal dat ik een DAC nodig heb. Ik kies ervoor om een ​​R2R-ladder te gebruiken die is gemaakt van nauwkeurige 220 ohm-weerstanden. Met deze weerstanden ga ik een 5-bit DAC in elkaar zetten. Bij een bedrijfsspanning van 5 volt krijg ik een piekuitgangsspanning van 5,0 * 31/32 = 4,84 . Ik probeer geen spraaksignaal te synthetiseren, dus "slechts" 32 stappen van uitvoer zouden acceptabel moeten zijn.

Normaal gesproken gebruiken mensen een DDS om een ​​sinusgolfsignaal met een piek van +5 VDC uit een microcontroller en een minimum van 0 volt te genereren. In mijn geval ga ik alleen een sinusgolf genereren in het gebied tussen 0 en pi. Met andere woorden, alleen de positieve helft. De wavetable beslaat 0 tot 2 pi. In de wavetable van mijn DDS zal ik twee andere bits opnemen. Elke bit wordt gedurende de helft van de wavetable hoog gedreven. Dus mijn DDS zal in feite 3 signalen genereren

  • Een sinusgolf die alleen tussen 0 en pi gaat, eigenlijk alleen het positieve deel.
  • Een blokgolf met dezelfde periode als de sinusgolf
  • Een blokgolf die 180 graden uit fase is ten opzichte van de andere blokgolf.

Dit lijkt misschien nogal gek, maar met de blokgolven kan ik selecteren waar de uitvoer van mijn DAC naartoe wordt gestuurd. Het doel hier is om een ​​pull-push-opstelling met twee transistoren aan te sturen op een in het midden getikte transformator. De output van de DAC is verbonden met twee standaard PNP (2N3906) transistors. Als een van de blokgolven hoog is, is de andere laag. Degene die laag is, schakelt de bijbehorende PNP-transistor in. Elke PNP-transistor bestuurt het stuurcircuit voor de vermogenstransistor die de helft van de transformator laat draaien.

Hierdoor kan ik een enkele DAC gebruiken om twee vermogenstransistors aan te sturen. Ik was een beetje sceptisch of dit zou werken, maar het idee lijkt redelijk.

De opstelling van de vermogenstransistor is een BC337-40 en een MJE13007 in een Darlington-opstelling. De MJE13007 is een gangbare vermogenstransistor van goedkope ATX-voedingen. 472 kHz is zeker aan de bovenkant van wat mogelijk is met deze transistor. De winst is vrij laag, zoiets als 10 in een praktisch circuit. De BC337-40 was de goedkoopste kleine signaaltransistor die ik kon vinden met een grote versterking en een grote stroomcapaciteit. Deze transistor kan gemakkelijk ~ 400 mA in de MJE13007 sturen.

De MJE13007 wordt voorgespannen met behulp van een resistieve spanningsdeler aangedreven door 5 volt in een weerstand van 100 ohm (bovenste helft) en een weerstand van 12 ohm (onderste helft). Dit geeft een spanning van 5,0 * 12,0 / (12,0 + 100,0) = 0,535 V voorspanning op de transistors. Hieronder heb ik meer vragen hierover. Het lijkt te werken, maar zou extreem gevoelig zijn voor de toleranties van de weerstand.

Ik ga een slordige willekeurige ijzerpoeder-ringkern gebruiken als uitgangstransformator. De streefwaarden die ik heb vastgesteld, zijn 1400 nH voor het centraal aangetikte primaire en 16 microhenries voor de output. De output zal natuurlijk een impedantie van 50 ohm hebben, zodat een standaard banddoorlaatfilter voor 630m kan worden gemonteerd. Ik bouw dat eigenlijk niet als onderdeel van dit project. Als de ijzerpoeder-ringkern een probleem of een bottleneck wordt, kan ik altijd een fatsoenlijk stuk materiaal kopen.

De eigenlijke software die op de microcontroller draait, zal naar mijn verwachting geen probleem vormen. Ik heb het werk van een aantal andere mensen bekeken en de concepten zijn eenvoudig genoeg.

Het is duidelijk dat ik niet een hele Atmega328 in een SPICE-simulatie laat vallen, dus in LTSpice heb ik een aantal onafhankelijke spanningsbronnen gebruikt om te recreëren wat ik verwacht van mijn DAC. De definitie van de MJE13007 komt rechtstreeks van de website van on-semi.

enter image description here

  • V1 en V5 vormen de verwachte 0 tot pi sinusgolf output van mijn DAC. Het negatieve gedeelte is niet relevant
  • V3 en V6 vormen de twee blokgolven van mijn DAC
  • Q3 en Q6 zijn de "inschakelen" PNP-transistors voor de Darlington-circuits
  • Q1, Q2, Q4 en Q5 zijn de twee darlingtons-arrangementen
  • R2 en R8 zijn stroombegrenzende weerstanden voor de basis.
  • L1, L2, L3 is de ringkern
  • R1 is mijn belasting, gemodelleerd als een weerstand van 50 ohm. In het echte leven zal dit een antenne zijn.
  • R3, R4, R6, & R7 voorspanning op de MJE13007-transistors. V4 levert hiervoor de spanningsbron. Momenteel 5 volt.
  • V2 is de stroombron voor de transformator. Momenteel 5 volt.
  • R5 en R9 beperken de stroom naar de "vrijgavetransistors".

In het echt zou L2 een gebalanceerde uitgang zijn, deze wordt niet bij de zender weer met aarde verbonden. Ik moest er gewoon een grond op gooien zodat LTSpice zou werken.

enter image description here

Dit is de uitgangsstroom in de belasting. Het lijkt eigenlijk heel redelijk. De stroom in R1 gaat van +200 mA naar -300 mA . Ik ben een beetje in de war waarom het niet zo symmetrisch wordt weergegeven. Maar aangezien dit verondersteld wordt een gebalanceerde output te zijn, denk ik niet dat het er toe doet.

enter image description here

Dit is een FFT van de stroom in R1 . Er zijn duidelijke pieken bij de eerste en tweede harmonische die een banddoorlaatfilter moet verwijderen. De derde harmonische is gedaald op -55 dB , dus ik maak me niet zoveel zorgen, want dit is precies in het midden van 160 meter. Als er rekening wordt gehouden met een slechte antenne-efficiëntie, zou dit alleen andere ham-operators storen die op mijn oprit waren.

Ik ben in de war omdat ik verwachtte dat de piek die ik voorspelde op 472 kHz zou zijn in plaats daarvan op 450 kHz. Eerst dacht ik dat ik een soort vervorming had. Maar ik heb een FFT uitgevoerd op de spanning van V1 (de sinusgolf). In plaats van een 236 kHz-piek zie ik een 250 kHz-piek in de FFT. Gezien het feit dat een spanningsbron in LTSpice een zuivere sinusgolf is, begrijp ik dit niet. Is het probleem met mijn circuit of is de FFT in LTSpice gewoon een buggy?

Er is nog meer werk aan de winkel om dit echt te maken, zoals het ontwerpen van een printplaat. Ik probeer op dit moment ervoor te zorgen dat ik geen grote fouten heb gemaakt in dit circuit of gewoon dingen ingewikkelder heb gemaakt dan nodig. Ik heb nog nooit een zender gebouwd en ik werk voornamelijk vanuit de onderdelen die voor mij beschikbaar zijn.

Vragen

  • Moet ik V4 vervangen met een LM317? Op deze manier kon ik de voorspanning op Q2 en Q4 met enige precisie afstemmen. Of moet ik in plaats daarvan Q1 en Q5 proberen voor te stellen?
  • R2 en R8 moeten volgens mij worden opgebouwd uit een weerstand van 1000 ohm in serie met een pot van 10K. Anders zouden de variaties in de BC337-40 de output scheef maken denk ik. Hoe bepaal ik of een potentiometer een middenfrequentiesignaal kan doorgeven?
  • Mijn DAC moet een opamp aansturen om het signaal te creëren dat wordt gebruikt om Q1 of Q5 te moduleren. Welke op-amp is geschikt voor gebruik bij 472 kHz? Rail-to-rail-ontwerp heeft de voorkeur.
Dit is erg lang. U zou niet echt een DAC nodig hebben, aangezien WSPR een constante-modulusmodulatie is. Een harmonisch filter op een blokgolf is voldoende. En ik durf te wedden dat je versterkertopologie ook een veel eenvoudiger klasse-C-arrangement kan zijn.
hoewel dit over een amateurradiosignaal (WSPR) gaat, lijkt het mij dat deze vraag beter is om te migreren naar https://electronics.stackexchange.com/ omdat het gaat om het ontwerpen van een circuit voor signaalverwerking.
HF-elektronica en signaalverwerking voor amateurradio-doeleinden zijn hier on-topic. Als de vragensteller zijn vraag gemigreerd wil zien, kan dat gebeuren, maar "beter ergens anders passen" is geen reden om een ​​vraag weg te _push_.
Gedachten, geen antwoorden op uw vragen. De FFT is moeilijk te lezen en ik vertrouw de eerste scherpe piek niet. Het lijkt erop dat de FFT een beperkte resolutie heeft in de frequentieruimte en dat de werkelijke piek een beetje hoger is in frequentie. Ten tweede maakt u zich geen zorgen over de derde harmonische vanwege de antenne-efficiëntie. De antenne zal waarschijnlijk een betere straler zijn van de derde harmonische dan de grondtoon. Het klinkt alsof je twee bijpassende netwerken nodig hebt - naar het 50 ohm-filter en vervolgens naar de antenne. Misschien kunt u er een gebruiken en het filter naar wens aanpassen met een spectrumanalysator om af te stemmen?
Als ik weer naar het circuit kijk, zie ik dat de polariteitsmarkering op de output-toriod is omgekeerd voor een van de output-transistors. Om een ​​uitgang te vormen die symmetrisch is, moet een "punt" zich bovenaan en de andere onderaan bevinden - de twee zijden moeten tegengestelde polariteit hebben. Dit kan van invloed zijn geweest op de symmetrische gesimuleerde uitvoer waar u naar vroeg.
Akkoord, ik zal de simulatie bijwerken en opnieuw uitvoeren
Een antwoord:
Brian K1LI
2019-06-15 02:53:29 UTC
view on stackexchange narkive permalink

Ik heb je circuit ingevoerd in LTSpice en enkele testruns uitgevoerd om het volgende te verifiëren:

Om een ​​redelijk nauwkeurige Fourier-analyse te krijgen, moet je ten minste 20 cycli simuleren. Ik geef de voorkeur aan 50. En je moet een SPICE-instructie toevoegen die plotwinsize = 0 instelt om datacompressie te elimineren die de Fourier-analyse in gevaar brengt.

De "polariteit" van V6 moet PULSE zijn (0 5 ...) in plaats van PULSE (5 0 ...) om overeen te komen met de 180 graden faseverschuiving van V5 van V1.

Ik vind dat het simuleren van een in het midden afgetakte transformator als twee in serie geschakelde transformatoren betrouwbaardere resultaten oplevert. Het is geen probleem om de 50 $ \ Omega $ belasting over de secundaire transformator te plaatsen in een gebalanceerde configuratie, zoals hieronder getoond.

enter image description here

Dit circuit produceert deze stromen:

enter image description here

En dus is het RMS-uitgangsvermogen een iets meer dan 3W (met k = 1 op de transformator).

Let op de scherpe frequentiespiek bij de 236 kHz draaggolffrequentie:

enter image description here

De enige weerstand die ik me kan voorstellen dat ik problemen heb met deze frequentie, is een draadgewonden. Elk ander type weerstand of pot zou goed moeten werken. Uw keuze van DAC hangt af van of u een seriële of parallelle data-interface wilt, evenals de "gebruikelijke" parameters van bitdiepte, insteltijd, enz. De beste manier om te kiezen is door te zoeken op de website van uw favoriete distributeur.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...