DSP - wie anfangen

Gast #2747797
Lesenswert?

Hallo killer89,

>meine Elektronikkenntnisse zu verbessern

Wie weit sind denn Deine Elektronikkenntnisse? Kannst Du mit einfachen 
Microcontrollern (8bit) und den Entwicklungsumgebungen umgehen, kannst 
Du in C programmieren?

Grüße
Gast #2748769
Lesenswert?

Du brauchst keine Hardware für den DSP Einstieg.

Besorg dier eine MATLAB Raubkopie.
Alternativ tuts auch Scilab:
* http://www.scilab.org/
Oder Python mit NumPy / SciPy:
* http://www.python.org/
* http://numpy.scipy.org/
* http://www.scipy.org/

Dann brauchst du ein gutes Buch:
* Understanding Digital Signal Processing
* http://www.dspguide.com/ (kostenlos online)

Die Algorithmen kannst du dann leicht in MATLAB testen und plotten.
Du kannst auch "Real World" Daten (Biler, Sound, Messdaten) importieren 
und damit spielen.

Erst wenn du das alles drauf hast ist Hardware angesagt.
Simulieren tust du das meiste auch später noch vor der Implementierung.

Viel Spaß!
Gast #2748995
Lesenswert?

Hallo killer89,

wenn Du Hardware möchtest: Da gibts bei den einschlägigen Herstellern 
(AD, TI, Arizona Micro, Freescale,...) Eval-Boards mit dem Chip und 
meist mit Peripherie-Anschlussmöglichkeit. Der Debugger ist auch meist 
dabei wie auch eine IDE. Die Kosten fangen bei 29EUR an und hören bei 
500EUR noch nicht auf.

Wichtig ist dass Du Dir dazu Gedanken machst, in welche Richtung Du 
weiterarbeiten möchtest: Einige DSPs sind in Richtung Audio ausgelegt 
(I2S, Codec-Interfaces, ...), die anderen in Richtung Maschinensteuerung 
(Timer, schnelle 10/12bit AD, Wandler, CAN, ...).

Grüße
(Firma: Wolftec GmbH) #2756406
Lesenswert?

hallo,
ich hab mit dsp noch nie was gemacht, doch ne frage, ich mache derzeit 
mit nem NE555 impule im 1 MHz bereich (+- paar %) und brauche 
impulslange von 61 ns und der rest zum 1 MHz pause.

ist so was mit dsp machbar ?

welchen chip brauch ich dazu ?

gibt es da irgendwo was an fertigem code ? eventuell von einem anderen 
anfaenger hier ? womit ich das schnell mal ausprobieren kann ?

ich hab arduino im einsatz, also C waehr schon toll

danke vorab !!!

gruss

w
Gast #2756698
Lesenswert?

Hallo wbeppler,

dazu brauchst Du keinen DSP sondern einen ausreichend genauen Zähler in 
einem Microcontroller. 61ns ist ein bischen unorthodox zusammen mit der 
Bedingung 1MHz. Wenn es aber 60ns sein dürfen geht das relativ einfach. 
Was brauchst Du:
a) einen uC deiner Wahl mit 16MHz oder vielfachen davon
b) einen Timer darin der auch mit der Taktfrequenz (siehe a) laufen kann
c) ein Vergleichsregister (meit Compare.... genannt)

Der Timer wird auf Teilerfaktor 16 (oder passend zur Taktfrequenz) 
eingestellt damit er alle 1,0us auf 0 zurückgesetzt wird. Das 
Comparregister wird so eingestellt dass es bei Timerrücksetzen den 
Ausgang auf 1 setzt und beim Vergleichswert auf 0 setzt. Als 
Vergelichswert wird 1 eingestellt.

Diese Funktion erfüllen die mir bekannten STM32 (STM) und C2000 (TI) 
Architekturen, sicher auch andere.

Grüße
Gast #2756704
Lesenswert?

Hallo wbeppler,

