How to programe clipping sine wave

22 次查看(过去 30 天)
TIME =linspace(0,6*pi,200)
SignalVoltage = 7*sin(Time)

采纳的回答

Sam Chak
Sam Chak 2022-8-2
编辑:Sam Chak 2022-8-2
Cannot open your jpg (I'm lazy to fix the link). If you study Pure Math in high school, you need to use the sign function to clip the signal. But in MATLAB, it's a pretty easy job do something like this. In Electrical Engineering, you can use the Diode Clipper circuit.
% original sine wave
t = linspace(0, 6*pi, 3600*3+1);
x = 7*sin(t);
plot(t, x, 'linewidth', 1.5), hold on
% clipped sine wave
ub = 4; % upper bound
lb = -4; % lower bound
y = max(lb, min(x, ub));
plot(t, y, 'linewidth', 1.5), hold off
grid on, xlabel('t'), ylabel('x(t)'), ylim([-10 10])
  2 个评论
Thando
Thando 2022-9-5
@Sam Chak, i followed the instruction the exact same way as you instructed @Mvana but im only getting 1/3, is there another way to get all 3 correct
Sam Chak
Sam Chak 2022-9-5
@Thando, Not exactly sure what you meant by getting 1/3 and all correct. Please enlighten.

请先登录,再进行评论。

更多回答(2 个)

Mbongeni
Mbongeni 2022-8-8
how do i use the end function? i have a row by column vector and matlab instructions say that i must use the end command,but it gives me an error when i try it. What can i do to solve this problem?

Munyaradzi
Munyaradzi 2024-4-28
Time= linspace(0,6*pi,200)
y= 7*sin(Time)
y(y<-5) = -5
y(y>5) = 5
signalVoltage=y

Community Treasure Hunt

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

Start Hunting!

Translated by