digitale Signale effizient in oberes und unteres Band legen

Gast #746553
Hallo,

vielleicht übersehe ich hier etwas geradezu tragisch einfaches:
ich habe ein digitales Signal s1[n] mit 128 samples
dann habe ich ein zweites ebenfalls mit 128 samples.
Beide komplex

Nun will ich die beiden im Frequenzbereich kombinieren so dass
das eine Signal im unteren und das andere im oberen Frequenzbereich 
liegt:

also intuitiv würde ich das so machen

(matlab)

F1 = fft(s1);
F2 = fft(s2);
s3 = ifft([F1,F2];

jetzt hab ich aber 3 Fourier Transformationen,
das muss doch auch direkt im Basisband gehen.
ich weiss: null einfügen und dann filtern aber
einen "perfekten" filter gibt es ja nicht und es muss doch sicher eine 
einfache Möglichkeit geben
(so etwas wie aufmodulieren im analogen)

ein test:

s1 = exp(j*(1:128)/5)
s2 = exp(j*(1:128)/2)
F1 = fft(s1);
F2 = fft(s2);
s3 = ifft([F1,F2]);
figure
plot(abs(fft(s1)))
figure
plot(abs(fft(s2)))
figure
plot(abs(fft(s3)))
Gast
Am einfachsten müsste es gehen, wenn Du 2 komplexwertige Bandpässe 
entwirfst.  Jedes Signal wird mit einem der Bandpässe gefiltert und das 
Ergebnis addiert.

Bandpass 1 filtert die linke Seite des Spektrums von Signal 1 weg.
Bandpass 2 filtert die rechte Seite des Spektrums von Signal 2 weg.

Das ganze läuft vollständig im Zeitbereich.

Gruß,
ajax
Gast
genau das mit den Bandpässen wollte ich vermeiden
und dachte das es vielleicht einen einfachen Trick gibt um mit
extrem wenig Aufwand das Zeitsignal zu errechnen....
Gast
>genau das mit den Bandpässen wollte ich vermeiden

Hab ich in Deinem Text gar nicht gesehen, dass Du das vermeiden 
wolltest.
Ich hätte noch einen 2ten Vorschlag:

1. FIR-Tiefpass mit 128 Stüztstellen
2. Transformation in die 2 Bandpässe durch Multiplikation mit e^j(+-)wt

Danach wie gehabt.

>und natürlich ist das mit den FFT's extrem "sauber" so sauber kriegt man
>das mit Filterung einfach nicht hin....

nur theortisch, zeig mal die Spektren.
In der Analogtechnik hieße das ganze "independent Sideband modulation". 
Für die Einseitenband-Erzeugung gibt es zwei Verfahren, die schon 
genannte Filterung oder die Phasenmethode.
Dazu wird das gesamte Signalband um 90 Grad in der Phase geschoben, was 
für breite Frequenzbänder, wie z.B ein Sprachsignal, nicht ganz einfach 
ist. Dann hat man noch einen Oszillator der als Sinus und Cosinus 
vorliegen muß und zwei Mischer.

Digital wäre das eine Hilpert-Transformation als Phasenschieber und zwei 
Multiplikationen.
Gast
Wenn Du das mit der Verschiebung eines Tiefpasse mit der komplexen 
Modulationsfunktion machst, erhälts Du genau das gleich wie mit der 
Hilbertransformation. Die ist sozusagen implizit mit drin.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.