Mit einer Einschränkung: Hab mich verrechnet, es kommen dann 66,6 ns 
raus. Wenn's genau 60ns werden müssen musst du mit 50MHz takten, 
Zählerüberlauf auf 50, Comparregister auf 3 einstellen.

Grüße
(Firma: Wolftec GmbH) #2756818
Lesenswert?

danke fuer den tip,
da hab ich mich auch schon mal versucht
ich hab nen atmel mit 16 MHz genommen und ben auch bischen rumprobiert 
und die taktfrequenz verbogen, das ging prinzipiell ganz gut, nur dass 
ich am ausgang keine saubere flanke hatte sondern einen graesslichen 
verschnitt.

es war eie arduino platine, da ist ja nix an den ausgaengen dran, doch 
mein oszi zeigte zwar richtiges timing, doch wenn ich mich rcht erinnere 
kam der ausgang grad mal auf 2V innerhalb der 60 ns.

also warum ich die 60 ns brauche kann ich auch noch erklaeren.
ich pumpe in ne 10 uH Spule und schalte ab. damit bekomme ich die 
notwndige spannung nen 1 MHz piezo-schwinger zu erregen.

nun habe ich mit der NE555 schaltung immer den aufwand abzugleichen und 
ich haab eh nen atmel an bord. und wenn ich die 61 ns noch +-10 oder 20 
% variieren koennte, und somit vieleicht die leistung noch beeinflussen. 
das mache ich derzeit mit 2 verschiedenen endstufenschaltungen.

ich bin fuer jeden tip dankbar, vor allen wuerde mich interessieren ob 
es normel ist was ich an meinem atmel gemessen hab oder ob der schnelle 
anstiegsflanke zeigen muesste. ebenso wuerde ich auch gerne mal wissen 
ob eben mit einem DSP so was machbar ist und falls ja mit welchem ?

gruss und dank

wolfgang :-)
Gast #2757081
Lesenswert?

Hallo wbeppler,

>und wenn ich die 61 ns noch +-10 oder 20% variieren koennte

Ich sehe, die 61ns scheinen doch recht kritisch zu sein.
Dazu brauchst Du einen PWM Timer mit besserer Auflösung. Mir ist da nur 
von der C2000 Serie der in Erinnerung der im Prinzip eine Aufklösung von 
150ps hat, Real wirst Du damit die 1ns schaffen. Die Platform (sind 
"DSPs", eigentlich Microcontroller mit DSP ähnlicher Architektur und 
Peripherie) ist proprietär, Entwicklungswerkzeuge sind in den Eval-Kits 
mit drinnen, EVAL-Kits ab 29USD direkt bei TI.
Um das Ausgangssignal zu verstärken solltest Du einen entsprechenden 
Schalter bauen (Du sprichts von Endstufe) oder - was vielleicht auch 
ausreicht - einen 74ACT/F/AS04 Inverter nachschalten. Die haben 
normalerweise eine sehr hohe Strombelastbarkeit.

Wie gut der Atmel die 55...67ns Impulse bauen kann (61ns +/-10%) kann 
ich Dir nicht sagen, vermute aber eher nicht da du dazu einen PWM 
benötigst der besser auflöst als die 16MHz. Und das geht nur bei Zählern 
die eine etwas andere Architektur haben.

Anstiegsflanke:
Die hängt normalerweise von R und C ab. Leitungswiderstand und Kapazität 
nach Masse, also Eingangskapazitzät der nachfolgenden Schaltung. Die mir 
bekannten UCs sollten aber in  der Lage sein (sofern die Ausgangspins 
nicht druch Einstellungen "bedämpft" worden sind - siehe Beschreibung 
der GPIO Pins des Prozessors, da kann schon mal eine SlewRate 
Beschränkung einschaltbar sein oder es gibt Tiefpassfunktionen [STM, 
50MHz, 10MHz]) inenrhalb von wenigen 10...100ns den Ausgang vollständig 
zu treiben. Hängt sicher auch am Ausgangsstrom.

Grüße
(Firma: Wolftec GmbH) #2757355
Lesenswert?

