Forum: Projekte & Code Audio Spektrum Analyzer mit ATtiny85


von c-hater (Gast)



Lesenswert?

Also, ich hatte da mal absolut keine Idee mehr für ein wirklich 
nützliches Projekt und habe mich deshalb entschieden, mal sowas wie das 
"Buddelschiff" der µC-Programmierung zu bauen. Also einen 
Audio-Spektrum-Analyzer mit einem 8Pin-ATtiny.

Aber natürlich den Bestmöglichen, der mit so einem ATtiny machbar ist, 
es sollte ja trotzdem noch eine Herausforderung sein, sonst macht die 
ganze Programmiererei ja keinen Spass.

Und das (siehe Anhänge) ist dabei herausgekommen...

Noch ein paar Anmerkungen dazu:

Wer wirklich die Sache mit dem WS2812B-Display anstrebt, sollte 
unbedingt den Kühlungsaspekt gebührend berücksichtigen. Die Kühlung des 
Protoypen (4x Messing-U-Profil 6x6x82,5) reicht z.B. definitiv NICHT 
für einen Dauerbetrieb mit voller Helligkeit.

Auch bezüglich des Energiebedarfs sollte man diese kleine Platine 
keinesfalls unterschätzen. Für einen zuverlässigen Betrieb im Rahmen 
dessen, was mit der Kühlung des Protoypen möglich ist, sollte es schon 
eine 5V/3A-Wandwarze sein. Ohne LEDs, also als "Koprozessor" ist die 
Sache hingegen vollkommen unkritisch, dann reichen ca. 50mW Versorgung.

In Testprogramme.zip existiert ein Unterordner DisplayTest. Der enthält 
eine Firmware zur Funktionskontrolle für die schrittweise 
Bestückung/Inbetriebnahme des LED-Displays. Namenskonvention: 
AnzahlBins_AnzahlLED/Bin.
Der Unterordner Firmware enthält fertige Firmwares zum schnellen Testen 
(z.B. zum Betrieb als Koprozessor), ohne sich mit dem Designer 
beschäftigen zu müssen. Namenskonvention: 
AnzahlBins_AnzahlLED/Bin_RS232an/aus.

Der 12,5Hz-Bin, den es im Prototyp noch gibt, ist absolut verzichtbar, 
wenn es um die Visualisierung von Musik geht. Da passiert bei üblicher 
Musik eh' praktisch nix. Deswegen habe ich ihn im Eagle-Projekt auch 
gleich weggelassen. Übrigens: Im Video des Protoypen sieht es so aus, 
als wenn da doch etwas nennenswertes passiert. Das liegt aber nur daran, 
dass der für die Aufnahme als Zuspieler verwendete CD-Player aus 
unerfindlichen Gründen am LineOut fast 10dB zu "laut" ist.

Wenn das Teil über den COM-Port angeschlossen und schon beim Systemstart 
aktiv ist, neigt Windows dazu, fälschlicherweise eine serielle Maus zu 
erkennen, irgendeinen "Microsoft Ballpoint". Da nur die Wenigsten 
tatsächlich noch serielle Mäuse einsetzen werden, ist die einfachste 
Lösung, den für die Erkennung zuständigen Dienst zu deaktivieren. 
Console als Administrator öffnen und folgendes Kommando absetzen:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\sermouse" /V Start /T 
REG_DWORD /F /D 4
Beim nächsten Reboot sollte der Spuk dann vorbei sein.

###############################################################

Ich möchte noch folgenden Leuten danken, die entweder einen Beitrag zur 
Firmware des Controllers oder der Designer-Anwendung geleistet haben:

Ruud v. Gessel für seine AVR8ASM Sqrt32-Routine. Quelle:
http://members.chello.nl/j.beentjes3/Ruud/sqrt32avr.htm
"josh" für seine Untersuchungen zum Zeitverhalten der WS28xx. Quelle:
https://wp.josh.com/2014/05/13/ws2812-neopixels-are-not-so-finicky-once-you-get-to-know-them/
Erik de Castro für den Resampler. Quelle:
http://www.mega-nerd.com/SRC/
David Wohlferd, Eric Nowinski, Øystein Hansen, Ka-Wai Chan für ihre 
DirectShowLib. Quelle:
http://directshownet.sourceforge.net/

Des weiteren habe ich zur Inbetriebnahme/Verifikation der 
Hardware/Firmware bzw. zur Erstellung der Dokumentation folgende 
Hilfsmittel benutzt, für die ich ihren jeweiligen Schöpfern hiermit 
ebenfalls danken möchte:

https://www.audiocheck.net/download.php?filename=Audio/audiocheck.net_PinkNoise_15min.mp3
http://www.satsignal.eu/software/audio.html#SweepGen
https://www.musicfox.com/download-kostenlos.php?file=musicfox_roadstar.mp3

von MaWin (Gast)


Lesenswert?

Hübsch. Hätte nicht erwartet dass ein 85 dafür genügend RAM hat.

von c-hater (Gast)


Lesenswert?

MaWin schrieb:

> Hübsch. Hätte nicht erwartet dass ein 85 dafür genügend RAM hat.

RAM war niemals das Problem. Das Problem war, die Sache in die Echtzeit 
zu bekommen. So ein Tiny kann ja nichtmal in Hardware multiplizieren. 
Angefangen habe ich mit ca. 220% Echtzeit...

Das dann auf unter 100% zu drücken, war die eigentliche Herausforderung.

von E-Ing (Gast)


Lesenswert?

Nettes Projekt! Verstehe ich das jetzt richtig: Der FrontEnd Designer 
generiert den Programmcode? Als Quelltext (Assembler?) oder gleich ein 
Hex File?

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> RAM war niemals das Problem. Das Problem war, die Sache in die Echtzeit
> zu bekommen. So ein Tiny kann ja nichtmal in Hardware multiplizieren.
> Angefangen habe ich mit ca. 220% Echtzeit...

Schön, dass keine Socke Deine genialen Ideen nachvollziehen kann. 
HEX-Files - wie lustig :-). Die sind genau so spannend, wie die Videos 
(nur eines mit Ton ...)

von OssiFant (Gast)


Lesenswert?

Schlimm wäre ja, wenn man Elm Chan's Handschrift erkennen würde :-)

von c-hater (Gast)


Lesenswert?

E-Ing schrieb:

