How to do FT Time shift and Time scaling properties
Ältere Kommentare anzeigen
Currently i am trying use matlab to do the FT properties -time shift and time scaling, can someone help me in the implementation? i would like to prove that Timeshift: F[x(t-τ) ]= e^(-jwτ) F[x(t)]
Time scaling: F[x(at)]=1/(|a|) X(w/a)
Thanks.
Akzeptierte Antwort
Weitere Antworten (6)
Wayne King
am 29 Mär. 2013
Bearbeitet: Wayne King
am 29 Mär. 2013
They agree if you get the delay right. You're not delaying the signal by 2. You're trying to delay the signal by two samples, but that has to take into account the sampling interval, so you're actually delaying the signal by 0.002 seconds.
t = 0:0.001:1-0.001;
freq1 = 100;
Fs = 1000;
x1=cos(2*pi*freq1*t);
Delay=2;
yp = fft(x1);
yp = yp(1:length(x1)/2+1);
f = 0:Fs/length(x1):500;
yp = yp.*exp(-1i*2*pi*f*Delay*(1/Fs));
yp = [yp conj(fliplr(yp(2:end-1)))];
yrec = ifft(yp,'symmetric');
Compare with
D=2;
Fs=1000;
freq1=100;
t=0:0.001:1-0.001;
x=cos(2*pi*freq1*(t-(D*(1/Fs))));
y1 = fft(x);
y1T = ifft(y1,'symmetric');
max(abs(y1T-yrec))
You can see the above are identical. Thank you for accepting my answer if I have helped you.
1 Kommentar
ong
am 29 Mär. 2013
Wayne King
am 28 Mär. 2013
Bearbeitet: Wayne King
am 28 Mär. 2013
n = 0:159;
x = cos(pi/4*n);
y = cos(pi/4*(n-2));
xdft = fft(x);
ydft = fft(y);
xdft(21)
ydft(21)
Note that 80+i0 has become 0-80i due to the predicted phase shift of e^{-i\pi/2}
Obviously, the only way to properly "prove" that theorem is mathematically.
The scaling one you have to be careful with in discrete-time because scaling doesn't work the same with a discrete variable as it does with continuous time.
1 Kommentar
ong
am 28 Mär. 2013
ong
am 3 Apr. 2013
0 Stimmen
1 Kommentar
Irfan Ali Dahani
am 19 Jan. 2021
visit and you will get easy made time shifting, time scaling and amplitude scaling all in one project. surely both projects will help you.
SHREEVARSHINI R
am 24 Okt. 2021
0 Stimmen
1.Write a MATLAB program to find Fourier transform of the signal Ate-btu(t)
2.Write a MATLAB program to perform amplitude scaling, time scaling and time shift on the signal x(t) = 1+t; for t=0 to 2
Sk Group
am 25 Okt. 2021
0 Stimmen
Time shifting Prove: DFT{x(n-l)} = X(K)e^(-j(2*pi/N)kl
For complete detailed post visit: https://www.swebllc.com/time-shifting-property-in-matlab-complete-prove-code-output/
1 Kommentar
Peter Seibold
am 29 Aug. 2022
Proposed code NOT working! Unknown function 'sigshift1'.
Sk Group
am 25 Okt. 2021
0 Stimmen
For detailed post with complete code visit: https://www.swebllc.com/time-scaling-in-matlab-code-output/Kategorien
Mehr zu Spectral Measurements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
