Wie kann ich (z.B. mit einem uC) die halbe Frequenz eines sinusförmigen Eingangssignals erzeugen? Die doppelte Frequenz erhält man bekanntlich durch Mischen mit sich selbst, aber wie geht das beim Halbieren? Die Frequenzen liegen im Bereich von 50kHz - 100kHz und können mit einem AD-Wandler bis 10 MHz erfasst werden. Gedacht sind etwa 1 MHz, damit der Controller es noch verarbeiten kann. Gibt es alternativ eine Analogschaltung, die das kann? Ich habe den Bereich abgesucht, aber nichts gefunden. Geht es gfs durch Heruntermischen? Dazu braucht man nach meinem Verständnis eine Frequenz mit Faktor 1,5 - wie kann ich die erzeugen? Bislang hätte ich nur die digitale Variante, nämlich das Signal per Schmitt-Trigger rechteckig zu machen und dann binär zu teilen mit FFs oder so und dann wieder einen Sinus zu machen. Das scheitert aber daran, dass ich die Frequenz nicht genau kenne. Das neu erzeugte Signal soll mit einer AC-Kopplung übertragen werden von daher muss es sinusfärmig und oberwellenfrei sein. Etwas Verzerrung und Phasenverschiebung wäre in Ordnung.
Frank Petelka schrieb: > Die Frequenzen liegen im Bereich von 50kHz - 100kHz und können mit einem > AD-Wandler bis 10 MHz erfasst werden. Gedacht sind etwa 1 MHz, damit der > Controller es noch verarbeiten kann. Wenn du weißt das das Signal Sinusförmig ist kannst du die Frequenz messen und einen Sinus mit halber Frequenz neu erzeugen. In Hardware geht das mit einem f/U Wandler, einem Spanungsteiler und einem U/f Wandler der Sinus macht bzw einem VCO oder mittels DDS
Frank Petelka schrieb: > Die Frequenzen liegen im Bereich von 50kHz - 100kHz > muss es sinusfärmig und oberwellenfrei sein. Falls oberwellenarm reicht: Schmitt-Trigger, Teiler : 2, und hintendran ein steiles Tiefpassfilter mit ca. 100 kHz Grenzfrequenz. Butzo
Wenn du das 50-100kHz Signal mit 1Msps sampelst, kannst du direkt eine Spannung ausgeben (D/A Wandler) die einen Sinus der halben Frequenz zu der Zeit entspricht. Dazu brauchst du eine Tabelle, welche Eingangsspannung welche Ausgangsspannung erzeugt unter einer von 4 Voraussetzungen: Positive Halbwelle ergibt steigenden Flanke über 0V, negative Halbwelle ergibt fallende Flanke über 0V, nächste positive Halbwelle ergibt weiter fallende Flanke unter 0V und nächste negative Halbwelle ergibt steigende Flanke unter 0V. Bei schwankender Eingangsspannung kann man Maxima und Minima der letzten Sinusschwingung als 100% Referenz für die nächste verwenden. Allerdings hast du bei 1Msps nur 1us Zeit, das umzurechnen. Das erfordert einen schnellen uC, besser einen DSP. Da kein wesentlicher Speicher nötig ist, und du scheinbar sowieso A/D und D/A Wandler brauchst, könnte ein ADuC7019 eine angemessene Lösung sein (Auflösung 12 bit).
Frank Petelka schrieb: > Wie kann ich (z.B. mit einem uC) die halbe Frequenz eines > sinusförmigen > Eingangssignals erzeugen? ... > Gibt es alternativ eine Analogschaltung, die das kann? Ich würde vermuten, dass nicht. Analog kann man leicht Oberwellen erzeugen, aber nichts mit niedrigerer Frequenz.
oszi40 schrieb: > X4U schrieb: >> mit halber Frequenz neu erzeugen. > > phasenstabil? Regelzeit=? IMHO beides 1 Halbwelle die dann invertiert werden kann. Aber ich kien Signaltheorieguru
Es gibt doch solche Sprachprozessoren, die die Stimme eine Oktave runter rechnen. Ich bin nicht sicher, wie die funktionieren, aber vlt wäre das ein Ansatz.
Bevor es digitale Frequenzteiler gab, haben "Elektronenorgeln" das auch irgendwie mit synchronisierten Sägezahnoszillatoren hinbekommen. So einen Sprachfrequenz-Shifter hab ich mal von ELV als Bausatz gekauft. Leider wird der Chip nicht mehr hergestellt.
:
Bearbeitet durch User
Max H. schrieb: > Vllt. lässt sich mit einer PLL (z.B. 74HC4046) was machen. Hallo Nicht vielleicht, sondern ganz bestimmt. Eine Frequenz lässt sich digital teilen und das dann mittels einem PLL IC und einem VCO als Sinussignal erzeugen. Eine AM-Modulation müsste neu stattfinden, oder ersatzweise eine Mischung stattfinden. MfG Matthias
Frank Petelka schrieb: > Die doppelte Frequenz erhält man bekanntlich durch > Mischen mit sich selbst, aber wie geht das beim > Halbieren? Genauso, aber "kopfstehend": PLL, Frequenzverdoppler zwischen VCO und Phasencomparator --> VCO liefert genau die halbe Frequenz. Das Problem dieser Lösung besteht in dem VCO, der ja Sinussignal liefern soll. Das geht, ist aber relativ viel Aufwand. Es gibt (mindestens) zwei rein analoge Lösungen für das Problem. Details auf Nachfrage. > Bislang hätte ich nur die digitale Variante, nämlich > das Signal per Schmitt-Trigger rechteckig zu machen > und dann binär zu teilen mit FFs oder so und dann > wieder einen Sinus zu machen. Das scheitert aber daran, > dass ich die Frequenz nicht genau kenne. Wenn der Bereich 50kHz - 100kHz mit Sicherheit eingehalten wird, ist das kein Problem. Butzos Idee geht in die richtige Richtung. Der zentrale Trick besteht darin, dass ein Rechtecksignal mit Tastgrad von genau 0.5 die zweite Harmonische nicht enthält; die niedrigste Harmonische ist die dritte. Der Bereich der Grundwelle, die Du ja haben willst, geht, wenn das Originalsignal zwischen 50kHz und 100kHz liegt, im geteilten Signal von 25kHz bis 50kHz. Die dritte Harmonische (des geteilten, also rechteckförmigen Signals) liegt logischerweise im Bereich 75kHz bis 150kHz. Der Tiefpass muss also alles bis 50kHz durchlassen und ab 75kHz schon kräftig sperren. Das sind zwar sportliche Anforderungen, aber mit Filtern höherer Ordnung machbar. Halte ich für realistisch. > Das neu erzeugte Signal soll mit einer AC-Kopplung > übertragen werden von daher muss es sinusfärmig > und oberwellenfrei sein. Etwas Verzerrung und > Phasenverschiebung wäre in Ordnung. An Phasenverschiebung wird bei Filtern hoher Ordnung kein Mangel sein ;-) Die zulässigen Verzerrungen müsstest Du mal in Zahlen fassen. Aus dem Bauch heraus: 5% Klirrfaktor sollte kein Probblem sein, aber 0.1% Klirrfaktor wäre sehr... "ambitioniert"...
Hallo, wenn sich das Signal nicht allzuschnell verändert: Du sampelst den Original-Sinus mit n facher Frequenz (PLL) und gibst die erfassten Werte mit der halben Frequenz wieder aus. Das hat den Nachteil, dass du damit erst nach 2 Vollwellen des Originals fertig bist, machst du dann so weiter, wird praktisch jede 2 Vollwelle im neuen Signal abgebildet. Der Vorteil ist, das gilt auch für andere Kurvenformen als Sinus. Mit enstprechendem Aufwand kann man noch weitergehen und immer 2 Vollwellen erfassen, den Durchschnitt bilden und das als neue Vollwelle halber Frequenz ausgeben. Besser dürfte das nicht gehen; wenn die aufeinanderfolgenden Vollwellen völlig verschieden sind, gibt es keine Lösung diese Information zu erhalten (kann es nicht geben). Das Ganze ist natürlich weit entfernt von analog. Georg
das wär sowas: http://www.epanorama.net/sff/Test_equipment/Generators/Function%20Generator%20Phase%20Locker.pdf
Das muss ich mir jetzt alles in Ruhe mal durchlesen. Vorab die Info: Das Signal ändert sich eigentlich ständig ein wenig, z.B. bewegt es sich innerhalb einiger 10/tel von 60kHz auf 70kHz und schwingt auch. Sampeln und neu erzeugen wir daher schwierig. Eine PLL wäre wahrscheinlich zu langsam.
mse2 schrieb: >> Gibt es alternativ eine Analogschaltung, die das kann? > Ich würde vermuten, dass nicht. Analog kann man leicht Oberwellen > erzeugen, aber nichts mit niedrigerer Frequenz. Meine Antwort war wenig fundiert, wie ich zugeben muss. (War zu heiß gestern...). Zwei Dinge, die das Gegenteil beweisen, wurde schon genannt: PLL und Synchronisation. Sorry!
Klaus Butzmann schrieb: > Frank Petelka schrieb: > >> Die Frequenzen liegen im Bereich von 50kHz - 100kHz >> muss es sinusfärmig und oberwellenfrei sein. > Falls oberwellenarm reicht: > Schmitt-Trigger, Teiler : 2, und hintendran ein steiles Tiefpassfilter > mit ca. 100 kHz Grenzfrequenz. > Butzo Bzgl. Frequenztreue gibt es doch keine bessere Lösung. Und man braucht noch nicht mal eine MCU. Und die Verzerrungsfreiheit kann man komplett mit dem Tiefpaß so einrichten wie man es braucht. Ungerade Teilerverhältnisse kann man mit einem Zähler erreichen, nur gebrochene Teilerverhältnisse werden etwas schwieriger (Teiler + Zähler).
Ungerade Verhaeltniss macht man mit einem fraktionalen PLL
- Sinus zu Rechteck (div. Möglichkeiten) - aufsteigende Flanke lädt Integrator (Operationsverstärker) - nächste aufsteigende Flanke entlädt Integrator Resultat: Oberwellenarme Dreieckschwingung mit halber Frequenz. Vielleicht schon ausreichend. Wenn nicht: mit ein paar Dioden einen Sinus-Shaper basteln. Achtung: Amplitude sinkt mit zunehmender Frequenz. Könnte aber kompensiert werden.
Christoph Kessler (db1uq) schrieb: > Bevor es digitale Frequenzteiler gab, haben "Elektronenorgeln" das auch > irgendwie mit synchronisierten Sägezahnoszillatoren hinbekommen. Das ging aber deshalb so einfach, weil die Frequenz bekannt war und die Sägezahnoszillatoren einen eindeutigen Knickpunkt- sowie eine definierte Amplitude haben. > So einen Sprachfrequenz-Shifter hab ich mal von ELV als Bausatz gekauft. > Leider wird der Chip nicht mehr hergestellt. Die meisten Audio-Prozessoren, auch die preiswerten mit dem Grossen B. können das. Teilweise geschieht es durch resampling, teilweise durch scattering. Rolands (weitgehend) formantenunabhängige Varipphrasetechnologie kann das noch am Besten. Die scheinen über eine iFFT zu arbeiten. Zur eigentlichen Frage: Grundsätzlich funktioniert die kontinuierliche Teilung der Frequenz durch 2 mit einer Wurzelbildung, aber man muss den Mittelwert der Eingangsfrequenz kennen und zuvor addieren. Ferner muss wie bereits angesprochen das Vorzeichen manuell wiederhergestellt werden. Das geht bei DDS-basierten Sinusoszillatoren, bei denen die Amplitude bekannt ist, sehr gut. Bei einigen Musiksynthesizern wird das so gemacht. Nennt sich "SUB-Oszillator" und reagiert folglich auch auf das Vibrato und Pitching. Bei variablen Eingangsamplituden gibt es immer ein Nullpunktdetektions- und Durchtrittsproblem beim Vorzeichenwechsel, der zu geringen Phasensprüngen führt, die weggefiltert werden müssen. Daher eignet sich sowas eigentlich so richtig gut nur als Effekt, z.B. für E-Gitarren. Hier hatte ich ja mal so etwas gepostet: Beitrag "VHDL-Effektgerät für Gitarre und andere Instrumente" Das hat auch einen Frequenzverdoppler drin. Der hat aber dasselbe Problem: Wenn die Amplitude nicht konstant ist gemacht wird, braucht es eine dynamische Regelung des BIAS und die ist immer unvollkommen, wodurch es Zufallseffekte gibt. Die sind in dem Fall aber erwünscht ;-) Beides, Verdopplung und Halbierung klappt so richtig perfekt nur für die jeweils fokussierte Frequenz. Jede Oberwelle macht ein Nulldurchgangsproblem, was ein wenig durch eine intelligente Nulldurchgangserkennung auf der Basis einer Differentiation kompensiert werden kann. Dann kommt aber das Rauschen des Signals ins Spiel und es muss vorgefiltert werden.
Jürgen Schuhmacher schrieb: > Grundsätzlich funktioniert die kontinuierliche Teilung der Frequenz > durch 2 mit einer Wurzelbildung, aber man muss den Mittelwert der > Eingangsfrequenz kennen und zuvor addieren. Daran scheitert es bei mir. Der Mittelwert ist nicht bekannt und müsste erst erzeugt werden.
OPV übersteuern -> Rechteck mit Orginalfrequenz Positive Flanke über Diode auf RC Glied mit entsprechender Auslegung. Ergibt nicht direkt Sinus ohne Schwingkreis, aber um Frequenz abzutasten ausreichend.
Einseitenbandsender werden gelegentlich nach dem "Verfahren der Hüllkurven-Elimination und -Restoration" gebaut. Das Signal wird in Frequenz- und Amplitudeninformation aufgespalten, getrennt verarbeitet (z.B. die Frequenz vervielfacht) und dann wieder zusammengeführt. So könnte man auch Frequenzen herunterteilen.
Höre ich richtig, Verfielfachen ist für dich kein Problem? Bei Sinus ginge es dann (theoretisch) ganz einfach: 1) Frequenz mit dem Faktor N vervielfachen 2) Nach Rechteckformung damit einen D/A-Wandler takten, der nacheinander den sin(360°/2N) ausgibt. 3) Danach ist noch ein Kompromiss aus Filterung (Phasenverschiebung) und zulässigen Verzerrungen zu suchen.
Possetitjel schrieb: > Es gibt (mindestens) zwei rein analoge > Lösungen für das Problem. Details auf Nachfrage. Ich frage hiermit mal förmlich an, falls Du noch mitliest! Wäre nett, wenn Du das erläutern könntest. Danke.
Paul B. schrieb: > Das Signal ändert sich eigentlich ständig ein wenig, z.B. bewegt es sich > innerhalb einiger 10/tel von 60kHz auf 70kHz und schwingt auch. Sampeln > und neu erzeugen wir daher schwierig. Eine PLL wäre wahrscheinlich zu > langsam. Warum sollte hier ne PLL zu langsam sein?
nur so eine Idee: Ein Rechteck aus dem Signal machen und durch zwei teilen. Zusätzlich mit einer PLL ein vielfaches der Signalfrequenz erzeugen und damit ein Switched Capacitor Filter ansteuern, das aus dem geteilten Eingangssignal wieder einen Sinus macht. Die Grenzfrequenz des Filters passt sich damit automatisch der Eingangsfrequenz an. Ich denke da an MAX296 oder ähnliches. MfG Klaus
Aus dem Bauch heraus vielleicht so: Einen Samplepuffer einrichten, der mindestens eine komplette Welle des Eingangssignals aufnehmen kann, also z.B. bei 50kHz und 1Msps: min. 20 Samples. Ausgabe der halben Frequenz durch Wiedergabe des Signals aus dem Samplepuffer mit der halben Samplerate. Algorithmus beim Samplen: im Nulldurchgang der positiven Signalflanke wird der aktuelle Inhalt des Schreibzeigers gespeichert (X) und der Zeiger auf Pufferanfang zurückgesetzt. Im Puffer befindet sich dann immer eine komplette Periode des Signals. Der Samplepuffer wird mit der halben Samplerate (Anfang bis X) ausgelesen und per DA-Wandler ausgegeben.
Wenn ich das richtig verstanden habe, ergibt sich dann aber kein kontinuierlicher Sinus wenn die Signalperiode des Eingangssignals schwankt. Wenn das Eingangssignal in der Frequenz sinkt, bleibt die Spannung erstmal bei 0 bis die nächste Sync kommt. Wenn das Eingangssignal in der Frequenz steigt...wird eine komplette Halbwelle ausgelassen? Bis zur nächsten Sync im Nulldurchgang? Bin mir dabei nicht sicher. Das Samplen ist eh Overkill, weil man weiss ja dass es ein Sinus ist. Für minimale Verzerrungen ist die f/U U/f Variante vermutlich die Beste. Aber nach über 2 Jahren ist vom T0 wohl auch keine Klärung mehr zu erwarten, was er denn nun getan hat.
Hallo Es gab vor vielen Jahren mal ein Projekt, ich glaube bei Elektor, wo der Lautsprecherausgang des PCs (nicht der von der Soundkarte) mittels PLL einen XR-2206 angesteuert hat. Dadurch wurde ein relativ beliebeiger Rechteck in einen Sinus "gewandelt". Wenn Du jetzt also deinen ursprünglichen Sinus per Komparator zum Rechteck machst, den dann per FF durch zwei teilst, das ganze dann per pll auf den VCO-Eingnga des XR-2206 gibst, müßte sich das realisieren lassen. Das war damals als Meßgerät für Lautsprecherboxen gedacht. Ich muß mal schaun, ob ich da noch Unterlagen dazu finde. Gruß Ulf
Ulf schrieb: > Wenn Du jetzt also deinen ursprünglichen Sinus per Komparator zum > Rechteck machst Brauchst du nicht, der 2206 hat einen Rechteckausgang parallel zum Sinusausgang. Das ist aber die klassische, schon genannte Variante mit einer PLL, einem Teiler und einem Sinus-VCO.
HildeK schrieb: > Ulf schrieb: >> Wenn Du jetzt also deinen ursprünglichen Sinus per Komparator zum >> Rechteck machst > > Brauchst du nicht, der 2206 hat einen Rechteckausgang parallel zum > Sinusausgang. > Das ist aber die klassische, schon genannte Variante mit einer PLL, > einem Teiler und einem Sinus-VCO. Es muß seinen ursprüngliche Sinus zum Rechteck wandeln um den per FF durch 2 zu teilen. Der Rechteckausgang vom 2206 hilft in dem Zusammenhang erst mal nicht. Gruß Ulf
Und das interessiert den TO nach ca. zweieinhalb Jahren noch?
Rolf S. schrieb: > Possetitjel schrieb: > >> Es gibt (mindestens) zwei rein analoge >> Lösungen für das Problem. Details auf Nachfrage. > > Ich frage hiermit mal förmlich an, falls Du noch > mitliest! > > Wäre nett, wenn Du das erläutern könntest. Es ging ja um einen VCO, der Sinus liefern und von 50kHz bis 100kHz abstimmbar sein soll. Mir fallen zwei praktikable Lösungen ein: 1) Ein RC-Generator (Dreieck-Rechteck-Generator) mit Diodennetzwerk zur Sinusformung oder 2) das Prinzip "Schwebungssummer", d.h. ein hochwertiger Sinus-Festfrequenzoszillator (z.B. LC-Oszillator), ein C-Dioden-abgestimmter LC-Oszillator, ein Mischer und ein Filterverstärker. Lösung 2) traue ich nahezu perfekte Signale zu; allerdings ist sie auch sehr aufwendig. Lösung 1) hat den Vorteil, dass sich aus dem Dreieck leicht die verdoppelte Frequenz erzeugen lässt, die in der PLL benötigt wird. Oder wolltest Du noch etwas ganz anderes wissen?
Cyborg schrieb: > Und das interessiert den TO nach ca. zweieinhalb Jahren noch? Nee, aber vielleicht den, der nachgefragt hat: Beitrag "Re: Halbe Frequenz eines Signals erzeugen"
Auch uuuuralte Threads werden später noch tausendfach "gefunden", und nützen unzähligen Bastlern, die nur lesen, und sich nicht über jede Kleinigkeit schriftlich echauffieren.
SGND schrieb: > Auch uuuuralte Threads werden später noch tausendfach "gefunden", und > nützen unzähligen Bastlern, die nur lesen, und sich nicht über jede > Kleinigkeit schriftlich echauffieren. Eben, leider neigen hier nicht wenige dazu, unqualifiziert dazwischen zu tönen. Bringt aber niemanden weiter.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.