title: How to generate a lower frequency version of a signal in Matlab?
body: <p>With a sine input, I tried to modify it's frequency cutting some lower frequencies in the spectrum, shifting the main frequency towards zero. As the signal is not fftshifted I tried to do that by eliminating some samples at the begin and at the end of the fft vector:</p>
  
  <pre><code>interval = 1;
  samplingFrequency = 44100;
  signalFrequency = 440;
  sampleDuration = 1 / samplingFrequency;
  timespan = 1 : sampleDuration : (1 + interval);
  original = sin(2 * pi * signalFrequency * timespan);
  fourierTransform = fft(original);
  frequencyCut = 10; %% Hertz
  frequencyCut = floor(frequencyCut * (length(pattern) / samplingFrequency) / 4); %% Samples
  maxFrequency = length(fourierTransform) - (2 * frequencyCut);
  signal = ifft(fourierTransform(frequencyCut + 1:maxFrequency), 'symmetric');
  </code></pre>
  
  <p>But it didn't work as expected. I also tried to remove the center part of the spectrum, but it wielded a higher frequency sine wave too.</p>
  
  <p>How to make it right?</p>