Welche Auswirkung hat Aliasing auf die Größe der Autokorrelation?


8

Ich habe eine Frage zu den Auswirkungen von Aliasing auf die Größe von Autokorrelationen. In einer Simulation in MATLAB sehe ich keinen Effekt von Aliasing oder die Notwendigkeit eines Anti-Alias-Filters, wenn ich die Größe der Autokorrelation nehme. Das heißt, ich kann die Daten unterabtasten und dann die Autokorrelation durchführen. Es gibt einen Artikel "Auswirkungen von Aliasing auf spektrale Momentschätzungen, der aus der vollständigen Autokorrelationsfunktion abgeleitet wurde", der so etwas wie das sagt, was ich behaupte. Würde mich bitte jemand informieren, wenn ich einen Fehler gemacht habe?

Antworten:


4

Die Dezimierung vor der Berechnung der Autokorrelation bei Vorhandensein von Rauschen ist der Berechnung der Autokorrelation unter Verwendung des vollständigen Datensatzes unterlegen. Angenommen, das interessierende Signal ist in weißes Rauschen eingebettet. Der Vektor besteht aus Abtastwerten eines diskreten Zufallsprozesses. Die Autokorrelationsfunktion des Vektors ist:x [ n ]x[n],n=0,1,...,N1x[n]

Ax[k]=1Nki=0N1kx[i]x[i+k]

Das heißt, ist die Verzögerung, die für die Autokorrelationsberechnung verwendet wird. In Ihrem vorgeschlagenen Szenario werden Sie durch einen Faktor , der die Autokorrelationsfunktion Ausgang dezimieren (dh kalkulieren Sie nur die Funktion für Lags ) und das Ergebnis an die Autokorrelationsfunktion des Vergleichens dezimiert um den gleichen Faktor . Sei die dezimierte Folge; seine Autokorrelationsfunktion ist:D 0 , D , 2 D , . . . x [ n ] D x d [ n ]kD0,D,2D,...x[n]Dxd[n]

Axd[k]=DNki=0N1kDx[iD]x[(i+k)D]

(Der Einfachheit halber habe ich hier angenommen, dass ein Faktor von in der obigen Gleichung ist)N.DN

Ihre Anfrage kann geschrieben werden als:

Ax[kD]?Axd[k]

1NkDi=0N1kDx[i]x[i+kD]?DNki=0N1kDx[iD]x[(i+k)D]

Wenn man dies qualitativ betrachtet, hat die Summation auf der linken Seite mehr Begriffe als ihr Gegenstück auf der rechten Seite. Wenn stationär zweiter Ordnung ist, ist der erwartete Wert jedes Terms in jeder Summe der gleiche; Durch die Mittelung mehrerer Abtastwerte mit demselben erwarteten Wert wird das Signal-Rausch-Verhältnis erhöht. Etwas anders ausgedrückt können Sie sich die Begriffe in jeder Summe als Stichproben aus einem neuen zufälligen Prozess vorstellen:x[n]

y[n]=x[n]x[n+kD]

Da das in vorhandene Rauschen weiß ist, ist der erwartete Wert von die wahre Autokorrelation des interessierenden Signals bei Verzögerung . Daher möchten wir den erwarteten Wert von genau schätzen . Unsere Methode hierfür ist die Berechnung eines Stichprobenmittelwerts. Es kann leicht gezeigt werden, dass die Varianz im Stichprobenmittelwertschätzer bei einer größeren Stichprobengröße abnimmt und gegen den tatsächlich erwarteten Wert konvergiert, wenn die Anzahl der Stichproben dazu neigt, sich zu .y [ n ] k D y [ n ] x[n]y[n]kDy[n]