> Nettes Projekt! Verstehe ich das jetzt richtig: Der FrontEnd Designer
> generiert den Programmcode?

Naja, nicht wirklich. Er ersetzt nur im originalen *.hex der jeweiligen 
"Basic design"-Variante drei Daten-Tabellen. Die Originalcodes sind 
dabei exakt die, die ich ich in "Testprogramme.zip" im Unterordner 
"Firmwares" veröffentlicht habe.

> Als Quelltext (Assembler?) oder gleich ein
> Hex File?

Komische Frage. Du kanst nur "*.hex" speichern. Und du kannst problemlos 
mit einem Editor in die gespeicherten Dateien hinein schauen. Was also 
steckt da drin... ???

Beitrag #5862929 wurde von einem Moderator gelöscht.
Beitrag #5862932 wurde von einem Moderator gelöscht.
Beitrag #5862936 wurde von einem Moderator gelöscht.
Beitrag #5862944 wurde von einem Moderator gelöscht.
Beitrag #5862945 wurde von einem Moderator gelöscht.
von E-Ing (Gast)


Lesenswert?

c-hater schrieb:
> Komische Frage. Du kannst nur "*.hex" speichern.

Ich hatte das Programm nicht ausprobiert, da ich (heute) kein Windows zu 
Hand habe. Erklärt das die Frage? Natürlich sind jetzt viele scharf auf 
den Quelltext. Möchtest du ihn veröffentlichen?

Beitrag #5862967 wurde von einem Moderator gelöscht.
Beitrag #5862974 wurde von einem Moderator gelöscht.
von c-hater (Gast)


Lesenswert?

OssiFant schrieb im Beitrag #5862945:
> c-hater schrieb im Beitrag #5862944:
>> Was ich an fremden Leistungen tatsächlich benutzt habe, habe ich
>> ordentlich dokumentiert,
>
> Wo - im Hex-File?

Im OP gleich hier. Nur ein bissel Scrollen nach oben im Browser und 
einen Maus-Klick entfernt...

Ja, Danksagungen sind (wie üblich) erst am Ende des Postings. Sorry for 
inconvinience. Die Fratzenbuch-Generation kann wohl nicht SO weit 
scrollen. Dafür reicht deren Aufmerksamkeits-Spanne wohl nicht...

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Im OP gleich hier. Nur ein bissel Scrollen nach oben im Browser und
> einen Maus-Klick entfernt...

OssiFant schrieb im Beitrag #5862967:
> Nun ich kann im "Überblick" auch auf Newton, Einstein, Rutherford ...
> keine Ahnung wen hinweisen - und mich bekannter Algorithmen/Codestrecken
> bedienen. So lange mein Code nicht einsehbar ist kann ich alles
> behaupten.

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Ja, Danksagungen sind (wie üblich) erst am Ende des Postings. Sorry for
> inconvinience. Die Fratzenbuch-Generation kann wohl nicht SO weit
> scrollen. Dafür reicht deren Aufmerksamkeits-Spanne wohl nicht...

Nun - mit Fratzebuch (nicht Fratzenbuch) habe ich nur peripher (US 
-Verwandte) zu tun. Ansonsten meide ich solche "Verbindungen".
Meine "Aufmerksamkeits-Spanne" reicht für Deine "Aktionen" sicher aus 
:-)

von c-hater (Gast)


Lesenswert?

OssiFant schrieb im Beitrag #5862967:

> Nun ich kann im "Überblick" auch auf Newton, Einstein, Rutherford ...
> keine Ahnung wen hinweisen

Kann man, wenn man ein Lügner ist. Bin ich aber nicht. Deswegen 
erscheinen dort genau die Namen genau der Personen, deren Algorithmen 
ich tatsächlich verwendet habe.

Im übrigen: Du hast das Hex-File und das Executable der 
Windows-(.net!)-Anwendung.
Beides läßt sich mit wenigen Handgriffen in durchaus leserlichen Code 
verwandeln.

Natürlich nur von Nicht-Vollidioten.

Dementsprechend: Nur Vollidioten können auf die Idee kommen, dass ich 
angesichts dieser Tatsachen geneigt wäre, meinen Ruf durch leicht zu 
entlarvende Lügen zu gefährden...

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Im übrigen: Du hast das Hex-File und das Executable der
> Windows-(.net!)-Anwendung.
> Beides läßt sich mit wenigen Handgriffen in durchaus leserlichen Code
> verwandeln.

Lustig - zeig mal den aus dem Hex-Code erzeugten (leserlichen) Code mit 
Anmerkungen zur verwendeten Filterarchitektur etc.

Wen willst Du hier veralbern? Lasse bitte den Thread schließen und gut. 
Copy-Kings haben wir hier genug.

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Dementsprechend: Nur Vollidioten können auf die Idee kommen, dass ich
> angesichts dieser Tatsachen geneigt wäre, meinen Ruf durch leicht zu
> entlarvende Lügen zu gefährden...

Das solltest Du Dir mal genauer durchlesen - insbesondere die Stelle mit 
dem "Ruf".

von c-hater (Gast)


Lesenswert?

OssiFant schrieb:

> Lustig - zeig mal den aus dem Hex-Code erzeugten (leserlichen) Code mit
> Anmerkungen zur verwendeten Filterarchitektur etc.

Nö, Anmerkungen gibt's darin natürlich nicht. Aber genug Stoff für jeden 
Nicht-Vollidioten, um vollkommen zweifelsfrei die verwendeten 
Algorithmen zu identifizieren. Inbesondere dann, wenn die Architektur 
des Software bereits bekannt ist, was hier ja zutrifft.

Verdächtig wäre höchstens noch das, was danach über bleibt.

Da wirst du aber keine FFT drin finden. Viel zu kurz, viel zu wenig 
RAM-Zugriffe und diese viel zu irregelär. Das wäre jedenfalls mir sofort 
klar, wenn es mein Job wäre, dieses reverse engineering zu machen. 
Allerdings: ich bin Profi...

Jeder Nicht-Vollidiot kann übrigens sogar ganz ohne Quelltext oder 
Binary locker herausbekommen, dass das mit ElmChan's Code auf einem Tiny 
(ohne Hardware-Multiplikation!) niemals funktionieren könnte...

Aber das nur nebenbei...

von c-hater (Gast)


Lesenswert?

