Forum: Mikrocontroller und Digitale Elektronik Alias Effekt berechnen


von Tobias (Gast)


Lesenswert?

Hallo Leute,

ich hab ein Problem:
Ich muss aus einem Analogen Signal ein Digitales machen und meine 
Abtastrate ist zu klein (800Hz).
Da das Signal sich wiederholt kann ich doch auch mit einer kleinen 
Frequenz abtasten oder?
1. Dann muss ich in der richtigen Frequenz abtatsten, sodass ich den 
nächsten Signalpunkt im 3. oder 4. Signal abtaste (ich hoffe ihr 
versteht was ich meine).
2. Ich hab aber auch gelesen, dass ich den Alias Effekt mit einem 
Tiefpassfilter beheben kann (Signal wird mit 5kHz gesendet)

Wie würden die Berechnungschritte für 1 und 2 aussehen?

Danke und einen angenehmen Tag euch allen :).

LG Gerd B.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Auch wenn solche Hinweise oft ignoriert werden, beschäftige dich 
zunächst mit dem Nyquist-Shannon-Abtasttheorem. Dann wirst du schnell 
erkennen, dass deine Information: „Da das Signal sich wiederholt kann 
ich doch auch mit einer kleinen Frequenz abtasten oder?“ nicht 
ausreicht.

von P. S. (namnyef)


Lesenswert?

Hört sich nach Pfusch an.

von H.Joachim S. (crazyhorse)


Lesenswert?

Tobias schrieb:
> dass ich den Alias Effekt mit einem
> Tiefpassfilter beheben kann

Das ist gut :-)
Mach ihn steilflankig mit 400Hz cutoff-Frequenz.

Was ist denn das überhaupt für ein Signal? Wo steckt die Information die 
du haben möchtest?

Unter bestimmten Bedingungen kann man auch mit Unterabtastung arbeiten.

: Bearbeitet durch User
Beitrag #7040009 wurde vom Autor gelöscht.
von Tobias A. (thejoker312)


Lesenswert?

Joe G. schrieb:
> Auch wenn solche Hinweise oft ignoriert werden, beschäftige dich
> zunächst mit dem Nyquist-Shannon-Abtasttheorem. Dann wirst du schnell
> erkennen, dass deine Information: „Da das Signal sich wiederholt kann
> ich doch auch mit einer kleinen Frequenz abtasten oder?“ nicht
> ausreicht.

Ich kenne das Abtatstheorem. Man muss mit doppelter Frequenz abtasten, 
um Informationsverlust zu vermeiden. Den Grund verstehe ich auch.

So kam ich ja auf meinen Vorschlag. Aber danke

von Tobias A. (thejoker312)


Lesenswert?

H.Joachim S. schrieb:
> Tobias schrieb:
>> dass ich den Alias Effekt mit einem
>> Tiefpassfilter beheben kann
>
> Das ist gut :-)
> Mach ihn steilflankig mit 400Hz cutoff-Frequenz.
>
> Was ist denn das überhaupt für ein Signal? Wo steckt die Information die
> du haben möchtest?
>
> Unter bestimmten Bedingungen kann man auch mit Unterabtastung arbeiten.

Wie kommst du auf 400 Hz?

Das ist ein Manchestercode. Die Inforamtion liegt in den letzten 
Bitfolgen, bin ich der Meinung. Dort ist der Wert enthalten, den ich 
Abfragen und vergleichen soll.

von Tobias A. (thejoker312)


Lesenswert?

P. S. schrieb:
> Hört sich nach Pfusch an.


Ja also schön ist das ganz sicher nicht.
Ich will aber erstmal Möglichkeiten ausschöpfen, bevor ich Geld und 
Lieferzeit in die Hand nehmen muss.

von Purzel H. (hacky)


Lesenswert?

Ja, Subsampling kann man machen, dazu muss das system aber die analoge 
Bandbreite fuer das Signal besitzen und darf nicht mit einem Tiefpass 
niedergemacht werden.

von Ingo Less (Gast)


Lesenswert?

Tobias A. schrieb:
> Das ist ein Manchestercode.
ungleich

Tobias schrieb:
> Ich muss aus einem Analogen Signal ein Digitales machen

Also was willst du denn? Versuch deine Frage doch mal für jemanden zu 
formulieren, der nicht das selbe Problem hat und evtl. nicht weiss, was 
du willst.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Tobias A. schrieb:
> Ich kenne das Abtatstheorem. Man muss mit doppelter Frequenz abtasten,
> um Informationsverlust zu vermeiden.

Nicht ganz...
Man muß ein kontinuierliches, bandbegrenztes Signal, mit einer 
Minimalfrequenz von 0 Hz und einer Maximalfrequenz fmax, mit einer 
Frequenz größer als 2 · fmax abtasten, damit man aus dem so erhaltenen 
zeitdiskreten Signal das Ursprungssignal ohne Informationsverlust exakt 
rekonstruieren kann.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Zeig das konkrete Signal als Samplefile oder den Generator z.B. in 
LTspice. Dann kann man helfen.

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

