Digitale FM-Demodulation im komplexen Basisband

OP #1951402
Lesenswert?

Hallo,

ich implementiere zur Zeit eine digitale FM im komplexen Basisband, d.h. 
ich habe ein I- und ein Q-Signal, wobei eines der beiden amplitudenmäßig 
verfälscht ist, was korrigiert werden muss. Dies bewerktstelligte ich 
durch Normierung mit der Standardabweichung, welche proportional zum 
Amplitudenfehler ist. Bei der Demodulation entschied ich mich für einen 
Verzögerungsdemodulator. Leider liefert er noch nicht das gewünschte 
Ergebnis (die letztendliche Normierung mit k*T habe ich noch nicht 
gemacht, jedoch habe erkenne ich an den Vorzeichen, dass mein Ergebnis 
nicht stimmen kann).
1
function[ret] = fmdemodulator (I,Q)
2

3
% FM-Demodulator für komplexe Basisbandsignale
4

5

6
% Normierung zur Elimination des Amplitudenfehlers
7
% mittels der Varianz (var ~ Fehler^2)
8
varI = var(I);
9
varQ = var(Q);
10

11
%if...
12
I = I./sqrt(varI);
13
Q = Q./sqrt(varQ);
14
 
15
clear varI;
16
clear varQ;
17

18
% AM-Unterdrückung
19

20
norm = sqrt(I.^2 + Q.^2);
21
I = I./norm; 
22
Q = Q./norm ;
23
I_left = [0 ; I(1:(end-1) , 1) ];
24
Q_left = [0 ; Q(1:(end-1) , 1)];
25

26
ret = asin ( Q_left.*I - I_left.*Q );

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