OssiFant schrieb:

> Das solltest Du Dir mal genauer durchlesen - insbesondere die Stelle mit
> dem "Ruf".

Mein Ruf ist nicht, besonders nett zu sein, falls du das meinst.

Mein Ruf ist aber auch: immer die Wahrheit zu sagen. Das bringt leider 
mit sich, das man immer irgendjemandem auf die Zehen tritt. Aber hier 
sehe ich Allgemeinwohl höher priorisiert als das Wohl Einzelner. Allein 
Fakten zählen. Auch wenn das für gewisse Einzelpersonen bedeuten mag, 
dass sie als Lügner, Provakateure oder schlicht auch nur als Dummköpfe 
entlarvt werden.

von c-hater (Gast)


Lesenswert?

E-Ing schrieb:

> Ich hatte das Programm nicht ausprobiert, da ich (heute) kein Windows zu
> Hand habe. Erklärt das die Frage? Natürlich sind jetzt viele scharf auf
> den Quelltext. Möchtest du ihn veröffentlichen?

Ich habe geschwankt, ob ich das tue. Ich hatte mich vorläufig dagegen 
entschieden, aber die Option offen gehalten. Ossifant allerdings hat 
mich in meinen Bedenken gegenüber einer Veröffentlichung so sehr 
bestärkt, dass ich zumindest derzeit klar sagen würde: NEIN.

Die Klugen werden ihre Wege finden, an den Code zu kommen (die Wege 
dahin sind aufgezeigt, es gib keine künstlichen Hindernisse) und den 
Dummen möchte ich nix schenken ausser dem Ansporn, klüger zu werden, 
d.h.: zu lernen.

von Uhu U. (uhu)


Lesenswert?

Die häßliche Wahrheit wird sein, dass er das in C zusammengeschustert 
hat und sich wegen seines unterirdischen Programmierstils nicht traut, 
den Quelltext heraus zugeben…

Beitrag #5863079 wurde von einem Moderator gelöscht.
Beitrag #5863097 wurde von einem Moderator gelöscht.
von c-hater (Gast)


Lesenswert?

Uhu U. schrieb:
> Die häßliche Wahrheit wird sein, dass er das in C zusammengeschustert
> hat und sich wegen seines unterirdischen Programmierstils nicht traut,
> den Quelltext heraus zugeben…

Wenn du das wirklich glaubst: Mach' es doch einfach in C! ;o)

Ich garantiere: Der Quelltext wurde zu keiner Zeit in irgendeiner Form 
mit C kontaminiert. Das ist reiner urwüchsiger Assemblercode.

Merkt man übrigens auch sehr leicht, wenn man sich das Binary anschaut. 
Weit und breit nix von dem Overhead eines C-Compilers zu sehen. Und er 
funktioniert (übrigens: zu einem nicht ganz unwesentlichen Teil gerade 
auch deswegen!) hervorragend...

Tip: mal die ISRs anschauen. Die sind ja über ihre Vektoren sehr leicht 
zu finden und obendrein recht kurz. Mach' allein das mal in C...

Damit meine ich: So, dass dann auch der Rest des Code noch 
funktioniert...

LOL

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Tip: mal die ISRs anschauen.

Gerne - wenn ich mal den Quellcode habe.

von c-hater (Gast)


Lesenswert?

OssiFant schrieb im Beitrag #5863079:

> Ach Du machst FFT ohne FFT

Nö. Ich mache einfach nur keine FFT.

Gortzel-Filter sind zwar, genau genommen, Spezialfälle einer FT (darauf 
willst du wohl hinaus), aber eben keine FFT, wie man sie üblicherweise 
versteht.

von c-hater (Gast)


Lesenswert?

OssiFant schrieb:
> c-hater schrieb:
>> Tip: mal die ISRs anschauen.
>
> Gerne - wenn ich mal den Quellcode habe.

Den hast du.

Der Code ist 100% Assembler. D.h.: das Wesentliche steht genauso im 
Binary, wie es auch im Quelltext steht. Du hast nur nicht die Kommentare 
und die Symbole.

von Uhu U. (uhu)


Lesenswert?

c-hater schrieb:
> Ich garantiere: Der Quelltext wurde zu keiner Zeit in irgendeiner Form
> mit C kontaminiert.

Grins…

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

Also ich fände es auch gut, wenn der Quellcode hier verfügbar wäre. Ich 
kann die Bedenken verstehen, aber wenn du für deinen Quellcode 
angemeckert werden solltest, ist es wenigstens fachlich und nicht 
personenbezogen.
Ehrlich gesagt erhoffe ich mir auch aus dem Code ein paar 
wiederverwendbare Zeilen Kopieren zu können. Assemblersourcen sind 
leider selten geworden, und als Bastler schäme ich mich auch nicht 
fremde Codeschnipsel zu kopieren und zu verwenden.
Ansonsten Danke fürs veröffentlichen.

von c-hater (Gast)


Lesenswert?

Fred F. schrieb:

> Ehrlich gesagt erhoffe ich mir auch aus dem Code ein paar
> wiederverwendbare Zeilen Kopieren zu können.

Das kannst du weitestgehend vergessen. Das ist hochoptimierter Code. 
"Hochoptimiert" meint: bestmöglich auf genau den einen konkreten 
Verwendungszweck angepasst.

Das ist hier nötig, damit es überhaupt möglich wird, dass die Sache 
insgesamt funktionieren kann. Dazu mussen nämlich alle nötigen 
Berechnungen zumindest im Mittel schneller erfolgen, als die Ereignisse 
passieren. Dazu kommen dann noch die Timings-Restriktionen durch 
konkurrierenden Rechenzeitbedarf, hier speziell die Ausgabe an die 
WS2812B-LEDs.

Du kannst nicht erwarten, dass ein Code, der gerade so das theoretisch 
überhaupt machbare umsetzt, dann auch noch problemlos für andere Zwecke 
nutzbar ist.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Janee, is klaa.

Hmmm...das hier:
> Die Samples werden dafür pro
> Oktave jeweils über einen Halbbandfilter (Butterworth Tiefpass
> 3. Ordnung) gefiltert und dann 2:1 reduziert.

Klingt ja aber schon so ein bisschen, wie das was ich hier mal gemacht 
hab' - ok ging jetzt bei mir auch ohne den Herrn Goertzel, dafuer noch 
mit Multiplizierer im Filter:

