
How to generate a signal with time delay?
    5 views (last 30 days)
  
       Show older comments
    
    Juan Nunez
 on 7 Dec 2018
  
    
    
    
    
    Commented: madhan ravi
      
      
 on 8 Dec 2018
            Hello guys,
I'm creating a model in Simulink in which I have a sinusoidal input and I need to generate an output signal like the following:
100 if the signal is positive 
zero when the value of the signal is whithin the range [-0.1,0.1]. This output value must be kept during 1 second regarless the value of the input.
-100 if the signal is negative.
I'm not sure if it's better to use delay blocks or a matlab function.
Any ideas??
Thanks.  
2 Comments
  Basavalingappa Mudhol
      
 on 7 Dec 2018
				Let me know if its this behaviour you expected i can give  solution for this

Accepted Answer
  Basavalingappa Mudhol
      
 on 7 Dec 2018
        Basically There are three parts in my model 
1(in picture) this logics checks your base condition like if the input lies in which range >0.1 or <0.1 based on this either 100 or -100 is set
And the tricky part. if its in the range of 0.1 to -0.1 hold it for 1 sec. this is done by part 2 and 3(in Picture).
Here in part 2 is for the timer of 1 second. once your input is wihin range it triggers a counter until 1 sec.
and part 3( in picture). this is to latch he output to 0 for 1 second. after 1 second the counter is reset and it rechecks for the input.
I am bad at explaining may be this gives you a basic idea.
Please comment if you have questions. and vote and accept the answer if it solves your question.
I just tried to do a quick modelling . So this can be optimised even further if its just for simulation or you need to for code generation
thanks. :) Nice problem

2 Comments
More Answers (0)
See Also
Categories
				Find more on General Applications in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

