Effacer les filtres
Effacer les filtres

How to clip a sine wave on both side?

1 vue (au cours des 30 derniers jours)
Mohiuddin Mahbub
Mohiuddin Mahbub le 5 Juil 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..

Réponses (1)

Image Analyst
Image Analyst le 5 Juil 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 commentaire
Mohiuddin Mahbub
Mohiuddin Mahbub le 5 Juil 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?

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by