Amplitudenmodulation via Arduino?

Hi Leute,

mein Name ist André und ich hab in der Uni folgenden Arbeitsauftrag im Projekt erhalten: Ich muss für ein Experiment ein Wort, welches binärcodiert wird, mithilfe einer Amplitudenmodulation über einen Lautsprecher senden und dann wieder empfangen und dekodieren. Ich habe überhaupt keinen Schimmer, wie ich das realisieren könnte. Erfahrungen in der C-Programmierung hab ich bereits.

Vielen Dank!

Interessante Aufgabe!

Fragen vorab:

  • Du weißt was AM ist und wie sie grundsätzlich funktioniert?
  • Du bist Dir im Klaren, dass "binärcodiert" hier relativ wurscht ist und wir über eine serielle Übertragung gleich welchen Inhalts sprechen?
  • Du möchtest vielleicht doch noch ein wenig mehr Infos zur Aufgabe liefern?
  • Du bist sicher, im richtigen Studiengang zu sein? :smiling_imp:

Als Ergänzung: Du weißt, was Crossposting ist?

Gruß Tommy

Hi Leute,

also ich studiere Elektrotechnik und nicht Informatik. Aber unser Studiengangskoordinator macht halt lieber Informatik.

Ich weiß was die AM bedeutet und auch macht. Es wird einfach auf ein Trägersignal ein Informationssignal aufmodulliert. Aber ich hab wirklich nicht den blassesten Schimmer wie ich das machen soll.

Nochmals zur Aufgabe: Ich soll mithilfe eines Arduinos Wörter (z.B. Hallo) an einen Roboter senden. Mein Arduino befindet sich in einer Garage, und sobald der Roboter rein fährt soll es halt einen Ton geben, der eben das besagte Wort überträgt. Der Arduino wird an einen Lautsprecher angeschlossen. Der Roboter empfängt die Schallwelle des Lautsprechers, dekodiert es und zeigt an einem Display das Wort Hallo an. Unser Dozent meinte, bei der Übertragung kommt es zu Störungen und wir sollen in einem Experiment mithilfe einer Amplitudenmodulation diese Störungen beseitigen. Ich habe damit keinerlei Erfahrung hab im Internet schon eine Schaltung für die AM gefunden, aber das ist nicht so einfach. Geht es auch Softwareseitig?

Somit solltest du dich entscheiden, wo du eine Antwort bekommen möchtest.
Ich vermute aber, das wird mit dem Arduino so nichts werden.
Da gehört weitere Hardware dazu.

Ok dann verweile ich hier :slight_smile: Aber wenn du das so sagst, dass es nichts mit dem Arduino werden wird, dann werde ich wohl leider wirklich eine solche Schaltung aufbauen müssen. Wie bekomme ich denn einen einigermaßen sauberen Sinus hin? Also mit dem Arduino

TecEdu:
Ok dann verweile ich hier :slight_smile: Aber wenn du das so sagst, dass es nichts mit dem Arduino werden wird, dann werde ich wohl leider wirklich eine solche Schaltung aufbauen müssen. Wie bekomme ich denn einen einigermaßen sauberen Sinus hin? Also mit dem Arduino

Da gab es hier mal einen Beitrag, schon etwas länger her.
Wenn du hier im Forum suchst, findest du den sicher.
Oben rechts die Lupe verwenden.

Unter einer einfachen AM mit einem Binärsignal würde ich mir vorstellen, den Träger ein- (1) und auszuschalten (0). Also 100% Modulationsgrad, wie es jede IR Fernbedienung macht.

In der IRremote Bibliothek kannst Du nachschauen, wie das Senden mit einer IR Diode funktioniert. Dann muß nur noch ein Verstärker und Lautsprecher statt der Diode angeschlossen werden, und die Trägerfrequenz so eingestellt werden, daß sie am Mikrofon ordentlich ankommt. Der Empfänger sollte dann ein schmalbandiges Filter für die Trägerfrequenz haben, um Umgebungsgeräusche herauszufiltern.

38kHz könnte dabei noch als Ultraschall durchgehen, ist aber wegen Hunden und anderen Tieren mit ähnlich empfindlichem Gehör eher nicht empfehlenswert, und läßt sich auch nicht so einfach kontrollieren. Als Gag könnte man dann den Empfänger eine IR Diode ansteuern lassen, und einen handelsüblichen IR Empfänger für 38-40kHz zur Dekodierung benutzen. Es wäre interessant, die Meinung des Aufgabenstellers zu dieser Lösung zu erfahren :-]

Das ist genaugenommen nicht Amplitudenmodulation sondern Amplitudenumtastung / Amplitude Shift Keying:

Amplitudenmodulation ist für Analogsignale. Dabei wird ein niederfrequentes Signal mit der Hüllkurve eines hochfrequenten Signals abgebildet

TecEdu:
Wie bekomme ich denn einen einigermaßen sauberen Sinus hin? Also mit dem Arduino

Gar nicht.