der treiber am ende ist nicht mein probelm
da hab ich was mit vorstufe und endstufe, funtioniert hervorragend
Si4464 heisst das zauberwort und die beispielschaltung aus dem 
datenblatt

mein problem ist, dass ich IMMER 1 MHz brauch, die ceramic ist halt so.

probelm 1: die 61 ns impulsbreite muss ich immer justieren
problem 2: beim NE555 veraender ich dabei IMMER auch die 1 MHz weshalb 
der abgleich immer ne arbeit ist.
problem 3: im laufenden betrieb moechte ich zur leistungsreduzierung 
(derzeit mache ich das mit vorwiederstaenden) die impulsbreite etwas 
verkuerzen


also suche ich nen chip den ich am liebsten programmieren kann

also meine frage nochmals

GEHT SO WAS MIT DSP ??? ich hab noch nie DSP's verwendet, wenn mir einer 
von euch einfach sagen kann, so was geht, z.b. mit xxx

danke noch fuer die ratschlaege mit der filtersache bei den ausgaengen, 
das kann natuerlich schon sein, muss ich mal das datenblatt unters 
kopfkissen nehmen, danke !!

fuer tips auch hier bin ich immer dankbar
(Firma: Wolftec GmbH) #2757373
Lesenswert?

beim gurgel kommt da nicht nur beauty bei heraus.

ich hatte nen schweren unfall und ultraschall stimuliert den 
knochenwachstum, d.h. ein knochenbruch geht 30% schneller oder wie bei 
mir (ich hatte 17 brueche !!!) ich hatte an einer fixen verschraubten 
stelle (da ist kein wachstumsreitz) gar keine knochenheilung. 
nachweislich nach 10 monaten hab ich mit ultraschall begonnen und 
innerhalb 2 wochen hatte ich erste Kallusbildung

siehe
http://wolftec.biz/ultraschall/html/fraktur-verlauf.html

ich habs dokumentiert.
das ist auch ni neues, die medizin kennt das sehr gut, nur die kassen 
zahlens halt nicht, zumindest bei mir nicht, nicht privat, 2te klasse 
halt.

elektronik sinnvoll angewendet :-)

nur ist da noch viel zu beachten, ich arbeite dran, doch mein ruecken 
schmerzt nicht mehr so arg, die ultraschall-massage tut gut.

und zu beauty, ja da solls auch helfen, z.b wirkstoffe einzubringen, ich 
rate aber vor abnemhen mit ultraschall ab, falls das auch wo angepriesen 
wird, das ist quasi NF wie ultraschall zum vergaser reinigen, da 
passiert kavitation und das ist ungesunnd !

bei interesse gerne :-)

gruss und dank

wolfgang :-)
Gast #2757376
Lesenswert?

Gehen wird das sicher mit einem DSP, ist aber keine rechenaufwendige 
Anwendung, für die die DSPs gemacht sind. Ich würde, wenn's ein 
Controller sein soll, hier eher zu XMOS tendieren (spezielle 
Mikrocontroller mit enormer I/O-Performance, wenig verbreitet), oder zur 
programmierbaren Logik greifen (CPLD, ggf. FPGA). Ein CPLD mit externem 
Oszillator passender Takfrequenz löst das Problem schnell und einfach. 
Man muß nur die gewünschte Funktion in einer 
Hardwarebeschreibungssprache formulieren können (VHDL, Verilog, ggf. 
ABEL), oder, je nach Entwicklungsumgebung, aus Logikgattern 
schaltplanähnlich zusammenklicken.
(Firma: Wolftec GmbH) #2757585
Lesenswert?

wieso neuer thread ?

es geht immer noch um meine erste frage:

dsp ? was und wie gehts und woher krieg ich es,
viele interessiert es halt was damit angestellt wird, sorry aber die 
antwort bin ich schuldig wenn ich schon frage

hast du ein probelm damit ?
wie soll ich sonst in zukunft posten ?

gruss

w
Gast #2757712
Lesenswert?

> es geht immer noch um meine erste frage:

Falsch.