Beitrag ""LED-Spectrumanalyzer"software ohne Fouriertransformation"

Aber ist halt nicht so superdupergeheim, und ist kein so ganz 
reinrassiger Assembler (die Vorfahren waren nachweislich C) und nicht 
ganz so hochoptimert.
Wobei ich derweilen glaub', man muesste sowas entsprechendes auch mit 
etwas simpleren Filtern auf einem attiny13a hinkriegen fuer z.b. eine 3 
Kanal-Lichtorgel. RAM wird da wohl etwas knapp, aber naja...

Gruss
WK

von c-hater (Gast)


Lesenswert?

Dergute W. schrieb:

> Klingt ja aber schon so ein bisschen, wie das was ich hier mal gemacht
> hab' - ok ging jetzt bei mir auch ohne den Herrn Goertzel, dafuer noch
> mit Multiplizierer im Filter:
>
> Beitrag ""LED-Spectrumanalyzer"software ohne Fouriertransformation"

Ja, das geht immerhin von einem Aspekt des Grundkonzepts her tatsächlich 
in dieselbe Richtung. Da ist also immerhin schon deutlich mehr Substanz 
drin als im völlig hirnlosen Schwachsinn des Ossifanten mit seiner 
ElmChan-Copy-Theorie...

Aber, wie du schon selber herausgefunden hast: das Multplizieren ist 
einer der Knackpunkte. Einen anderen führst du im damaligen Thread auch 
noch selber an: die Lastverteilung der Rechenzeit.

Nun, ich habe mit meinem Konzept offensichtlich beide Probleme 
hinreichend gut gelöst.

Außerdem: Hast du mal die Kennlinie deiner Lösung aufgenommen? Und mit 
meiner verglichen?

Fazit: Nur, weil etwas so ungefähr dasselbe machen soll, ist es noch 
lange nicht das Gleiche. ;o)

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Da ist also immerhin schon deutlich mehr Substanz
> drin als im völlig hirnlosen Schwachsinn des Ossifanten mit seiner
> ElmChan-Copy-Theorie...

Beweise das Gegenteil :-) - Du laberst doch nur ...

von Mario (Gast)


Lesenswert?

Opensource geht anders...

von OssiFant (Gast)


Lesenswert?

Mario schrieb:
> Opensource

Openpups nennt sich das hier :-)

von OssiFant (Gast)


Lesenswert?

Die Frontend-Gui hat er bestimmt auch in Assembler programmiert - 
Hardcore eben ;-)

von Jan (Gast)


Lesenswert?

>>Die Frontend-Gui hat er bestimmt auch in Assembler programmiert - Hardcore eben 
;-)

Das wäre ihm zu einfach gewesen. Das hat er mit den cpu microcodes 
hinbekommen und optimiert bis zum geht nicht mehr.

von Julian B. (julinho)


Lesenswert?

Nettes Projekt.
Wie wird das Audiosignal gesampelt, über den Komparator?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Mario schrieb:
> Opensource geht anders...

Ja, aber vor dir hat ja keiner was davon gesagt.

Klar rechnet man auch nicht unbedingt in einem 5wingerclub damit, dass 
einer seinen Schluepper nicht ausziehen will, weil er so gschamig ist, 
aber wenn das dann so ist, dann ist das halt so.
Und wenn er dann sagt, dass er den nicht ausziehen will, um die Leute 
nicht zu erschrecken, weil sein Gemaecht so riesig ist, dann muss man 
das wohl auch akzeptieren.

Gruss
WK

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Dergute W. schrieb:
...
> Klar rechnet man auch nicht unbedingt in einem 5wingerclub damit, dass
> einer seinen Schluepper nicht ausziehen will, weil er so gschamig ist,
> aber wenn das dann so ist, dann ist das halt so.
> Und wenn er dann sagt, dass er den nicht ausziehen will, um die Leute
> nicht zu erschrecken, weil sein Gemaecht so riesig ist, dann muss man
> das wohl auch akzeptieren.
...

ROTFLPMP

Hast Du das Copyright für den Spruch? Darf man den weiterverwerten?

...

Ich finde das Projekt interessant, allerdings ohne die Quelltexte in der 
Rubrik "Projekte & Code" nicht optimal platziert.

Die Frage ist halt - was will der TO erreichen? Nur zeigen, was er kann, 
um an Aufträge zu kommen (mache ich z.B. so auf meiner Website)?

Öffentlich gelobt werden?

Einen Hackerwettbewerb auslösen?

Vielleicht haben wir eine Chance auf die Quelltexte, wenn wir alle 
zusammen im Chor ganz lieb "bitte, bitte" rufen?

von Dieter (Gast)


Lesenswert?

Ganz nettes Projekt. Allerdings hätte ich doch gerne für Frequenzen über 
12,5+ kHz eine Anzeige. Aber es können durchaus >12,5+ ...30kHz 
zusammengefaßt werden in einen Bereich. Hintergrund ist die Eignung des 
Gerätes zur Erkennung von UltraschallMarderSchreckGeräten und ähnlichen 
Geräten.

von W.S. (Gast)


Lesenswert?

Marcus H. schrieb:
> Vielleicht haben wir eine Chance auf die Quelltexte, wenn wir alle
> zusammen im Chor ganz lieb "bitte, bitte" rufen?

Leute,

regt euch doch nicht auf. Wozu auch?
Das sollte aus dem Eröffnungspost doch ganz eindeutig hervorgehen:

"Also, ich hatte da mal absolut keine Idee mehr für ein wirklich
nützliches Projekt und habe mich deshalb entschieden, mal sowas wie das
"Buddelschiff" der µC-Programmierung zu bauen."

Klaro?
Es ist ne nette Spielerei, wo durchaus auch einiges an Gehirnschmalz 
drinsteckt und wer will, kann es für sich benutzen. Die Hexfiles sind ja 
vorhanden.

Es war von Anfang an eben NICHT als allgemeine Lösung für die weitere 
Verwendung anderenorts gedacht, sondern eben als nette Spielerei. Und 
das ist ihm auch gut gelungen.

Erwartet ihr von jedem ne Lernbetty, um dann über selbige herziehen zu 
können?

Noch ein Wort an den Ossifanten: Du bist derjenige, der hier herumlabert 
und versucht, Streß zu machen. Laß das besser bleiben.

