BF256A Konfusion

Hi, hier nochmal ein kurzer Statusbericht: Der DCF77-Empfänger läuft jetzt mit dem beschriebenen Aufbau, inzwischen sogar direkt neben dem Oszi.

Auch mein Dell 22" Display hier stört, allerdings nicht ganz so schlimm wie das Oszi.

In Software sample ich das runtergemischte Signal mit 2kHz. Das gleichrichten und demodulieren mache ich nun doch komplett in Software.

Ohne weitere Maßnahmen läufts nur bei ausgeschaltetem Oszi und ausreichendem Abstand zum Dell-Display, dann aber relativ gut.

Zur AGC habe ich vielleicht eine patentwürdige Idee, was meint ihr? Bekanntlich ist mein Mischer einfach nur ein Transistor, der mit

76,933kHz Rechteck angesteuert wird und periodisch das bereits verstärkte Empfangssignal kurzschließt, was zu einer runtergemischten Signalfrequenz von 577Hz führt. Um den Gain der gesamten Schaltung zu regeln, ändere ich einfach das Tastverhältnis dieses Rechtecksignals. Funktioniert sehr gut. Ich benötige also keine zusätzliche Hardware. Ist das eine neue Idee oder wurde das schon vor 40 Jahren erfunden?

Ich habe dann mal nach digitalen IIR-Filtern gegoogelt und mit Hilfe dieser Seite einen engen digitalen Bandpass für 577Hz realisiert:

formatting link
Damit läuft die Uhr auch direkt neben dem Oszi, obwohl die AGC mit dem jetzigen Softwarestand dann nicht mehr funktioniert und das Eingangssignal völlig übersteuert sein müsste.

Leider läufts im Moment nur mit long-Variablen (32Bit), die Rechenzeit pro Sample liegt dadurch bei ca. 200µs, also bei 3200 Clock-Zyklen. Bei Short-Typen (16Bit) gibts wohl irgendwo Überläufe und nichts geht mehr. Muss ich mal genauer untersuchen.

Michael

Reply to
Michael Rübig
Loading thread data ...

Vermutlich schon aelter als 40 Jahre. Macht man aber nicht gern weil dann die IP3 des Mischers schlechter wird. D.h. er wird viel leichter von anderen staerkeren Signalen uebersteuert. In Deinem Fall kann es gutgehen weil Du einen sehr selektiven Vorkreis hast der andere Signale hoffentlich weit genug abschwaecht, bevor sie am Mischer ankommen.

Ein FET der irgendwo (moeglichst weit vorn) das HF Signal durch zunehmendes Kurzschliessen abwuergt waere besser. Koennte man ja auch per PWM ansteuern. Doch das kostet dann wieder einen Timer oder zumindest ein CC Register und da haben die meisten uC zu wenige von.

Kann man ja ein motorgetriebenes Blech vor die Antenne fahren lassen :-)

Kein Scherz, so aehnlich wird hier die Auslastung von Handy Funkstellen im Zaum gehalten. Die kippen einfach motorgesteuert die Antennnen. Good old low-tech but it works.

Oder einen dickeren uC reinsetzen :-)

Wenn er zu winzig ist und keinen HW Multiplier hat kaemen Wave Digital Filters in Frage. Ist aber ziemlich unorthodox.

Gruesse, Joerg

formatting link

"gmail" domain blocked because of excessive spam. Use another domain or send PM.

Reply to
Joerg

Hallo Jörg,

Da denkt man, man hat eine geniale Idee und da hört man, dass die schon

40 Jahre alt ist :-)

Aha, ich dachte, IP3 betrifft nur Verstärker. Mein Mischer wechselt aber nur zwischen Kurzschluss und Durchlass.

Beim IP3 gehts ja darum, dass sich zwei empfangene Signal gegenseitig mischen und dadurch neue Frequenzen entstehen. Aber warum sollte sich das 77,5kHz-Signal mit z.B. einem 80kHz-Signal mischen?

