Clipping sin wave script, what is not correct ?

Write a script to generate the signal values for the figure above corresponding to equally-spaced time values ranging from 0 to 6*pi . Assign these time values to the variable Time. Assign the resulting voltage values to the variable signalVoltage. The sinusoidal function is given by the formula: Y=7sin(x) In order to model the clipping at plus or minus 5 Volts, you will need to replace any values of y that are greater than the threshold of 5 with the value 5. Similarly you will need to replace any values of y that are less than with the value -5
My attempt: Time= 0:6*pi Signal voltage = 7sin(time) Plot ( time, signal voltage) Signalvoltagelim([-5,5])
Don’t know what I am doing wrong. What in my script is wrong ?

 Accepted Answer

time=linspace(0,6*pi,500);
Y=7*sin(time);
figure()
subplot(121),plot(time,Y);
ylim([-8 8]);
Y(Y>5)=5; % You can replace by any value, here I have consider 5
Y(Y<-5)=-5% You can replace by any value, here I have consider -5
Y = 1×500
0 0.2644 0.5283 0.7916 1.0537 1.3143 1.5730 1.8295 2.0833 2.3342 2.5818 2.8257 3.0655 3.3010 3.5318 3.7575 3.9778 4.1925 4.4012 4.6037 4.7995 4.9885 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000
subplot(122),plot(time,Y);
ylim([-8 8]);
Or
time=linspace(0,6*pi,500);
Y=7*sin(time);
figure()
plot(time,Y);
hold on;
Y(Y>5)=5; % You can replace by any value, here I have consider 5
Y(Y<-5)=-5% You can replace by any value, here I have consider -5
Y = 1×500
0 0.2644 0.5283 0.7916 1.0537 1.3143 1.5730 1.8295 2.0833 2.3342 2.5818 2.8257 3.0655 3.3010 3.5318 3.7575 3.9778 4.1925 4.4012 4.6037 4.7995 4.9885 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000
plot(time,Y);
legend('Original','Clipping')

3 Comments

Where did the 500 come from ?

Considering 500 vectors elements between 0 and 6Pi, you can choose any other number also

Sign in to comment.

More Answers (0)

Categories

Find more on Instrument Control Toolbox in Help Center and File Exchange

Products

Asked:

on 23 Oct 2019

Edited:

on 2 Aug 2023

Community Treasure Hunt

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

Start Hunting!