W.S.

von c-hater (Gast)


Lesenswert?

Dieter schrieb:

> Ganz nettes Projekt. Allerdings hätte ich doch gerne für Frequenzen über
> 12,5+ kHz eine Anzeige.

Hast du. Du musst nur Kennlinien lesen lernen, dann siehst du das 
auch...

> Aber es können durchaus >12,5+ ...30kHz

Nö, können es nicht sein. Da die Samplefrequenz 38,5kHz ist, liegt die 
Grenzen dessen, was mit digitaler Signalverarbeitung mit eindeutiger 
Abbildung möglich ist, bei 19,25 kHz. Googlefutter zu deiner 
Aufschlauung: Shannon, Nyquist, Abtasttheorem.

Tatsächlich führt das aber in der konkreten Schaltung dazu, dass du doch 
auch Sachen im US-Bereich sehen kannst. Die verzichtet nämlich wegen des 
angestrebten Minimalismus auf den normalerweise obligatorischen 
Anti-Alias-Filter vor dem Eingang des ADC.
Also: du kannst zwar sehen, dass da irgendwas sein muss, aber du kannst 
das Signal nicht mehr eindeutig einem Frequenzbereich zuordnen.

> Hintergrund ist die Eignung des
> Gerätes zur Erkennung von UltraschallMarderSchreckGeräten und ähnlichen
> Geräten.

Dafür brauchst du dann halt was, was mit deutlich mehr als knapp 40kHz 
samplen kann. Der Tiny kann das nicht. Mit der von mir gewählten 
Samplerate ist er am Limit. Das kann man leicht daran erkennen, dass 
auch völlig ohne Eingangssignal sich gelegentlich was im 12,8kHz-Bin 
tut. Das, was man da sieht, ist das gequälte Rauschen eines ADCs, der an 
der Grenze seiner Spezifikation betrieben wird.
Und das führte dann zur Erfindung der "Sticky peaks". ;o)

von c-hater (Gast)


Lesenswert?

Julian B. schrieb:

> Wie wird das Audiosignal gesampelt, über den Komparator?

Nö. Ganz normal über den ADC. Allerdings ganz am Rand seiner 
Spezifikation...

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Dieter schrieb:
> Allerdings hätte ich doch gerne für Frequenzen über
> 12,5+ kHz eine Anzeige. Aber es können durchaus >12,5+ ...30kHz
> zusammengefaßt werden in einen Bereich.

Wie von c-hater schon angedeutet: Bau ein (analoges) Bandpassfilter mit 
z.b. Durchlass von 19KHz...38KHz davor, fertsch. Die einzelnen 
Frequenzen der Filter musst du halt noch umrechnen, fuer was die dann 
jeweils stehen.

c-hater schrieb:
> Das kann man leicht daran erkennen, dass
> auch völlig ohne Eingangssignal sich gelegentlich was im 12,8kHz-Bin
> tut. Das, was man da sieht, ist das gequälte Rauschen eines ADCs, der an
> der Grenze seiner Spezifikation betrieben wird.

Ich glaub' eher, dass "das was man da sieht" die Sauereien von 
Controller und LEDs auf Vcc (und damit auch Vref und von R1 und R2 um 
6dB gedaempft aufm ADC in) sind. Ist aber erstmal eine reine 
Glaubensfrage.

Gruss
WK

von c-hater (Gast)


Lesenswert?

Dergute W. schrieb:

> Ich glaub' eher, dass "das was man da sieht" die Sauereien von
> Controller und LEDs auf Vcc (und damit auch Vref und von R1 und R2 um
> 6dB gedaempft aufm ADC in) sind. Ist aber erstmal eine reine
> Glaubensfrage.

LEDs kann ich ausschließen, auch die Versorgung. Ich habe natürlich auch 
einen Prä-Protoypen ganz ohne das LED-Geraffel. Ich bin doch nicht 
bekloppt, und bestücke 88 WS2812B von Hand auf Streifenleiter, bevor ich 
sicher weiss, dass die Sache überhaupt in der Praxis funktionieren 
wird...
Zusätzlich hatte ich die Möglichkeit, dieses Teil aus einer hochpräzisen 
(wenn auch wenig leistungsfähigen) Laborquelle zu versorgen.

Also: entweder stammt's vom von der MCU oder vom ADC. Ich tippe aber 
ganz stark auf den ADC, denn mit einer weiteren Verdoppelung des 
ADC-Taktes...

Alles klar?

von c-hater (Gast)


Lesenswert?

Dergute W. schrieb:

> Bau ein (analoges) Bandpassfilter mit
> z.b. Durchlass von 19KHz...38KHz davor, fertsch. Die einzelnen
> Frequenzen der Filter musst du halt noch umrechnen, fuer was die dann
> jeweils stehen.

Wäre eine Möglichkeit. Besser wäre wohl ein Mischer, der das höhere 
Frequenzband in den NF-Bereich umsetzt. Ich habe nämlich keine Ahnung, 
wie weit der verwendete interne Verstärker mitspielt, der ja vor dem ADC 
liegt. Bis 20kHz ist er ja offensichtlich noch gut linear, aber 
irgendwann wird er  beginnen zu schwächeln, das ist so sicher wie das 
Amen in der Kirche.

Atmel/MC verrät leider keinerlei Details darüber, wann ungefähr das der 
Fall sein könnte.

Aber so eine Anwendung (also eine nach deinem Vorschlag) wäre eine 
wunderbare Möglichkeit, das mal "auszuklingeln". Ich vermute, daß das 
Schwächeln irgendwo in diesem Frequenzbereich zwischen 20 und 40kHz 
anfangen wird. Aber, nicht falsch verstehen: das ist wirklich nur eine 
reine Vermutung. Bestenfalls ein "educated guess". Ich hab's nie 
gemessen.

von HildeK (Gast)


Lesenswert?

c-hater schrieb:
> Bis 20kHz ist er ja offensichtlich noch gut linear, aber
> irgendwann wird er  beginnen zu schwächeln, das ist so sicher wie das
> Amen in der Kirche.

Ja, davon ist auszugehen. Bei den µC-AD-Wandlern wird man kaum 
Anstrengungen machen, deutlich oberhalb von der max. möglichen 
Abtastfrequenz noch Bandbreite in den Eingangsteil zu designen.