Ich weiß was die AM bedeutet und auch macht. Es wird einfach auf ein Trägersignal ein Informationssignal aufmodulliert. Aber ich hab wirklich nicht den blassesten Schimmer wie ich das machen soll.

Informiere Dich mal was AM (Amplitudenmodulation) ist. Mir scheint nämlich daß Du es nicht weißt. Das "aufmodulieren" hast Du nicht verstanden.

Grüße Uwe

AM setzt kein sinusförmiges Trägersignal voraus, es macht nur die theoretischen Berechnungen einfacher. In der Praxis geht manches oft viel einfacher, ohne hochkomplexe Berechnungen. Insbesondere wenn man es mit Digitaltechnik zu tun hat, statt mit analoger.

Digitaltechnik

Ist klar...
Lautsprecher und Mikrofone sind total digital.

  1. Das ist dann Digital 5.1, oder höher 8)

AM setzt kein sinusförmiges Trägersignal voraus,

Wobei du damit natürlich recht hast...
z.B. die SSB Modulation verzichtet ganz auf ein Trägersignal.
Das spart beim Sender erheblich Energie ein.
(Allerdings muss der, nicht vorhandene, Träger dann doch ein reiner Sinus sein)

@combie: we agree to disagree. Auf Deine Argumente möchte ich hier nicht näher eingehen, die sind ziemlich daneben :frowning:

die sind ziemlich daneben

Deine Art der Kritik auch.

Bei der Dekodierung eines digitalen Signals kommt es auf die Zeiten der Impulsflanken an, Frequenzen sind dabei unerheblich. Zumindest reicht es bei der Übertragung wenn die Grundfrequenz eines Rechtecks oder Impulses durchkommt, die Oberwellen beeinflussen lediglich den Kurvenverlauf, nicht den Informationsgehalt.

Was hat AM mit SSB zu tun? Wie würdest Du SSB per Lautsprecher und Mikrofon übertragen, wie demodulieren?

Wie gesagt, was er will ist vielleicht eher Amplitude Shift Keying.

Andererseits soll etwas als Audio übertragen werden. Dann ist es vielleicht tatsächlich Amplitudenmodulation...
Die zwei Dinge werden oft verwechselt. Die Unterscheidung ist aber wichtig wenn man da Google bemühen will

Wie würdest Du SSB per Lautsprecher und Mikrofon übertragen, wie demodulieren?

Fangfrage?

Naja...
Ein akustischens SSB Verfahren wird wenig interessant sein.
Ansonsten sind die Verfahren seit sicherlich 80 Jahren bekannt.
Ob akustisch, oder Funk, ist nur eine Frage der Frequenz.
Der erste praktische SSB Einsatz war wohl die Telefonübertragung.

Was hat AM mit SSB zu tun?

SSB gehört zu den Amplituden Modulationen.
Was man schon daran erkennt, dass das übrig gebliebene Seitenband identisch ist mit einem der Seitenbänder der klassischen AM
SSB ist also nicht mehr als eine weiterentwickelte AM

Serenifly:
Amplitude Shift Keying. ....Amplitudenmodulation...
Die zwei Dinge werden oft verwechselt.

Auch das ASK und ins besondere OOK gehört zu den AM Verfahren.(meiner bescheidenen Ansicht nach)
Allerdings, als Besonderheit, mit einem Modulationsgrad von 100%

Was an den Übergangsstellen zu sehr breiten/ausgeprägten Seitenbändern führt

Tatsächlich habt ihr recht: Ich hab von der AM keinerlei Ahnung, ist aber auch dem geschuldet, dass ich das Thema erst in Signale und Systeme dieses Semester bekomme.

Mangels Zeit mal eine stark vereinfachte Beschreibung: Praktisch gesehen ist es einfach, ein solches Signal zu erzeugen. Du hast eine Trägerfrequenz, die stets 1 und 0 in dieser Frequenz erzeugt. Das eigentliche Signal wird einfach draufmultipliziert. Zur Veranschaulichung:
Trägersignal: 1010101010101010
Informationssignal:1111111100000000
Ergebnissignal: 1010101000000000
Nun ist es ausreichend, mit diesem Signal wechselseitig 2 FETs anzusteuern, welche die Versorgung bzw. GND zur Sendespule im Schwingkreis durchschalten. Im Lautsprecher würde die Spule halt die Membran antreiben.
Problem ist es, das Signal im Arduino zu dekodieren. Wie schon erwähnt: Du brauchst erstmal einen guten Bandpass. Vielleicht muss das Signal noch verstärkt werden. Aber wie soll es dekodiert werden? Das wird mit einem Arduino schwer...

Die Aufgabenstellung kann eigentlich keine Kenntnisse verlangen, die noch nicht behandelt wurden. Dann kann man ganz naiv AM mit Modulationsgrad 100% ansetzen, d.h. den Sender nur ein- und ausschalten. Dann muß man sich keine Gedanken um Seitenbänder o.ä. machen, die treten erst garnicht auf - insbesondere nicht mit dem NF-Verstärker des Lautsprechers.