MATLAB: 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

chirpsignalclipdistortionfunctions

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

Best Answer

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