Bei dezidierten AD-Wandlern ist das manchmal anders. Der AD9042 z.B. 
(vor 25 Jahren mal eingesetzt - analoges TV-ZF) kann 100MHz Analog-BB 
und 41 MSPS.

von OssiFant (Gast)


Lesenswert?

@C-Hater

Falls Du gewillt bist zu antworten (ggf. sogar ohne verbale 
Entgleisungen :-):

Du rechnest ca. 3850 Samples pro Kanal?

Du rechnest einen Kanal nach dem anderen (also aktuell 10)?

Hintergrund: Ich werde das mal in C umsetzen - nutze dann aber auch eine 
16-Bit-Mul-Routine analog Deiner SQR-Routine aus "Fremdfertigung" :-). 
Da ist GCC wirklich zu langsam (im Standard).

von OssiFant (Gast)


Lesenswert?

W.S. schrieb:
> Noch ein Wort an den Ossifanten: Du bist derjenige, der hier herumlabert
> und versucht, Streß zu machen. Laß das besser bleiben.

Ja. In Deinem Fall.

von c-hater (Gast)


Lesenswert?

OssiFant schrieb:

> Du rechnest ca. 3850 Samples pro Kanal?

Nein.

> Du rechnest einen Kanal nach dem anderen (also aktuell 10)?

Nein.

> Hintergrund: Ich werde das mal in C umsetzen

Wollen wir wetten? Ich sage: das wirst du nicht.

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Ich sage: das wirst du nicht.

Schaun mer mal :-)

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
>> Du rechnest ca. 3850 Samples pro Kanal?
>
> Nein.

Damit hast Du Recht - es braucht mindestens die doppelte Sample-Rate um 
die 12,5 Hz erkennen zu können. Aber das kann man für die oberen 
Frequenzbänder dynamisch reduzieren.

c-hater schrieb:
>> Du rechnest einen Kanal nach dem anderen (also aktuell 10)?
>
> Nein.

O.K., dann 2 - vielleicht 3 Kanäle pro Sample :-). Um den Koeffizienten 
wirst auch Du nicht herumkommen und vermutlich Q15 nutzen.

von Brummbär (Gast)


Lesenswert?

Um mal kurz online (habe gerde nicht die Möglichkeit, irgendetwas zu 
installieren) über den Code schauen zu können, bräuchte ich statt Intel 
Hex reines Binary. Online Disassebler gibt es ja einige, nur Hex 
Converter habe ich jetzt auf die Schnelle nicht gefunden.

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Wollen wir wetten? Ich sage: das wirst du nicht

Werde ich doch - der Weg ist halt "steinig" :-)

Prima Gehirn-Jogging. Was wettest Du?

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Wollen wir wetten?

Ich warte immer noch auf Dein Wett-Angebot. Dafür würde ich mich sogar 
anmelden :-)

Ich schlage

https://www.gourmondo.de/champagner-schaumwein/moet-chandon/champagner-brut-imperial-6-flaschen-vorteilspaket-2000003609?et_cid=10&et_lid=11&et_sub=SMGC10&gclid=Cj0KCQjwi43oBRDBARIsAExSRQEHOoNyW-J3QC0ei8nfxu-8ec7cfbLcPboFFWA2GScqepT-aC-qJa4aAuUAEALw_wcB

vor. Immerhin 15,50 € gespart :-)

Wie lange hast Du gebraucht? Schreib jetzt nicht "2 Stunden" - glaubt 
Dir sowieso niemand. Ich brauche noch ein Weilchen, weil ich nebenbei 
auch noch arbeite.

Mach mal einen Vorschlag.

von OssiFant (Gast)


Lesenswert?

Du bist doch sicher, dass ich verliere.

Dann kann es Dir die "berühmte Kiste Champagner" (noch eine der 
günstigsten) doch wert sein - oder?

von c-hater (Gast)


Lesenswert?

OssiFant schrieb:

> Ich warte immer noch auf Dein Wett-Angebot.

Das war eher rhetorisch gemeint. Vergiß die Wette.

> Du bist doch sicher, dass ich verliere.

Das auf jeden Fall. Liegt einfach daran, dass du mich des Plagiats von 
ElmCan's FFT-Code bezichtigt hast, wobei jeder, der auch nur 
andeutungsweise was von der Sache versteht, problemlos erkennen kann, 
dass das unmöglich die Basis meiner Lösung sein kann.

Jemand, der so wenig Ahnung hat, ist garantiert nicht in der Lage, meine 
Lösung auch nur nachzubauen, schon garnicht in C...

Alles, was du kannst, ist: Copy&Paste. Ist nur Scheiße, wenn man keine 
Vorlage dafür hat, stimmt's... ;o)

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Alles, was du kannst, ist: Copy&Paste. Ist nur Scheiße, wenn man keine
> Vorlage dafür hat, stimmt's... ;o)

Wenn Du so sicher bist: Einverstanden?

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Das war eher rhetorisch gemeint. Vergiß die Wette.

Nein - ich sehe da einen gewissen Anreiz. Machst Du einen Rückzieher?

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Jemand, der so wenig Ahnung hat, ist garantiert nicht in der Lage, meine
> Lösung auch nur nachzubauen, schon garnicht in C...

Deine Lösung ist mir Wurscht - außer, dass auch ich auf Görtzel aufbauen 
werde. Die von Dir verwendeten ISR's habe ich mir angeschaut - nichts, 
was mich beeindrucken würde.

von OssiFant (Gast)


Lesenswert?

Den Rest Deines Codes schaue ich mir nicht weiter an - das ist mir zu 
mühselig. Mag er in Frieden ruhen :-). Das ist sowieso nicht meine Welt 
- und auch nicht erforderlich.

von c-hater (Gast)


Lesenswert?

OssiFant schrieb:

> Deine Lösung ist mir Wurscht - außer, dass auch ich auf Görtzel aufbauen
> werde.

Du gibst hier gerade zu, dass du mich fälschlicherweise öffentlich des 
Plagiats des ElmChan-Codes bezichtigt hast. Mit deinen bisherigen 
Einlassungen hättest du dich wahrscheinlich noch auf Unwissen rausreden 
können, das ist jetzt vorbei.

D.h.: Du hast gerade zugegeben, ein Lügner, Verleumder und Provokateur 
zu sein. ein ziemlich unfähiger noch dazu, aber darüber sehe ich mal 
gnädig hinweg...

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> Du hast gerade zugegeben, ein Lügner, Verleumder und Provokateur
> zu sein.