Deine Aufgabenstellung liest sich für mich nun eher so:
Ich habe einen Manchester-Code mit einem Clock von 5 kHz. Der Datenstrom 
wiederholt sich periodisch. Nun soll ich die Daten rekonstruieren, wobei 
ich nur eine Abtastrate von 800 Hz habe.
Habe ich die Aufgabenstellung richtig verstanden?
Wenn ja, wie lang ist den der eigentliche Datenstrom bis er sich 
wiederholt?

von HildeK (Gast)


Lesenswert?

Tobias A. schrieb:
> Ich kenne das Abtatstheorem. Man muss mit doppelter Frequenz abtasten,
> um Informationsverlust zu vermeiden.

Das ist nur die halbe Wahrheit.
Ein Signal mit der Bandbreite B muss zwar mit einer Abtastfrequenz fA 
abgetastet werden, für die gilt fA > B/2.
Das schließt auch eine Unterabtastung mit ein. Beispiel: ein Signal, das 
Frequenzen zwischen 16kHz und 17kHz hat, kann durchaus mit z.B. 2.5kHz 
abgetastet und auch wieder korrekt zurückgewonnen werden. Man muss 
jedoch darauf achten, das n×fA und (n+1)×fA nicht innerhalb des 
Nutzbandes liegen. Beim Beispiel liegt 6×fa bei 15kHz und 7×fA bei 
17.5kHz.

Joe G. schrieb:
> Nicht ganz...
> Man muß ein kontinuierliches, bandbegrenztes Signal, mit einer
> Minimalfrequenz von 0 Hz und einer Maximalfrequenz fmax, mit einer
> Frequenz größer als 2 · fmax abtasten, damit man aus dem so erhaltenen
> zeitdiskreten Signal das Ursprungssignal ohne Informationsverlust exakt
> rekonstruieren kann.
Wie oben gesagt, das ist nicht die ganz Wahrheit.
Aber das hatte der TO schon gemeint - nur fehlt das 'größer' 😀.

von Stefan P. (form)


Lesenswert?

Tobias schrieb:
> 1. Dann muss ich in der richtigen Frequenz abtatsten, sodass ich den
> nächsten Signalpunkt im 3. oder 4. Signal abtaste (ich hoffe ihr
> versteht was ich meine).

Ist eine gängige Praxis bei schnellen Oszilloskopen.
Das Verfahren nennt sich Äquivalenzabtastung oder auch 
Ersatzzeit-Abtastung.

Ein paar Infos:
https://www.elektroniknet.de/messen-testen/abtasttechnologien-im-vergleich.90983.html

von Aaron K. (aaron_b_k)


Angehängte Dateien:

Lesenswert?

Hi,
ich gebe mal meinen Senf dazu.

Angenommen du möchtest einen Sinus abtasten der sich x-mal wiederholt. 
Dann gibt es 2 Möglichkieten:

Entweder musst du entweder mit deutlich mehr als der zweifachen 
Grenzfrequenz abtasten, da das Shannon-Theorem lediglich besagt, dass 
Aliasing auftritt wenn ein Signal mit weniger als- oder mit der 
doppelten Frequenz abgetastest wird.

Oder du tastest über mehrere Perioden mit einer niedrigeren als der 
minimalen Abtastrate ab. Hier muss darauf geachtet werden, dass die 
Abtasttung nicht zufällig genau die Nulldurchgänge erwischt. Es ist also 
nach wie vor wichtig die Grundfrequenz des zu messenden Signals zu 
kennen.
Was ich mir vorstelle ist, dass du bspw. mit 1/1,1 der Frequenz 
abtastest. Dein Signal hat z.B. 300Hz deine Abtastrate beträgt somit 
272,72Hz. Angenommen du startest die Abtastung zum Zeitpunkt t=0 und der 
Sinus besitzt dort ein Nulldurchgang, und eine maximale Amplitude A, 
dann würdest du für die ersten Zehn Abtastungen die im Bild 
dargestellten Werte erhalten.
Du musst etwas mit dem Verhätlnis herumspielen mit welchem du 
unterabtastest. Es muss etwas "krummes" sein also nicht 1/3 oder sowas, 
da du so immer nur diselben Werte in "anderen" Perioden abteastest.

Mit dem Code (Scilab oder Matlab) kannst du das Bild erzeugen das ich 
hier angehängt habe.
1
clear
2
clc
3
clf
4
5
f = 300
6
ratio = 1/1.1
7
samples = 10
8
fa = f * ratio
9
10
//plot res
11
x = 0:1/f/samples:1/f
12
j=0
13
for i = 0:1/fa:((1/ratio)*samples)/f
14
    disp (i)
15
    j=j+1
16
    y(j) = sin(2 * %pi * f * i)
17
end
18
disp (y)
19
plot(x, y, 'red')
20
21
22
23
//plot sine
24
x = 0:1/f/100:1/f
25
y = sin(2 * %pi * f * x)
26
plot(x, y)

