MATLAB Answers


I'm trying to make a function to create a chirp signal with a clip distortion, when I run the function, It won't play and just displays columns, where is the problem?

Asked by Matthew
on 25 Feb 2014
Latest activity Edited by Thomas
on 25 Feb 2014
function Signal = SignalGen(StartFrequency, EndFrequency, Duration, Amplitude, ClipThreshold, Fs) Ts = 1/Fs; Time = 0:Ts:Duration-Ts; a = (EndFrequency-StartFrequency)/(2*Duration); b = StartFrequency; Theta = 2*pi*(100 + b*Time + a*Time.*Time); Signal = Amplitude*sin(Theta);
SigDistortion = Signal; for i = 1:length(Signal) if Signal(i) > ClipThreshold; SigDistortion(i) = ClipThreshold; end if Signal(i) < -ClipThreshold; SigDistortion(i) = -ClipThreshold; end end end

  1 Comment

Sign in to comment.

1 Answer

Answer by Thomas
on 25 Feb 2014
Edited by Thomas
on 25 Feb 2014
 Accepted Answer

run your code as follows
a=SignalGen(10,200,1000,5,3,100); % suppress output Signal
sound(a) % to hear


Sign in to comment.