Sweep / Chirp-Signal endet mit falscher Frequenz
Ich erstelle ein Sweep / Chirp-Signal mit Matlab / Octave und mein Endsignal scheint mit der falschen Frequenz zu enden. Wie kann ich das beheben, damit das Signal bei der richtigen Frequenz endet.
PS: Ich kann den Chirp-Befehl in der Oktave nicht verwenden, da ich ein Chirp / Sweep-Signal mit einer bestimmten Gleichung erstelle.
Beispielcode mit einfacher Gleichung. und Handlung des Problems
%test sweep / chirp
clear all,clc
freq1=20; %start freq
freq2=200; %end freq
fs=44100;
dur=1; %duration of signal in seconds
t = linspace(0,2*pi,fs*dur);
f=freq1:(freq2-freq1)/length(t):freq2-(freq2-freq1)/length(t);
%20:(200-20)/lenght(t) :200-(200-20)/length(t)
data=sin(f.*t); %build signal
data=(data/max(abs(data))*.8); %normalize signal
wavwrite([data'] ,fs,32,strcat('/tmp/del.wav')); %export file
plot(t,data)
PS: Ich benutze Octave 3.8.1