Wenn also weißes Rauschen im Signal vorhanden ist (was häufig der Fall ist), erhalten Sie eine bessere Schätzung der Statistiken zweiter Ordnung des zugrunde liegenden Signals, indem Sie eine größere Stichprobengröße in der Berechnung verwenden (dies klingt möglicherweise intuitiv offensichtlich). Im Kontext Ihrer beiden Ansätze wird dies erreicht, indem das vollständige, nicht dezimierte Signal in der Autokorrelationsberechnung verwendet und anschließend dezimiert wird (dh nur das Ergebnis für bestimmte Verzögerungswerte berechnet wird).


Vielen Dank. Sie haben Recht, aber bei meinem Signal ist es nicht das vorherrschende Problem. Mein Problem ist hauptsächlich der Effekt des Aliasing. Sie haben erklärt, dass ein vollständiges Nicht-Dezimierungssignal besser sein kann, aber wenn wir den Effekt des Aliasing verringern wollen, sollten wir noch mehr Samples nehmen, beispielsweise zwei (3) Mal die Anzahl der Samples, und dies erhöht die Komplexität wirklich.
Hossein

2

Kommt mir etwas komisch vor. Das folgende Matlab-Skript vergleicht die "heruntergetastete Autokorrelation" mit der "Autokorrelation der heruntergetasteten Signale". Für duale Sinuswellen kommt dies tatsächlich ziemlich nahe (relativer Fehler von etwa -50 dB), aber für weißes Rauschen ist es einfach falsch (relativer Fehler> +6 dB). Obwohl es einen gewissen Rechenvorteil geben kann, ist mir nicht klar, wie nützlich die heruntergetasteten Autokorrelationen selbst im Fall der dualen Sinuswelle sind. Die Peaks im Spektrum erscheinen immer noch an der falschen Stelle.

% script to check whether autocorrelation is immune to aliasing
% create two sine waves at 18k and 21k (assuming sample rate of 444.1k) 
n = 8192;
t = (0:n-1)'/44100;
x = sin(2*pi*t*21000)+sin(2*pi*t*18000);
% calculate autocorrelation of original signal and one that's downsampled
% by 4 and thus heavily aliased
y = xcorr(x,x);
y2 = xcorr(x(1:4:end),x(1:4:end));
d = y(4:4:end)-4*y2;
% calculate the error in dB
err = 10*log10(sum(d.^2)./sum(y2.^2));
fprintf('Dual sine wave relative error = %6.2f dB\n',err);

%% try the same thing for white noise
x = 2*rand(n,1)-1;
y = xcorr(x,x);
y2 = xcorr(x(1:4:end),x(1:4:end));
d = y(4:4:end)-4*y2;
err = 10*log10(sum(d.^2)./sum(y2.^2));
fprintf('White noise relative error = %6.2f dB\n',err);

Vielen Dank, aber der Ort der Peaks in der Autokorrelation ist wichtig für mich und daher bin ich mir nicht sicher, ob dieser Code mein Problem zeigt. Aber wie Sie hervorheben, während sich das Spektrum ändert, sehen wir uns mit kleinen Änderungen im Zeitbereich konfrontiert, ähnlich wie in dem Papier.
Hossein

0

Für bestimmte Arten von Eingaben kann der Effekt des Frequenzaliasing auf die Größe von Autokorrelationen vernachlässigbar sein. Ich denke jedoch nicht, dass dies im Allgemeinen zutreffen wird.

Beispielsweise wirkt sich bei einer bandbegrenzten Eingabe oder bei weißem Rauschen die Unterabtastung nicht auf die Form der Autokorrelation aus (obwohl dies die Skalierung auf prädiktive Weise ändern könnte). Die Autokorrelation von weißem Rauschen ist ein Delta und bleibt ein Delta, wenn es heruntergesampelt wird.

Das Leistungsspektrum hängt nun mit der Autokorrelation durch die Fourier-Transformation zusammen. Wenn Ihre Behauptung wahr wäre, könnten Sie anscheinend auch behaupten, dass Frequenzaliasing den Frequenzinhalt der Eingabe nicht ändert. Und das ist nicht wahr. Es kann jedoch Ausnahmen geben (Sonderfälle).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.