Ich habe mir das auch überlegt. Theoretisch dürfte das nicht funktionieren, denn man betreibt den FET dort im Abschnürbereich und dort ist er nicht ohmsch, sondern eine Stromsenke. Eine Stromsenke kann man aber nicht zum Abschwächen eines Wechselspannungssignals verwenden, da durch sie nur ein Gleichstrom fließen kann (in diesem einfachen Fall). In der Simulation funktionierts auch prompt nicht.

Das wäre nicht das Problem

Nee, sicher nicht.

Auch nicht.

Ich möchte privat keine serienreife Funkuhr bauen. Dazu fehlt mir dann doch die Zeit.

Michael

Reply to
Michael Rübig

Wird wohl ein Allpol sein. Da hat auch die

16 Bit Variante meist einen 32 Bit Akkumulator:
formatting link
( Auszug emb13 ) Und eiert meist in Grenzzyklen rum, d.h. hat durch Quantisierung eine kleine Schwingung die nie zur Ruhe kommt. Eine sinnvolle 8/16 Bit Variante gibts bei IIR kaum. Zudem schafft ein 8 Bit Controller 577Hz auch von der Rechenleistung meist nicht richtig.

Normalerweise werden als Filter für DCF77 Quarze verwendet, die Bandbreite macht ein solcher digitaler Bandpaß nicht. Man würde also eher versuchen auf DC zu mischen, digitales Filter ist dann ein Tiefpaß. Da gehts dann schmalbandig leichter. Letztlich Variante digitaler Bandpaß über I/Q-Mischer.

MfG JRD

Reply to
Rafael Deliano

So low-tech ist das gar nicht, da wird motorisch das Antennendiagramm durch Verschieben der Dipolgruppen oder der Reflektoren verstellt, um die Elevation zu ändern. Damit entgegnet man dem Atmen der Zelle, was eine etwas doofe Eigenart von CDMA ist.

So eine moderne Antenne mal zu zerlegen erzeugt viele "aha" und "ooh". Ging zumindest mir so...

-ras

--

Ralph A. Schmid

http://www.dk5ras.de/ http://www.db0fue.de/
http://www.bclog.de/
Reply to
Ralph A. Schmid, dk5ras

Am 03.01.2011 09:11, schrieb Rafael Deliano:

Akkumulator?

Ich werde mir mal eine 500-Samples lange Empfangsfolge seriell ausgeben lassen und das Filter mal in Excel aufbbauen. Dort kann man mit GANZZAHL() dann die Integer-Verarbeitung emulieren und sollte auch sehen, was das Problem ist.

In long blieben bei 2kHz Samplefrequenz noch ca. 50% Rechenleistung übrig. Als short war es aber deutlich effizienter, auch wenns nicht funktionierte.

Ich habs zwar runtergemischt und dadurch wirds auch einfacher, aber natürlich hast Du da recht.

Ich kann bei meinem aktuellen Ansatz alternativ noch auf 205Hz oder

170Hz runtermischen (Sind halt Teiler des 16MHz µC-Quarzes). Ich werde das wohl umbauen, da ich dann auch mit geringeren Sample-Raten arbeiten kann.

Michael

Reply to
Michael Rübig

Von Varta ...

Es ist ein extrabreites PseudoRegister im RAM.

Das Filter ist 16 Bit. Aber der interne Bereich im gepunkteten Kästchen ist 32 Bit. Man skaliert nur einmal unmittelbar vor Ausgabe mit /65536 auf 16 Bit zurück.

Die nächste Stufe in emb14 waren volle Biquads. Da habe ich den Akku 40 Bit breit. Die oberen 8 Bit erleichtern Überlauferkennung und Sättigungslogik. Macht auch für Allpol Sinn. Der liegt bei z.B. Goertzel ungedämpft auf Resonanz. Damit besonders schmalbandig aber auch besondere Überlaufneigung:

