Digitale Signalverarbeitung, Signal detektieren

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From German to

Threaded View
Hallo,


etwas auf dem Schlauch.

Ich habe ein gepulstes 10kHz Signal das ich detektieren will.





Mein Microcontroller ist nicht besonders schnell (Atmega8 mit 20 MHz  
Clock) und ich kann die Abtastrate des ADU auch nicht beliebig einstellen.




Wie kann ich das am einfachsten realisieren?

Ich stelle mir eine Art FIR Filter vor, also ich taste das Signal mit  
einer passenden Frequenz ab und speichere die Abtastwerte in einen  
Ringbuffer. Da habe ich dann die Abtastwerte von t, t-1, t-2 usw.





detektieren kann?


also per Software.



Stefan

Re: Digitale Signalverarbeitung, Signal detektieren
Stefan wrote:
Quoted text here. Click to load it

Quoted text here. Click to load it


10kHz und Null?

Quoted text here. Click to load it


Abtastung implementieren.


Quoted text here. Click to load it









"digitalisiertes" Signal verarbeiten?

Re: Digitale Signalverarbeitung, Signal detektieren
Am 12.10.2018 um 10:53 schrieb Edzard Egberts:
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Es werden jeweils 50 Rechteckimpulse mit einer Periodendauer von 100us  




Quoted text here. Click to load it

Quoted text here. Click to load it


Leitung geben und die Periodendauer bestimmen.


schwankt. Eventuell hab ich in manchen Situationen Signalpegel < 1 V.


Quoted text here. Click to load it



<ack>

einen analogen Bandpass willst Du nicht, ist aber








Quoted text here. Click to load it

Quoted text here. Click to load it

Ich muss irgendwo rechnerisch gleichrichten um den Pegel zu bestimmen.

Ich habe ja ein Analogsignal, irgendwas wie U = U0 * sin(omega t) + Us


anderer Schmutz.

Die Abtastung ist im Prinzip eine Multiplikation im Zeitbereich mit  
einer Rechteckimpulsfolge.

Ich habe dann eine Liste mit Abtastwerten U(t) bzw. U(z)



Meine Erinnerungen an das Studium sind bei dem Thema etwas unscharf ;-)  
deshalb die Frage hier.


Bereich um die 10 kHz, aber ich vermute, dass da mein Microcontroller an  





Mir geht es jetzt nicht um besondere Genauigkeit oder Sicherheit. Es  
geht nur darum festzustellen, ob ein 10kHz Signal mit ausreichendem  
Pegel vorhanden ist oder nicht.









Re: Digitale Signalverarbeitung, Signal detektieren
Am 12.10.2018 um 12:26 schrieb Stefan:
Quoted text here. Click to load it

Ich habe keine Ahnung von fast nichts. Aber mir schweben gerade die
Stichworte 555 und PLL im Kopf.

HTH

Gregor


--  
X-ggl-fuck-off: yes

Re: Digitale Signalverarbeitung, Signal detektieren
 > Aber mir schweben gerade die
Quoted text here. Click to load it



Wenn der Sender "quarzgenau" ist, der Controller
seinen Takt aus 32kHz per PLL erzeugt, kann man
eventuell diese PLL und damit den Prozessortakt


Sekunden.

MfG JRD



Re: Digitale Signalverarbeitung, Signal detektieren
Am 12.10.2018 um 17:56 schrieb Rafael Deliano:
Quoted text here. Click to load it

Quoted text here. Click to load it


Quoted text here. Click to load it


Signal ausgeschaltet wird.


habe ich das gesuchte Ereignis erkannt.


Quoted text here. Click to load it


Re: Digitale Signalverarbeitung, Signal detektieren
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it





Quoted text here. Click to load it

Quoted text here. Click to load it


Quoted text here. Click to load it


Quoted text here. Click to load it

Wenn das Signal stets einen positiv Pegel hat, ginge vielleicht folgendes:



Du kannst auch bei jedem Flankenwechsel (Pegel>Schwellwert, Pegel<Schwellwert)


--  
Dipl.-Inform(FH) Peter Heitzer, snipped-for-privacy@rz.uni-regensburg.de

Re: Digitale Signalverarbeitung, Signal detektieren
Stefan wrote:
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it








Quoted text here. Click to load it




Sind die Impulse positiv (also eine Art verschliffenes Rechteck), oder  
ein echter Sinus mit negativen Anteilen.


Quoted text here. Click to load it

Also eine Liste von digitalen Werten, z.B. im Bereich von 0..1024?




geteilt durch die Periodendauer, also der Effektivwert.

Quoted text here. Click to load it

Wenn Du die Pakete sauber unterscheiden und die Abtastung eines Pakets  


Kleinsten Wert suchen und als Offset nehmen, den von allen anderen  



aufaddieren und durch Tpaket teilen.

Re: Digitale Signalverarbeitung, Signal detektieren
Am 12.10.2018 um 13:26 schrieb Edzard Egberts:
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it


Quoted text here. Click to load it




;-)

Ja, kann man.

Das Sendersignal wiederholt sich alle 100 Millisekunden.


50ms Pause.

d.h., wenn das Signal stark genug ist, kann ich die Pause erkennen, das  
passiert auch, aber nur wenn das Signal stark genug ist.


dass ich den Anfang des Paketes nicht mehr sauber erkennen kann trotzdem  
noch sagt, ob ein Signal vorhanden ist.

Wie schon geschrieben: Mit einem Mittelwellenradio geht das.

Quoted text here. Click to load it


genau das kann ich eben nicht


das erfordert einen wesentlich schnelleren Prozessor.




Es geht nun darum, genau das per Software nachzubilden.

Mit einem digitalen Filter muss das gehen und wenn ich mich da reinlese,  
bekomme ich das vermutlich auch hin.

