Ich habe eine Frage zur Pulsformung.
Es liegt eine diskrete Folge an Symbolen vor. Als Beispiel sei b(k) = [0
1 1 0 1] eine Folge an Symbolen. Die Abtastrate eines DA-Wandlers sei T.
Das Signal wird K-Fach überabgetast. Ein Filter p zur Pulsformung kommt
zum Einsatz (zB. https://de.m.wikipedia.org/wiki/Raised-Cosine-Filter)
Ist das Ausgangssignal durch s = conv(upsample(b(k),K),p) oder s =
conv(rectpulse(b(k),K),p) ? Betrachte ich das Spektrum von s im
Frequenzbereich, dann ist die erste Nullstelle bei T oder K•T (gesehen
für den raised cosine Filter). Vielleicht hat einer ein Beispiel zur
Klärung meiner Frage. Gruß
Moin,
Ich wuerde zu der "upsample" Methode tendieren, und nicht die mit dem
rectpuls.
Die NICAM-Spezifikation EN300163 find' ich persoenlich sehr angenehm
hemdsaermelig - dort in der Fig.6 gibts vor den "data-shaping filters"
(hier root-raised-cosine) noch jeweils den Block "NRZ to impulse
converter, der eben die eher rechteckigen Signale aus dem "Differential
encoder" in lustige kleine Diracstoesse verwandelt, die dann das Filter
jeweils anstossen.
Wuerde man mit den rechteckigen Signalen in die Filter gehen, saehe das
Spektrum anders aus, bzw. man muesste die Filter so umdimensionieren,
dass sie auf Anregung mit einem Rechteck mit ihrer rrc-typischen Antwort
reagieren.
Gruss
WK
Vielen Dank wk. Zur Bandbreite: nehme ich die Abtastrate 1/T durch den
da konverter als konstant an, ergibt sich aus einer "fälschlicher Weise
benannten k fachen überabtastung" eine maximale Bandbreite von 1/(KT)
korrekt ? Nullstellen meines Filters liegen bei 1/(KT) bei raised cosine
Filter. Sehe ich das richtig ?
Moin,
Ja, die Bandbreite des Ausgangssignals wird von den
"Pulsformungsfiltern" bestimmt. Deshalb sind die ja hauptsaechlich da.
Bei dem NICAM-Beispiel sind das z.B. Tiefpaesse mit 182kHz Grenzfrequenz
(siehe Fig.5) - macht dann eine Kanalbandbreite des NICAM-Signals von
182kHz*2=364kHz. Die ist unabhaengig von dem Takt, mit dem z.b. der
Carrier (und damit auch das Ausgangssignal) abgetastet ist.
Gruss
WK
Ich habe da noch eine Frage an "Dergute Weka". Du sagtest, du würdest
die "upsamle()" Methode bevorzugen. Folgendes Beispiel:
b(k) = [0 1 0 1]
T = 1/(10 MHz)
K = 5;
-> b'(k) = [0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1]
Das ungefilterte Signal belegt eine 'unendliche' Bandbreite im Spektrum.
Die erste Nullstelle des Amplitudenspektrums liegt bei 1/T (10 MHz) bzw.
-1/T (-10 MHz).
Jetzt wendet man eine Filterfunktion p an. Die Bandbreite wird auf B
eingeschränkt. Im Fall des Raised Cosine Filters
(https://de.m.wikipedia.org/wiki/Raised-Cosine-Filter) liegen die
Nullstellen bei -B und B. Für B = 20 MHz, bei -10 MHz und 10 MHz.
s = conv(rectpulse(b(k),K),p); bzw. s = conv(upsample(b(k),K),p);
bewirkt eine Filterung.
Fall 1;
s = conv(upsample(b(k),K),p);
s = conv([0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0],p);
Fall 2;
s = conv(rectpulse(b(k),K),p);
s = conv([0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1],p);
Für den Fall B -> oo wird das Filter im Zeitbereich gegen einen Dirac
laufen. Im "Fall 1" ergibt die Faltung von upsample(b(k),K) und p gerade
b(k). Im "Fall 2" ergibt die Faltung von rectpulse(b(k),K) und p
hingegen b'(k). Im Bereich zwischen B = 10 MHz und B -> oo erkennt man
gut das Gibbssches Phänomen
(https://de.wikipedia.org/wiki/Gibbssches_Ph%C3%A4nomen).
Demnach verstehe ich nicht, wieso man "upsample()" nehmen kann. Ich wäre
dankbar, wenn du mir einen Fehler/Grund aufzeigen kannst.
Moin,
Student schrieb:> Ich habe da noch eine Frage an "Dergute Weka". Du sagtest, du würdest> die "upsamle()" Methode bevorzugen.
Duerfen gerne auch alle anderen mitmachen, ich bin nicht unfehlbar ;-)
Ich find' den upsample() an der Stelle deshalb korrekt, weil's eben eine
Ueberabtastung ist. Schrubst du ja in deinem ersten Post selbst.
Das mit dem rectpulse() ist gegenueber dem upsample() alleine eine
Kombination aus upsample() und einem FIR Filter mit diesen
Koeffizienten: [1,1,1,1,1].
Dieses FIR Filter kommt aber ja eher zufaellig daher - OK, das macht
auch irgendwie eine Bandbegrenzung. Aber wenn tatsaechlich
Bandbegrenzungen gefordert sind, dann ueblicherweise mit definierten
Bandgrenzen, um eben Nachbarkanaele nicht zu sehr zu stoeren. Nicht als
Abfallprodukt einer schlecht ausgefuehrten Ueberabastung.
Gruss
WK
Dann habe ich wohl den Begriff der überabtastung falsch verstanden. Ich
dachte bisher: eine Folge an Rechteckpulsen der Pulsdauer 1/10MHz muss
ich gemäß abtasttheorem mit mindestens 20 MHz abtasten. Mit einer
überabtastung von 4 würde die Abtastrate für das Signal 4•20 MHz
betragen.
Korrigiert mich bitte. Aus diesem Grund versteh ich den Fall mit
"upsample()" nicht, da im Fall B (Bandbreite des Pulsformers gegen oo)
das Signal gefaltet mit dem Pulsformer gegen diracs läuft. Und nicht wie
in meinem Beitrag erwähnt gegen ein Rechteck. Bring da wohl was
durcheinander.
Moin,
Wie immer: Kommt halt drauf an, was du haben willst.
Rechteckpulse sind halt nun mal Rechteckpulse. Aber im ersten Post steht
nix von Rechteckpulsen, sondern von einer diskreten Folge von Symbolen.
Und so'n Symbol seh' ich eher als kein Rechteckpuls, sondern einen
Dirac (zumindest bei 1bit breiten Symbolen). Mehrere Symbole
hintereinander sind dann eine Reihe von Diracstoessen von mir aus mit
unterschiedlicher Gewichtung, je nach Symbol (kann man jetzt noch
ueberlegen, ob 0 und 1 da "schoen" sind, oder eher -1 und 1). Und
zwischen den Diracstoessen ist erstmal nix, bzw. man weiss es vielleicht
nicht genau - oder, wenn man weiss, dass das Abtasttheorem nicht
verletzt wurde, weiss man's ganz genau, wie's zwischendrinnen ausssieht:
Sicher nicht rechteckig.
Aber das wird auch erst dann interessant, wenn man eben ueberabtastet.
Anders siehts aus, wenn du keine Symbole hast, sondern tatsaechlich
irgendwie einen Signalverlauf, z.b. auch Rechteckpulse. Wenn du echte
Recheckpulse hast, kannst du die garnicht vernuenftig abtasten, wg.
Verletzung des Abtasttheorems, weil 'n Rechteck nicht bandbegrenzt ist.
Sowie du's bandbegrenzt, ist's kein Rechteck mehr.
Aehh - wo wollt ich jetzt drauf raus? Was war noch das Problem? :-D
Gruss
WK