formatting link
( Draft emb15 )

AVR ist schneller als mein MC68HC908GP32 ( 2,45 ... 8 MHz Busfrequenz, aber ca.4cyc / opcode ) aber günstiger für IIR-Filter ist

16 Bit Controller.

MfG JRD

Reply to
Rafael Deliano

Am 03.01.2011 11:39, schrieb Rafael Deliano:

Schon klar.

Dieser Satz war unverständlich. Ein Allpol hat einen 32Bit-Akkumulator? Wenn, dann der 16Bit-µC

Ich muss das Ding mal genauer untersuchen. Vielleicht ist ne Sättigungsverhinderung bei 16Bit effektiver als das Ding komplett in

32Bit rechnen zu lassen. Überlauf ist halt fatal.

So tief wollte ich eigentlich nicht einsteigen. Da war mir der fertig generierte Sourcecode mit fertig berechneten Koeffizienten aus meinem Link gerade recht. Ist halt nur ein Hobbyprojekt.

Ja, Du hast also maximal 2MHz effektiv zur Verfügung. Da ist der AVR

8mal schneller und schafft ne 16Bit-Berechnung wohl ähnlichschnell wie Dein 16bitter.

Michael

Reply to
Michael Rübig

Schlimmer, oft denkt man sich eine gute und preisguenstige Loesung fuer ein Kundenproblem aus und dann hat das irgendein Typ schon patentiert. Der gleiche Typ der auch rueckwarts ablaufende Klosettrollen und Schneuzen mit zugehaltenenm Nasenloch patentiert hat ;-)

Das tut der aber nicht mit Lichtgeschwindigkeit.

Das nicht, aber die meisten Funksignale sind moduliert, denn sie wollen ja irgendwas mitteilen. Dann haben sie Seitenbaender und da liegt bei AM bis zu 50% der gesendeten Energie drin. Diese koennen sich untereinander mischen und "Kinder bekommen". Selbst das Knetern eines Schaltnetzteils ist meist mit weiterem Muell moduliert, z.B. mit 100Hz weil man beim Elko noch einen halben Cent sparen musste.

Huch? Funktioniert in LTSpice nicht? Dann schicke den File mal rueber, Reply-to Adresse geht. Ein FET ist an sich keine Stromsenke sondern ein ohmscher Widerstand dessen Groesse von der Gate-Source Spannung bestimmt wird. Ganz aussteuer-linear allerdings auch nicht.

Wenn das nicht funktioniert muessten rund 15 Jahre an Produktion eines Ultraschallgeraetes zurueckgerufen werden, weil es an sich nicht haette funktionieren duerfen :-)

Gut. Mir schmeissen die SW-Leute bei Kunden manchmal was hinterher wenn ich einen Timer haben will. "Wie? Darf's etwa noch mit Kaviar sein?" und so.

Ja, WDF sind etwas arbeitsintensiv, es gibt ausser der Software von Prof.Mildenberger m.W. keine gescheite Software um die Koeffizienten zu bestimmen.

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Hi,

Mist! Habs mir gedacht :-)

OK, Seitenbänder sind bei DCF77 kaum ein Thema:-)

Schaue ich zu Hause nochmal nach.

Kommt drauf an, ob man ihn im ohmschen Bereich oder im Abschnür-Bereich verwendet. Das muss ich nochmal prüfen, habe ich vermutlich falsch gemacht.

Dann mach das mal :-)

Michael

Reply to
Michael Rübig

Beim DCF77 weniger, aber bei Schaltnetzteilen von Rechnern, ESL, manchen Tektronix Scope, Backlight Invertern und dergleichen schon. Mit viel Pech landen dann Mischprodukte von denen (untereinander) schmack auf

77.5kHz.

