rectangularPulse: no drop to 1/2 at edges
    8 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
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 Kommentare
Antworten (2)
  Image Analyst
      
      
 am 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 Kommentare
  Image Analyst
      
      
 am 27 Jun. 2014
				
      Bearbeitet: Image Analyst
      
      
 am 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
      
      
 am 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
 am 30 Mär. 2018
        
      Bearbeitet: Matthew Suttinger
 am 30 Mär. 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 Kommentare
Siehe auch
Kategorien
				Mehr zu Calculus finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