Ich hab einfach gehofft, dass es hier jemanden gibt, der mir sagt:  
"Klar, ganz einfach, taste einfach alle xx ms ab, nimm die letzten 5  
Abtastwerte multipliziere die werte mit x1,x2,x3,x4,x5, addiere das  
ganze und fertig".

;-)





Re: Digitale Signalverarbeitung, Signal detektieren
Stefan wrote:
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it


Quoted text here. Click to load it


Signal einfach durch Multiplikation wieder findest, kannst Du das IMHO  

Vorteil - "Physik", genauer gesagt "Resonanz", denn auch mit passiven  
Bauteilen ist das im gewissen Sinne eine aktive Filterung.

Quoted text here. Click to load it

Nein, muss nicht gehen, weil bei der A/D-Wandlung Information verloren geht.

BTW, hast Du Deine Samples eigentlich schon mal geplottet? Wenn man als  

nach auch keine Chance mehr. Auf der anderen Seite sieht man bei so  
etwas manchmal Details, die bei der "theoretischen Betrachtung" nicht  
auffallen...



Re: Digitale Signalverarbeitung, Signal detektieren
Am 12.10.2018 um 15:45 schrieb Edzard Egberts:
Quoted text here. Click to load it






Doch, das Signal ist auf dem Oszi sehr gut zu erkenne. Es geht nun  
darum, das mit einem Microcontroller auszuwerten und das muss so  



deutlich erkennen, ob das gesuchte Signal da ist.

Quoted text here. Click to load it

Manchmal muss man aber auch mit theoretischen Betrachtungen an eine  
Aufgabenstellung herangehen um auf die richtigen Ideen zu kommen.




Re: Digitale Signalverarbeitung, Signal detektieren
Am 13.10.2018 um 11:00 schrieb Stefan:
Quoted text here. Click to load it


kenne ich nicht.



Gregor


--  
X-ggl-fuck-off: yes

Re: Digitale Signalverarbeitung, Signal detektieren
Stefan wrote:
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Ich dachte nicht an ein Oszilloskop, sondern an die Daten, die  



Re: Digitale Signalverarbeitung, Signal detektieren
Am 15.10.2018 um 07:59 schrieb Edzard Egberts:
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it



Hab ich auch schon dran gedacht, aber das ist nicht so einfach.









Re: Digitale Signalverarbeitung, Signal detektieren
Stefan wrote:
Quoted text here. Click to load it


Quoted text here. Click to load it


Quoted text here. Click to load it



Ist so eine schlechte Erfahrung von mir - alles kontrollieren, denn was  
man nicht sieht, sieht oft ganz anders aus, als man sich das vorstellt.


Re: Digitale Signalverarbeitung, Signal detektieren
Am 15.10.2018 um 08:14 schrieb Edzard Egberts:
Quoted text here. Click to load it


Quoted text here. Click to load it


Quoted text here. Click to load it


Quoted text here. Click to load it

Versteh ich schon, geht mir im Prinzip genauso.
Deshalb simuliere ich das erstmal am PC in Delphi.



Re: Digitale Signalverarbeitung, Signal detektieren
Quoted text here. Click to load it


Quoted text here. Click to load it






Quoted text here. Click to load it




Quoted text here. Click to load it




vorliegt.

--  
Dipl.-Inform(FH) Peter Heitzer, snipped-for-privacy@rz.uni-regensburg.de

Re: Digitale Signalverarbeitung, Signal detektieren
Am 12.10.2018 um 12:31 schrieb Peter Heitzer:
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it


Quoted text here. Click to load it

Quoted text here. Click to load it

Die Periodendauer ist so genau bekannt, wie es die Quarze auf dem Sender  





Quoted text here. Click to load it

Den gleitenden Mittelwert bilden wir schon um die Nulllinie zu bestimmen.

Allerdings kann ich die Abtastung nicht mit dem Sendsignal  

nachbilden kann...



Quoted text here. Click to load it
Das ist gar nicht notwendig, das geht auch mit den Abtastwerten aus dem ADU.


Re: Digitale Signalverarbeitung, Signal detektieren
Am 12.10.2018 um 09:50 schrieb Stefan:

Quoted text here. Click to load it



diesen log. Wert in ein Schieberegister pumpen. Der aktuelle Wert des  
Schieberegisters zeigt Dir zB. nach Ablesen aus einer LookupTable an, ob  
das 10kHz-Signal innerhalb des betrachteten Zeitraums eingesetzt hat, ob  
es abgeschaltet wurde oder ob es sich innerhalb der aktiven Sendephase  
befindet.

bedeutet, die Anzahl der Einsen im Schieberegister  ist ausreichend klein.
Die Auswertung erfolgt nach jeder Abtastung.

Viel Spass.

Udo

Re: Digitale Signalverarbeitung, Signal detektieren
Am 12.10.2018 um 13:19 schrieb Newdo:
Quoted text here. Click to load it

Quoted text here. Click to load it

Quoted text here. Click to load it


Quoted text here. Click to load it


Nee, das ist es alles noch nicht.

Ich denk einfach mal laut.

Manchmal platzt der Knoten, wenn man versucht das Problem jemand anderem  



ein digitales Notch-Filter.

Dazu muss man nur zwei Abtastwerte im Abstand von 180 Grad addieren.


hat das eine Periodendauer von 100us.


Ich habe also Abtastwerte U(z); U(z-1); U(z-2) ; U(z-3) .... U(z-n)

Wenn ich jetzt eine zweites Array mit V(z) = 0.5 * ( U(z) + U(z-1) )  



habe, also der gesuchte 10 kHz Anteil...


der Nullinie aufzusummieren und dann die Differnz der Summen zu berechnen.



Site Timeline