Ich verwende sie auch schonmal im Betrieb voll zwischen "offen" und "voll durchgesteuert". Z.B. im gerade in Arbeit befindlichen IC. Da wird kein dB Regelbereich auf dem Tisch liegengelassen. Wenn es linear werden soll kann man sie im Servo betreiben, wo noch ein weiterer baugleicher FET (moeglichst auf dem gleichen Substrat) in der Gegenkopplung des Opamp liegt der das alles steuert. Dann kann der Rechner sagen "Ich hatte gern 157 Ohm" und man bekommt das auch. Leider sind aber Arrays wie SD5400 Richtung Boutique-Ware marschiert und teuer geworden.

Die ruecken die Docs nicht mehr raus :-)

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Der Code gefällt, leider mögen ihn aktuelle Compiler nicht (und meine Test-Bandsperre kann das Web-Interface nicht).

Ich hab das Programm mal auf aktuelle C++ Standards gehievt und ein Makefile dazu getan:

formatting link

XL

Reply to
Axel Schwenke

Hi Jörg,

  • C:\Program Files\LTC\LTspiceIV\Draft5.asc V1 N001 0 SINE(0 100m 500) M1 N002 N003 0 0 BSS123 R1 N002 N001 1k V2 N003 0 PWL(0 1.58 1 1.63) .model NMOS NMOS .model PMOS PMOS .lib C:\Program Files\LTC\LTspiceIV\lib\cmp\standard.mos .tran 1 .backanno .end

Funktioniert doch, ich hatte ursprünglich mit DC-Offset simuliert, das geht gar nicht. Bei 100mV Amplitude geht obiges aber auch nicht mehr. Ich bezweifle jedoch, dass das mit der Realität übereinstimmt.

Die Steilheit des FETs ist aber ein nicht zu unterschätzendes Problem. Mit ner 8-Bit PWM-Ansteuerung krieg ich das nicht mehr gebacken. Ich könnte zwar passend runterteilen und den Offset anheben, aber dann reicht ne kleine Temperaturdrift und nichts geht mehr.

Michael

Reply to
Michael Rübig

Interessante Seite. Sowas sollte mit einer MAC richtig schnell laufen. Bei den Renesas arbeitet die MAC mit zwei Zeigern auf zwei Listen von Produkttermen. Wenn man die Liste mit den festen Koeffizienten, zweimal hinschreibt und die Liste der Samples als Ringpuffer verwendet, dann muss man bei jeder Berechnung nur noch die Zeiger umsetzen und die MAC aufrufen.

Dirk

Reply to
Dirk Ruth

Wenn Du mir ne EXE für Windows liefern könntest, wäre das echt cool.

Michael

Reply to
Michael Rübig
*=?ISO-8859-15?Q?Michael_R=FCbig?=* wrote on Mon, 11-01-03 08:55:

Sei froh schon ölter als zwanzig zu sein. Sonst hätte Deine tiefsitzende feste Überzeugung, alle Generationen vor Deiner seinen einfach nur doof gewesen, jetzt einen schmerzhaften Knacks bekommen.

Axel (Vater)

Reply to
Axel Berger

Wer hat denn bitte kein Cygwin auf dem Rechner?

SCNR Henning

Reply to
Henning Paul

Am 04.01.2011 10:06, schrieb Michael Rübig:

Meld!

Nutzloses Zeugs:

formatting link
Wenn ein C/C++/Fortran/Ada-Compiler, make, perl, eine mächtige Shell, sed, awk, find, grep, netcat und vi sinnvoll wären, wären die doch in Windows integriert, oder? ;-)

Mit Cygwin für Linux habe ich schon Binaries für Windows gebaut. Die Anwender entsprachen leider allen Vorurteilen.

Falk

Reply to
Falk Willberg

Ich hab' mal den MinGW-Crosscompiler auf Linux ausprobiert, funktionierte auf Anhieb. :-)

Leider ist der seit dem vorvorvorletzten Distributionsupgrade nicht mehr installiert, sonst hätte ich den mal eben schnell angeworfen.

Gruß Henning

Reply to
Henning Paul

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.