rectangularPulse: no drop to 1/2 at edges
    9 views (last 30 days)
  
       Show older comments
    
Hello I want to do the fourier of a rectangular pulse which is also 1 at the edges, so that the fourier returns a sinc function. rectangularPulse drops to 1/2 at the edges and does not seem to return the equivalent function if I plot the result vs. a sinc function. I tried ceil but this is not accepted with the fourier function.
Thanks a lot!
0 Comments
Answers (2)
  Image Analyst
      
      
 on 27 Jun 2014
        So just create it manually
myPulse = [0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ];
2 Comments
  Image Analyst
      
      
 on 27 Jun 2014
				
      Edited: Image Analyst
      
      
 on 27 Jun 2014
  
			T's "Answer" moved here since it's not an answer to the original question.
I can't, the width of the rectangular pulse depends on a syms variable :/ And besides that, I dont think fourier(myPulse,f,y) would work then anymore anyway.
  Image Analyst
      
      
 on 27 Jun 2014
				Make it depend on the variable:
signalLength = 512; % whatever.
myPulse = zeros(1, signalLength);
startingIndex = 20; % Whatever
pulseWidth = 64; % Whatever, e.g. your syms variable value.
myPulse(startingIndex:(startingIndex + pulseWidth - 1)) = 1;
  Matthew Suttinger
 on 30 Mar 2018
        
      Edited: Matthew Suttinger
 on 30 Mar 2018
  
      If you don't mind converting it to a double after applying inputs, wrap the result in the ceil() function.
y = ceil(rectangularPulse(x_start,x_end,x_values));
class(y) % ans = 'double'
0 Comments
See Also
Categories
				Find more on Calculus 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!