Ich habe gar nichts zugegeben - und warte immer noch auf Dein 
Wettangebot.

Wenn Du nichts offen legst musst Du halt mit Mutmaßungen leben :-)

Ich habe nichts von Plagiat geschrieben - nur von Nutzung. Ich brauche 
mich auch nicht herauszureden - warum auch?

Also - wie steht es mit der Wette?

von OssiFant (Gast)


Lesenswert?

c-hater schrieb:
> ein ziemlich unfähiger noch dazu, aber darüber sehe ich mal
> gnädig hinweg...

Wie fähig oder unfähig kannst Du ja leicht feststellen :-) Auf Deine 
"Gnade" kann ich gut verzichten.

Also reg Dich ab und schlag ein.

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

@ OssiFant, die Rubrik hier ist Projekte und Code, wenn du stänkern 
willst geh bitte in die Rubriken A&B; Offtopic oder devnull. Die sind 
extra für Leute die auf Krawall gebürstet sind.
Und wenn du den c-hater nicht mags, was dir auch gegönnt sei, schreib 
ihm ne PM.

von OssiFant (Gast)


Lesenswert?

Fred F. schrieb:
> @ OssiFant, die Rubrik hier ist Projekte und Code, wenn du stänkern
> willst geh bitte in die Rubriken A&B; Offtopic oder devnull. Die sind
> extra für Leute die auf Krawall gebürstet sind.
> Und wenn du den c-hater nicht mags, was dir auch gegönnt sei, schreib
> ihm ne PM.

Was geht Dich unsere Wette an? Ich bin nicht auf Krawall gebürstet und 
möchte die Wette gerne gewinnen (wenn sie denn zustande kommt). C-Hater 
schreibt, dass es in C nicht möglich ist - ich behaupte das Gegenteil. 
Hat das nichts mit Projekte und Code zu tun?

von OssiFant (Gast)


Lesenswert?

Fred F. schrieb:
> @ OssiFant

Falls Dich der Nickname stört kann ich gerne auf Wessifant oder 
Smörebröd umsteigen :-)

von OssiFant (Gast)


Lesenswert?

Fred F. schrieb:
> Und wenn du den c-hater nicht mags, was dir auch gegönnt sei, schreib
> ihm ne PM.

Das ist eine Unterstellung - vieles von dem, was er schreibt hat Hand 
und Fuß. Nur verrennt er sich oft in seinen C-Hass :-)

von OssiFant (Gast)


Lesenswert?

OssiFant schrieb:
> Fred F. schrieb:
>> Und wenn du den c-hater nicht mags, was dir auch gegönnt sei, schreib
>> ihm ne PM.
>
> Das ist eine Unterstellung - vieles von dem, was er schreibt hat Hand
> und Fuß. Nur verrennt er sich oft in seinen C-Hass :-)

