2016-05-31 4 views
0

Ich habe zwei Audiosignale, die ich verstärken möchte, um Informationen zu sammeln und zu vergleichen. Ich möchte, dass beide zwischen -1 und 1 definiert werden, ohne ihre ursprüngliche Form zu ändern.Verstärke zwei Signale im gleichen Verhältnis

Ich habe es schon versucht Strengthening the low amplitude signal using Matlab WITHOUT changing the original shape of the signal, aber es scheint nicht in meinem Fall zu arbeiten.

sind meine Werte wie folgt definiert:

[y1,fs1] = audioread(myfile1); 
[y2,fs2] = audioread(myfile2); 

Und hier meine Signale sind:

enter image description here

Irgendwelche Ideen?

Antwort

2

Sie suchen, um Ihr Signal zu normalisieren, was bedeutet .... teilen alles durch das Maximum des absoluten Maximum/Minimum ....

Ihr Code sollte wie etwas aussehen:

normalizey1 = y1./ (max(abs(max(y1)) ,abs(min(y1)))); 
normalizey2 = y2./ (max(abs(max(y2)) ,abs(min(y2)))); 

Es gibt eine Alternative zur Normalisierung Ihres Signals. Es wird durch Division durch die Standardabweichung - die Einheitsvarianznormalisierung - gemacht, die beim Vergleich von Signalen oft nützlicher ist.

+0

Ja, es ist eine Art Normalisierung, aber ich möchte, dass beide Signale zwischen -1 und 1 enthalten sind, aber mit den gleichen Amplitudendifferenzen und Eigenschaften. Ich weiß nicht, ob Sie verstehen, was ich meine. – Kenwa

+0

@Kenwa dies wird dazu führen, dass beide Signale mit den gleichen Variationen zwischen -1 und 1 liegen - also ist das Signal selbst unverändert. – GameOfThrows

+0

Ah ok, ich dachte, es wäre wie die Version, die ich vorher gesehen habe, aber ich habe es gerade getestet und es scheint zu funktionieren. Vielen Dank. – Kenwa