Hier geht es um die Frage nach dem Einstieg in die Digitale 
Signalverarbeitung (DSP = Digital Signal Processing) von killer89.

Du suchst nach einer Lösung zu einer konkreten Aufgabenstellung, die im 
übrigen überhaupt nichts mit digitaler Signalverarbeitung zu tuen hat.

> hast du ein probelm damit ?
Nein, aber ich habe ein Problem damit, dass du plenkst !
;)

> wie soll ich sonst in zukunft posten ?
Denk dir einen adäquaten Betreff aus, und erstelle einen neuen Beitrag 
im Passenden Unterforum.
Hier würde ich z.B. "Generierung von periodischen 61ns Impulsen" im 
Unterforum "µC & Elektronik" empfehlen.

Natürlich darfst du dich auch in laufende Diskussionen einbringen.
Diskussionen dürfen auch abschweifen.
Aber einfach in eine laufende Diskussion reingrätschen und das Thema an 
sich reißen ist unhöflich, das machst du im RL auch nicht.

Gruß,
Thomas
Gast #2758274
Lesenswert?

Hallo Wolfgang (Wbeppler),

CPLD/FPGA kann das sicher. Musst Du aber eben die Architektur erst bauen 
und dann ansteuern. Der C2000 (z.B. 28027) von TI hat die PWMs bereits 
die mit einer Auflösung von nominell 150ps arbeiten (Ich habe diese 
bereits verwendet). Du kannst die PWMs sowohl in der Frequenz als auch 
der Pulsbreite in diesem Raster einstellen. Ist zwar ein bischen Aufwand 
sich einzulesen, das wirst Du aber auch mit den programmierbaren HW 
Architekturen benötigen.
Eval-Kit ab 39USD "http://www.ti.com/tool/tmds28027usb"; inclusive 
Entwicklungsumgebung und Emulator.

Damit hast Du Denke ich zwei vernünftige Vorschläge. Neue Fragen dazu 
kannst Du ja in einem neuen thread (siehe Thomas) behandeln.

Und: Mein Bedauern zu dem Unfallgeschehen.

Grüße
Gast #2758641
Lesenswert?

Hallo zusammen,
möchte gerne noch mal auf den Einstig zurückkommen.
Kenne mich DSPs nicht wirklich aus, würde damit aber auch gerne einmal 
experimentieren.
@ friedrich
Das 29€ Kit würde mich interessieren, weil damit nicht allzu viel kaputt 
gemacht ist, wenn man scheitert. Um was für ein Kit handelt es sich denn 
da und wo bekommt man es?

Gruß
Transi
Gast #2761214
Lesenswert?

Hallo killer89,

suche bei TI den Begriff "TMDS28027USB" (oben rechts), erstes Ergebnis 
des Suche.
Der Link ist direkt aus der Adresseleiste rauskopiert, scheint aber 
direkt nicht zu gehen. Wenn Du suchst kommst Du auf dem gleichen Link 
raus.

Grüße
Gast #2766081
Lesenswert?

du kannst dir für deine signalerzeugung mal den AT90PWM316 anschaun 
(oder die geschwister davon): schnelle PWM-erzeugung mit über intern 
PLL-generierte 64Mhz timertakt

ich selber beginne gerade mit einem DSP56364, ist zwar veraltet, hat 
aber mehr als genug rechenleistung und mehr als 16 bit, was für audio 
vorteilhaft sein kann - leider ist das zugehörige demoboard offenbar 
nicht mehr aufzutreiben, auf mein posting in diesem forum weiter unten 
hat niemand geantwortet
Gast #2789011
Lesenswert?

Es gibt nun auch ein Launchpad mit dem Piccolo (TMS320F28027) für 
unschlagbare 17$ !
http://www.ti.com/tool/launchxl-f28027?DCMP=c2x-launchpad&HQS=c2x-launchpad-b

Ein JTAG Emulator (XDS100) sitzt schon auf dem Board mit drauf und die 
CCS5 Version ist scheinbar auch uneingeschränkt nutzbar.

