1. Ursprüngliche Situation
Ich habe ein ursprüngliches Signal als Spaltendatenmatrix nKanäle Daten x:mxn (single)mit m=120019der zahl der Proben und n=15der Anzahl der Kanäle.
Außerdem habe ich das gefilterte Signal als gefilterte Spaltendatenmatrix x:mxn (single).
Die Originaldaten stammen hauptsächlich von Sensoraufnehmern, die auf Null zentriert sind.
Unter MATLAB, verwende saveohne Optionen, butterals Hochpassfilter und singlezum Gießen nach dem Filtern.
saveWenden Sie im Wesentlichen eine GZIP-Level-3- Komprimierung über ein binäres HDF5-Format an. Daher können wir davon ausgehen, dass die Dateigröße ein guter Schätzer für den Informationsgehalt ist , dh maximal für ein zufälliges Signal und nahe Null für ein konstantes Signal.
Durch Speichern des ursprünglichen Signals wird eine 2-MB- Datei erstellt.
Durch Speichern des gefilterten Signals wird eine 5-MB- Datei erstellt (?!).
2. Frage
Wie ist es möglich, dass das gefilterte Signal eine größere Größe hat, wenn man bedenkt, dass das gefilterte Signal weniger Informationen enthält, die vom Filter entfernt werden?
3. Einfaches Beispiel
Ein einfaches Beispiel:
n=120019; m=15;t=(0:n-1)';
x=single(randn(n,m));
[b,a]=butter(2,10/200,'high');
xf=filter(b,a,x);
save('x','x'); save('xf','xf');
erstellt 6MB Dateien, für das Original und gefilterte Signal sowohl für, die durch Verwendung von reinen Zufallsdaten größer als die vorherigen Werte.
In gewissem Sinne bedeutet dies, dass das gefilterte Signal zufälliger ist als das gefilterte Signal (?!).
4. Bewertungsbeispiel
Folgendes berücksichtigen:
- Ignorieren Sie den Datentyp, dh verwenden Sie nur
double,
Der folgende Code:
%% Data
n=125000;m=1;
t=(0:n-1)';
[hb,ha]=butter(2,0.5,'high');
d=100;
a=logspace(-6,0,d);
xr=randn(n,m);xc=ones(n,m);
b=zeros(d,2);
for i=1:d
x=a(i)*xr+(1-a(i))*xc;
xf=filter(hb,ha,x);
save('x1.mat','x'); save('x2.mat','xf');
b1=dir('x1.mat'); b2=dir('x2.mat');
b(i,1)=b1.bytes/1024;
b(i,2)=b2.bytes/1024;
i
end
%% Plot
semilogx(a,b);
title('Data Size for Filtered Signals');
legend({'original','filtered'},'location','southeast');
xlabel('Random Index \alpha');
ylabel('FIle Size [kB]');
grid on;
Mit der folgenden Tabelle als Ergebnis:

Diese Simulation reproduziert den Zustand des gefilterten Signals, der immer eine notorisch größere Größe als das ursprüngliche Signal hat, was der Tatsache widerspricht, dass ein gefiltertes Signal weniger Informationen enthält, die vom Filter entfernt werden.