Gast
#6123504
ich möchte ein audiosignal von 32kHz auf 44.1kHz "hochsamplen". Dazu habe ich ein Rechteck generiert und verwende die Funktion "resample" in Matlab/Octave. Resample wendet dabei ein Kaiser-Bessel Fenster an. Leider bekomme ich für ein Rechteck als Eingangssignal ein Ergebnis mit deutlich hörbarem Oberschwingen. Ich kann mir schon vorstellen dass das beim Resampling passiert da ja irgendwie interpoliert werden muss und durch die Impulsantwort des Fensters eben Oberschwingen entsteht, ich frage mich aber wie man das ohne Oberschwingen lösen könnte? Hier ist mein Matlab code: fs1 = 32000; fs2 = 44100; T = 0.001; nSamples = T / (1/fs1); x = [1 1 1 1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1]'; len = length(x); Blocks = round(nSamples / len); for n = 0:Blocks-1 x(n*len+1:n*len+len) = x(1:len); end [p,q] = rat(fs2/fs1); figure plot(x) xResample = resample(x,p,q); figure plot(xResample)