Nachteil scheint zu sein, dass man den Emulator nicht abtrennen kann wie 
bei einem Discovery oder Xpresso :-(
Gast #2789071
Lesenswert?

Ich möchte mich da auch mal mit rein hängen und habe ein paar behämmerte 
Neuling-Fragen.
a) gibt es ein paar gute Tutorials wie man das ganze mit Matlab oder 
alternativen anfängt
b) ich hab gelesen dass es frühestens mit der Matlabversion 2008 läuft, 
ich habe hier allerdings einen hüstel etwas alten Rechner für diese 
Zwecke am laufen der durch seinen veralteten Chipsatz maximal 2007 zum 
laufen bringt. Hat jemand Erfahrungen ob es damit auch funktioniert?
c) habe ich das richtig verstanden, dass man einen kompletten DSP mit 
den Tools simulieren kann und keine Hardware benötigt? Mir ist klar dass 
ein Simulationsprogramm keine echte Hardware in Dingen Geschwindigkeit 
ect. ersetzt, es soll nur zu Lernzwecken dienen.


Mir gehts momentan nicht darum irgendein Projekt zu realisieren sondern 
einfach nur darum mal reinzuschnuppern.
Gast #2789144
Lesenswert?

Spell schrieb:
> a) gibt es ein paar gute Tutorials wie man das ganze mit Matlab oder
> alternativen anfängt

Empfehlen kann ich keins, aber es sollte unter den "paar" wo Guuugl 
liefert schon ein vernünftiges dabei sein:
www.google.de/search?q=matlab+tutorial+filetype%3Apdf

Spell schrieb:
> b) ich hab gelesen dass es frühestens mit der Matlabversion 2008 läuft,
> ich habe hier allerdings einen hüstel etwas alten Rechner für diese
> Zwecke am laufen der durch seinen veralteten Chipsatz maximal 2007 zum
> laufen bringt. Hat jemand Erfahrungen ob es damit auch funktioniert?

Du kannst auch ganz normal in C/C++ auf Deinem PC programmieren. Ist 
meiner Erfahrung nach sowieso performanter. Und das "bischen" sollte 
fast jeder Rechner hinbekommen, wenn Du nicht gerade in Echtzeit 
hochkomplizierte Videoverarbeitung machst. Audio geht definitiv.

Spell schrieb:
> c) habe ich das richtig verstanden, dass man einen kompletten DSP mit
> den Tools simulieren kann und keine Hardware benötigt? Mir ist klar dass
> ein Simulationsprogramm keine echte Hardware in Dingen Geschwindigkeit
> ect. ersetzt, es soll nur zu Lernzwecken dienen.

Im Normalfall tust Du NICHT einen DSP simulieren. Du rechnest nur die 
gleichen Dinge wie er auf einem PC. Du kannst z.B. einfach ein Micro an 
Deinen PC anschließen, einen Lautsprecher und dann ein Programm 
schreiben dass Dir das Micro ausliest...deine Signalverarbeitung 
durchführt und dann wieder auf den Lautsprechern ausgibt. Tataaaa, 
fertig.

Gleiches würde auch mit einer kleinen Webcam gehen, nur halt 2 
Dimensional.

Du kannst also Dinge auf dem PC ziemlich leicht testen/implementieren 
ohne Dich in eine spezielle Hardware einarbeiten zu müssen oder noch 
schlimmer entwerfen zu müssen.
Ist also gerade für einen Anfänger auf jedenfall einfacher, da es 
wirklich um die Signalverarbeitung geht und nicht darum wie ich dem ADC 
die Werte entlocke.
Gast #2789190
Lesenswert?

Ok, du meinst also man sollte sich erstmal auf die allgemeine Anwendung 
der Algorithmen beschränken und nicht gleich versuchen mit Spielerein 
auf einer bestimmten Hardware anzufangen. Ich hatte gehofft dass die 
Simulationssoftware sowas ähnliches wie Keil ist und spezielle DSP´s 
Emulieren kann. Ich hatte mich bisher mal bei Analog Devices umgeschaut.
Danke erstmal für deine schnelle Antwort.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren