vielleicht kann mir hier ja mal jemand weiterhelfen. Mit einem DSP
Ich
te sie mischen. Der Wandler liefert die Signale im Zweier-Komplement.
durch beispielsweise zwei senken nicht den Pegel ab, sondern verzerren nur das Signal. Also Audiopegel / 2 = Krach, und nicht etwa -6dB.
h suchen kann, auch die DSP-Literatur hier half mir nicht weiter, frage ich also hier. Vielleicht hat hier ja schon mal jemand mit DSP einen
Didn't find your answer? Ask the community — no account required.
R
Rafael Deliano
Nicht das 1 Bit Rohsignal sondern 16 Bit @ 40kHz vermutlich. Und da wird kein Problem mit Aliasing sein.
Ein ASR-Shift-Opcode der das 2er-Komplement Vorzeichen richtig verarbeitet ?
Entwicklungsumgebung nicht zu.
MfG JRD
A
Alfred Gemsa
Am 11.06.2016 um 21:10 schrieb Holger:
Richtige Byte-Order?
Alfred.
H
Holger
Alfred Gemsa schrieb:
rte
Nein, denn die Reihenfolge der Datenbits bleibt erhalten. Ich vermute eher dieses: Ich habe es mit Wandlern zu tun, die einen Bitstrom erzeugen und entgegennehmen, als Bitstream, den ich aber wie PCM
heraus
ich dann im Assembler des DSP schreibe und implementiere.
Ist das "PCM" ein Telefon-Codec von ehedem, d.h. 8 Bit nichtlinear u-law / a-law das man auf 12 Bit linear wandeln kann/muss ?
formatting link
sich typisch fertig in ApplicationNotes.
Auf 8 Bit Controller verwendet man Tabellen. Decoder per Tabelle ist trivial ( 2x 256 Byte ).
MfG JRD
H
Holger
Rafael Deliano schrieb:
den ich
w
Nein, ein 1-Bit-Wandler, der Bitstreams erzeugt.
Holger
R
Rafael Deliano
/ Signale aus einem Sigma-Delta-Wandler verarbeiten. / Der Wandler liefert die Signale im Zweier-Komplement.
2er-Komplement in 1 Bit ist eher selten.
Man kann sich z.B. das Datenblatt des Harris HSP43220 ansehen. Das high order decimation Filter ist meist ein CIC:
formatting link
Harris "Multirate Signal Processing"
formatting link
Crochiere, Rabiner "Multirate Digital Signal Processing"
formatting link
MfG JRD
H
Holger
Rafael Deliano schrieb:
Seiten an Texten zum Thema zu lesen. Der Sigma-Delta-Modulator ist allenfalls kryptisch und mathematisiert dokumentiert, aber wenn ich schon Summenbildungen von -unendlich bis +unendlich dargestellt bekomme, wiederum mit Funktionen als Summanden, die ich nicht nachvollziehen kann, dann haben die Autoren ein grundlegendes Prinzip des Lernens nicht
chlicher Realisierung, und das man dann ins Detail gehen kann.
er
wird
Das ist genauso nett wie die Beschreibung der Funktionsweise eines
a11, a12, b11 und b12, und der Transistor funktioniert eben a11, a12, b11 und
b12, aha. Aber wieso leitet der Transistor zwischen Kollektor und
1
, a12, b11, b12? Wo finde ich a11, b11, a12 und b12 auf dem Chip? Und dann
11 und b12. Aber nirgendwo einen Autoren, der sich meiner erbarmt und mir
orschicht und
ellt
,
rrt.
em
nung
so
ump
haufenweise Nullen produziert und zwischendrin mal ein paar Einsen. Das
kt
t
ystematik
. Sonst kann ich keinen Algorithmus finden, der mir die Frage beantwortet,
jetzt jedenfalls diese: Ich stelle mir eine Treppe vor, auf der ein Schritt nach oben "1" bedeutet, ein Schritt nach unten hingegen "0". Das
Zweierkomplement aus? Das verstehe ich noch nicht.
Holger
R
Rafael Deliano
Ich vermute wenn es der Ausgang eines Sigma-Delta Audio-A/D-Wandlers
MfG JRD
H
Holger
Rafael Deliano schrieb:
container
t.
Nein, es ist ein DSP56ADC16 von Motorola. Das ist nicht das Ding,
t
, MSB first.
OK.
chen was
Der Wandler funktioniert. Mit einem DSP kann ich mir dessen Ausgabe als Hexdump ansehen, und ich kann dessen Bitstream auch auf einen DAC geben,
der damit brauchbares Audio reproduziert. Mich interessiert nicht die Instandsetzung, es funktioniert ja alles. Mich interessiert das Protokoll, nach dem der Bitstream zu lesen ist, und zweitens, wie ich das alles nach PCM umsetze, damit ich das Signal mal filtern, mal
swerten kann.
Holger
I
Ingo Paschke
Mit google findet man leicht das Datenblatt. Da steht 16 Bit, fractional
2's complement, MSB first. *fractional*.
Was das bedeutet, findet google auch schnell, z.B.:
formatting link
"For this reason, when you are using the assembler or debugger, you will see decimal values (ranging from -32768 to 32767) on screen instead of the fraction being represented. The conversion is simple; the fractional number being represented is simply the decimal value shown divided by 32768"
(wie man damit rechnet, steht im Link)
Ingo.
R
Rafael Deliano
Auf Anhieb habe ich nur das "Advanced" Datenblatt gefunden
16:1 Decimation Comb ( Frequenzgang Fig. 4 ) und ein optionaler
4:1 Decimation FIR ( Frequenzgang Fig. 5 ) Es kommen also schon PCM-Daten 16 Bit seriell, MSB first, Datenformat 2er-Komplement raus. Ich vermute du hast ein Evaluation Board und es ist kein Fehler in Hardware zu erwarten.
data output". Fractionals wurden speziell von TI auf DSPs gerne verwendet,
formatting link
Empfehle:
periodisch sind damit man Daten zum Testen hat.
nach Fractionals bei TI und NEC 7720 googlen. Motorola
MfG JRD
H
Holger
llcontainer
ist.
sagt
egt,
l
l see
fraction
g
Danke. Das hilft mir schon weiter. Nur stellt sich die Frage, wie ich diese Zahlen nach PCM konvertiere. Wenn ich sehe, diese Zahlen stellen "fractional 2's complement" dar, komme ich dann auf PCM-Werte, wenn ich
ale Filter zu bauen, welche die Daten aus dem DSP56ADC16 verstehen.
en.
Holger
S
Sieghard Schicktanz
Hallo Holger,
Du schriebst am Mon, 13 Jun 2016 20:22:34 +0200:
[Sigma-Delta-ADC]
Garnicht - das _ist_ PCM (Pulse Code Modulation), was diese Dinger produzieren.
Das ist nur eine Skalierung - normalerweise ist der Code-Wert eines solchen
llung.
ger
16 Bit direkt
hnen.
ale
Genau, skaliert mit 1/32K kommt da ein Wert aus dem Bereich -1,000...+1,000 'raus, aber das ist nur eine andere Darstellungsweise. Du kannst genauso
der durch den Skalenfaktor dividieren, um im Ausgangswertebereich zu bleiben.
Ist es auch, kann jeder DSP ohne irgendwelche Hilfsmittel direkt.