Mfg
Aaron

: Bearbeitet durch User
von Dergute W. (derguteweka)


Lesenswert?

Moin,

Dieser ganze "neumodische Kram" mit dem Abtasttheorem ist ja schoen und 
gut, wenn ich irgendwelche bandbegrenzten Signale habe, von denen ich 
sonst nix weiss.
Hier ist's aber so:

Tobias A. schrieb:
> Das ist ein Manchestercode. Die Inforamtion liegt in den letzten
> Bitfolgen, bin ich der Meinung. Dort ist der Wert enthalten, den ich
> Abfragen und vergleichen soll.

Also liegt doch der Schwerpunkt hier weniger auf der Abtastung an sich, 
sondern eher drauf, den Schlonz richtig zu decodieren; also sich 
aufzusynchronisieren, etc. bla.

Gruss
WK

von Klaus R. (klara)


Lesenswert?

Tobias schrieb:
> Ich muss aus einem Analogen Signal ein Digitales machen und meine
> Abtastrate ist zu klein (800Hz).

Warum hast Du nur eine Abtastrate von 800 Hz? So ein ESP32 oder D1Mini 
für unter 10 € schafft schon viel mehr als 5 kHz.
Beschreibe mal genau was Du da hast.
mfg Klaus

: Bearbeitet durch User
von Aaron K. (aaron_b_k)


Angehängte Dateien:

Lesenswert?

Aaron K. schrieb:

Ich habe den code nochmal überarbeitet.

einfach bei...
- f: die Frequenz eintragen.
- samples: Die Anzahl der Abtastungen pro Periode eintragen.
1
clear
2
clc
3
clc
4
clf(0)
5
clf(1)
6
7
//inputs
8
f = 300
9
samples = 100
10
11
//some calculations
12
ratio = 1/(1+1/samples)
13
fa = f * ratio
14
15
//plot res over multiple periods
16
scf(0)
17
j=0
18
for i = 0:1/fa:samples/f
19
    j=j+1
20
    y(j) = sin(2 * %pi * f * i)
21
    x(j) = i
22
end
23
disp(y)
24
plot(x, y, 'ro')
25
26
//plot res but all measured points displayed in one period
27
scf(1)
28
x = 0:1/f/samples:(1/f)-(1/f/samples)
29
disp(x)
30
plot(x, y, 'ro')
31
32
33
//plot sine over multiple periods
34
scf(0)
35
x = 0:1/f/100:samples/f
36
y = sin(2 * %pi * f * x)
37
plot(x, y)
38
39
//plot sine over one period
40
scf(1)
41
x = 0:1/f/100:1/f
42
y = sin(2 * %pi * f * x)
43
plot(x, y)

Gruß Aaron

von oroska (Gast)


Lesenswert?

Wozu ein neuer Thread - da verliert sich der wesentliche Kontext deines 
Problems.
Beitrag "Manchester decoding with Labview"

Woher kommen die 800Hz Abtastrate? Ich habe schon sehr lange (>>10a) nix 
mehr mit Labview zu tun, aber schon damals konnten sowohl digitale als 
auch analoge Eingänge mit höherer Abtastrate verarbeitet werden.

Eventuell hilft dieser Link zum NI-Forum:
https://forums.ni.com/t5/LabVIEW/how-can-i-build-a-manchester-coding-in-labview-signal-processing/td-p/1580976

Wenn dein Problem tatsächlich durch die Verarbeitungsgeschwindigkeit 
verursacht wird, gibt es auch noch LabVIEW FPGA:
https://www.ni.com/en-my/innovations/white-papers/06/developing-digital-communication-interfaces-with-labview-fpga.html
https://forums.ni.com/t5/Example-Code/LabVIEW-FPGA-Manchester-Encoding-and-Biphase-SPDIF-Decoding/ta-p/3996151?profile.language=en

von Joe G. (feinmechaniker) Benutzerseite


Lesenswert?

oroska schrieb:
> Wozu ein neuer Thread - da verliert sich der wesentliche Kontext deines
> Problems.
> Beitrag "Manchester decoding with Labview"

Na prima ;-) Da werden ja bei der "stillen Post" mehr Informationen 
übermittelt als bei der Eingangsfrage des TO.

von Tobias A. (thejoker312)


Lesenswert?

Hallo Leute,

ich war den ganzen Tag in ner Besprechung und kam erst jetzt dazu das 
alles durch zu lesen.

Ich bedanke mich ganz herzlich bei allen beteiligten. Ich werde mir da 
ein paar Informationen rausziehen.

Werden uns aber wahrscheinlich nichts selber zusammen basteln sondern 
einkaufen, da der Kunde so drängelt.

Dies war mein erster Kontakt mit so einem Forum, daher bitte ich den 
schlechten Informationsfluss zu entschuldigen. Für folgende Anfragen 
wird darauf geachtet.

Ich bedanke mich nochmal und wünsche allen einen angenehmen Resttag :)

MFG

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
Noch kein Account? Hier anmelden.