Ich kann mit Cholerikern umgehen (auch solchen, die mich "...ein Lügner, 
Verleumder und Provokateur...oder Vollidiot ..." nennen). Irgendwann 
werden die wieder ruhig und man kann sich sachlich unterhalten.

von OssiFant (Gast)


Lesenswert?

Fred F. schrieb:
> Ehrlich gesagt erhoffe ich mir auch aus dem Code ein paar
> wiederverwendbare Zeilen Kopieren zu können.

Hast Du Dir Görtzel mal angeschaut? Falls nicht schau mal hin. Und dann 
frage Dich, wie C-Hater wohl mit dem "Koeffizienten" für 10 - 11 
Frequenzen umgeht (in ca. 416 Takten). O.K. er entzerrt das etwas, indem 
er niedrigere Frequenzen mit einer gerechneten geringeren 
Sample-Frequenz abtastet - aber auch das will bedacht sein.

von OssiFant (Gast)


Lesenswert?

OssiFant schrieb:
> Hast Du Dir Görtzel mal angeschaut? Falls nicht schau mal hin.

Wenn Du dazu etwas sagen / schreiben kannst freue ich mich auf Deine 
Rückmeldung.

von Frank D. (Firma: Spezialeinheit) (feuerstein7)


Lesenswert?

Ich finde es einfach nicht gut, wenn Threads hier zugemüllt werden. 
Gerade hier in Projekte und Code. Dein Wunsch nach einem Gefecht kannst 
du per PM klären, meinetwegen auch in mc & Elektronik. Hier sucht man 
gerne mal eine aktuelle Version oder vergleichbares. Da stören solche 
Wortgefechte gewaltig. Daher möchte ich mich hier auch nicht weiter an 
der Produktion von sinnlosen Plaudereien beteiligen.

von OssiFant (Gast)


Lesenswert?

Fred F. schrieb:
> Daher möchte ich mich hier auch nicht weiter an
> der Produktion von sinnlosen Plaudereien beteiligen.

Verstehe ich - wenn Du nichts beizutragen hast.

von OssiFant (Gast)


Lesenswert?

Fred F. schrieb:
> Gerade hier in Projekte und Code.

... sollte es um konkrete Projekte und den dazu gehörigen Code gehen. 
Nicht um irgendwelche Hex-Dateien. Aber egal - auch dazu bzw. der 
Intention kann man sich Gedanken machen (oder auch nicht). Auch wenn 
C-Hater das meint bin ich nicht der "Copy-King" - da sollten sich hier 
Andere angesprochen fühlen.

Du solltest Dich zurückhalten - oder hast Du schon etwas eigenes 
beigetragen?

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Na, hier ist ja ein lustiger Saunaclub. Der eine hat so ein grosses und 
spezielles Gemaecht, dass er's nicht herzeigen mag, der andere mag 
Seines nur herzeigen gegen kistenweise alkoholische Getraenke...
O tempora, o mores!

SCNR,
WK

von MWS (Gast)


Lesenswert?

Dergute W. schrieb:
> Der eine hat so ein grosses und
> spezielles Gemaecht, dass er's nicht herzeigen mag, der andere

Da gibt's keinen "einen" und "anderen", die gehören beide zusammen und 
spielen Gegner um ein wenig Aufmerksamkeit zu erhaschen. Der Schreibstil 
des "Ossifant" entspricht in etwa dem des "c-hater"s und der "c-hater" 
wiederum erscheint hier regelmäßig mit betont aggressivem und 
ausfallendem Auftreten um - was sonst wohl - Aufmerksamkeit zu erhalten. 
Und nur darum geht's.
Das ist alles nur Show.

von Elfrun (Gast)


Angehängte Dateien:

Lesenswert?

avr-objdump -m avr -D 11_8_1.hex > disas.txt

von c-hater (Gast)


Angehängte Dateien:

Lesenswert?

Ich konnte die Implementierung des Hammingfensters noch mal etwas 
verbessern. Sehr groß ist der Unterschied nicht, aber immerhin sichtbar.

von Dergute W. (derguteweka)


Angehängte Dateien:

Lesenswert?

Moin,

c-hater schrieb:
> Sehr groß ist der Unterschied nicht, aber immerhin sichtbar.

Wenn man mal das Bild aus dem ersten Beitrag und das Bild ueber Diesem 
voneinander abzieht, werden die Unterschiede sichtbarer.

Gruss
WK

von Fiete H. (Gast)


Lesenswert?

Das Projekt zeigt mal wieder was mit kleinen 8Bittern effizient 
Assembler-programmiert alles möglich ist. Chapeau!

von Johann J. (johannjohanson)


Lesenswert?

c-hater schrieb:
> Sehr groß ist der Unterschied nicht, aber immerhin sichtbar.

Sind das Messwerte von einem Sweep mit dem Attiny oder errechnete Werte?

von c-hater (Gast)


Lesenswert?

Johann J. schrieb:

> Sind das Messwerte von einem Sweep mit dem Attiny oder errechnete Werte?

Es sind die Werte, die ein funktionsgleicher Nachbau des µC Codes auf 
dem PC liefert. So eine Art Simulator.

Das ist deutlich weniger aufwendig als eine Messung am lebenden Objekt 
und geht auch viel schneller.

von Johann J. (johannjohanson)


Lesenswert?

c-hater schrieb:
> Es sind die Werte, die ein funktionsgleicher Nachbau des µC Codes auf
> dem PC liefert. So eine Art Simulator.

Ah - vielen Dank. Ich frage, weil ich einen Signalgenerator dran gehängt 
habe und eine etwas andere Charakteristik feststelle (gebe auf HTERM 
aus). Da muss ich wohl noch an meinem Aufbau arbeiten.

Leider bekomme ich den Analyzer nicht dazu, Werte/Balken anzuzeigen. Das 
Programm habe ich dort heraus generiert und geflasht. Die serielle 
Ausgabe funktioniert - aber der Analyzer stellt sich taub. Woran kann 
das liegen? Wenn ich auch "HW(11 bins)..." klicke wird der darunter 
stehende Quer-Balken grün, aber es tut sich sonst nichts.

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Johann J. schrieb:

> Leider bekomme ich den Analyzer nicht dazu, Werte/Balken anzuzeigen. Das
> Programm habe ich dort heraus generiert und geflasht. Die serielle
> Ausgabe funktioniert - aber der Analyzer stellt sich taub. Woran kann
> das liegen? Wenn ich auch "HW(11 bins)..." klicke wird der darunter
> stehende Quer-Balken grün, aber es tut sich sonst nichts.

Wenn der Balken grün wird (und grün bleibt), dann bedeutetet das, dass 
erstens eine Startlücke erkannt wurde und zweitens, dass ein Datenstrom 
mit mindestens der geforderten Zahl Bytes (also Bins) regelmäßig 
eingeht, also ohne eine Lücke, die größer als die Framezeit ist. Sprich: 
Daten kommen rein wie erwartet, alles ist OK.

Wenn sich trotzdem nix tut, kann das dann eigentlich nur noch genau drei 
Ursachen haben:
1) Es kommen nur Null-Bytes.
2) Du hast keine Farben festgelegt.
3) Du hast die Farbeinstellung nicht übernommen.

Wobei 2) und 3) dasselbe bewirken, nämlich den Effekt der Ostfriesischen 
Nationalflagge (schwarzer Adler auf schwarzem Tuch). ;o)

von Johann J. (johannjohanson)


Lesenswert?

c-hater schrieb:
> Wobei 2) und 3) dasselbe bewirken, nämlich den Effekt der Ostfriesischen
> Nationalflagge (schwarzer Adler auf schwarzem Tuch). ;o)

Ich wusste schon immer von meiner geheimen Vorliebe für die Ostfriesen 
:-/

Ich sehe jetzt schon mal hübsche Farben - irgendwo habe ich wohl immer 
noch einen bug. Vielen Dank erstmal :-)

von Elfrun (Gast)


Lesenswert?

Hier alles etwas größer:
http://subms.com/projects/led_wall_viz

Beitrag #5896941 wurde von einem Moderator gelöscht.
von c-hater (Gast)


Angehängte Dateien:

Lesenswert?

c-hater schrieb:

> Ich habe geschwankt, ob ich das tue. Ich hatte mich vorläufig dagegen
> entschieden, aber die Option offen gehalten.

Auf Grund der Diskussion hier:

Beitrag "Ergebnisse einer FFT zusammen fassen"

Habe ich mich entschieden, die Sache jetzt wenigstens in Teilen zu 
veröffentlichen. Hier erstmal der verwendete Halbbandfilter. Im Design 
habe ich die rechenzeitkritischen Sachen hervorgehoben, der Asm-Code 
zeigt meine Lösung dafür.

Das Bild für die Implementierung zeigt, was neben dem Verlust durch den 
grundsätzlich schon recht "schwachen" Filter noch durch die 16Bit-fixed 
point-Implementierung verloren geht. Wirklich nicht gut, aber 
offensichtlich doch gut genug...

von Apollo M. (Firma: @home) (majortom)


Lesenswert?

Wo kommt der Filterdesigner (HB_Design) her?

von c-hater (Gast)


Lesenswert?

Apollo M. schrieb:
> Wo kommt der Filterdesigner (HB_Design) her?

Das Originalprogramm hatte ich mal irgendwo im Internet gefunden. Leider 
weiss ich nicht mehr wo und finde es jetzt auch nicht wieder.

Bei dem gezeigten Programm handelt es sich allerdings um eine 
fehlerbereinigte und auf meine Bedürfnisse angepasste 
Neuimplementierung. Geschrieben in VB.net von mir selber.

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.