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?

2 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Thomas
Thomas il 25 Feb 2014
Modificato: Thomas il 25 Feb 2014
run your code as follows
a=SignalGen(10,200,1000,5,3,100); % suppress output Signal
sound(a) % to hear

Più risposte (0)

Categorie

Scopri di più su Signal Generation and Preprocessing in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by