I have followed the link below to simulate two different zero-padding methods (zero-centered and causal)

<https://ccrma.stanford.edu/~jos/mdft/Zero_Padding.html>

Sample code

```
close all;
clear all;

x           = [3 2 1 1 2];
n           = length(x);

fft_len     = 32;

zeropadd    = fft_len - n;

y           = [x(1:(n-1)/2+1) zeros(1,zeropadd) x((n-1)/2+2:end)];

y_normal    = [y(fft_len/2+2:fft_len) y(1:fft_len/2)];

x_zeropad   = [x zeros(1,zeropadd)];

y_fft       = fft(y);

y_normal_fft = fft(y_normal);

x_fft       = fft(x, fft_len);

x_zp_fft    = fft(x_zeropad);

subplot(421)
stem(y)
xlabel 'n',
ylabel 'y'

subplot(422)
stem(y_fft)
xlabel 'n',
ylabel 'fft(y)'

subplot(423)
stem(y_normal)
xlabel 'n',
ylabel 'y-normal'

subplot(424)
stem(y_normal_fft)
xlabel 'n',
ylabel 'fft(y-normal)'

subplot(425)
stem(x)
xlabel 'n',
ylabel 'x'

subplot(426)
stem(x_fft)
xlabel 'n',
ylabel 'fft(x, fft_len)'

subplot(427)
stem(x_zeropad)
xlabel 'n',
ylabel 'x-zp'

subplot(428)
stem(x_zp_fft)
xlabel 'n',
ylabel 'fft(x-zp)'

```
Output is


[![enter image description here][2]][2]

  [2]: https://i.sstatic.net/GeC3a.png

My question is why is the spectrum of `fft(y)`, `fft(y_normal)` is different from `fft(x)` and `fft(x_zp)`