Ich versuche, Konzepte aus der Signalanalyse zu verwenden, um eine bestimmte Frequenz aus einer Audiodatei zu isolieren. Ich habe eine kurze WAV-Datei, die aus einer sprechenden Person besteht, aber auch andere Geräusche mit unbekannten Frequenzen sowohl oberhalb als auch unterhalb des gewünschten Signals. Ich habe eine obere und untere Grenze für den Frequenzbereich, der den gewünschten Teil des Klangs enthalten sollte.Wie isoliert man einen Frequenzbereich in MATLAB mit Signalkonzepten?
Ich glaube, ich sollte dies tun können, ohne dass die Filtersignale Analyse-Toolbox oder die Butter zu verwenden.
so weit ich habe diesen Code, die das Leistungsspektrum für das Signal Plots:
[y, Fs] = audioread('filename.wav','double');
t = 1:1:length(y);
y = transpose(y);
a = ifft(y);
a_k = abs([a((length(y)/2)+1:-1:2),a(1:1:(length(y)/2)+1)]);
bar((-length(y)/2)+1:1:(length(y)/2),a_k);
Das Leistungsspektrum wie folgt aussieht:
Ich glaube, ich sollte in der Lage sein zu verwenden, was ich alles über oder unter meinem bekannten Bereich filtern muss, aber ich bin mir nicht sicher, wie ich damit anfangen soll.