How to clip a sine wave on both side?

5 visualizaciones (últimos 30 días)
Mohiuddin Mahbub
Mohiuddin Mahbub el 5 de Jul. de 2019
Comentada: Mohiuddin Mahbub el 5 de Jul. de 2019
I want clip specific portion of both positive and negative side of sine wave.. How to do it. I used MinMax block but it only cliped one side..

Respuestas (1)

Image Analyst
Image Analyst el 5 de Jul. de 2019
First get the min and max values, then determine the threshold as some fraction from the center and clip:
maxy = max(y)
miny = min(y)
middley = (miny + maxy)/2;
% Determine top point as, say 90% ofthe way from the middle line to the max
fraction = 0.9;
upperThreshold = middley + fraction * (maxy - middley);
lowerThreshold = middley - fraction * (middley - miny);
% Now clip
indexesTooHigh = y > upperThreshold;
y(indexesTooHigh) = upperThreshold;
indexesTooLow = y < lowerThreshold;
y(indexesTooLow) = lowerThreshold;
  1 comentario
Mohiuddin Mahbub
Mohiuddin Mahbub el 5 de Jul. de 2019
I want to use it on Simulink..I am generating wave then I need to clip it and send it to another block..So is there any block model for this clip operation that can be done on both side of sine wave?

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by