Phase shift using FFT


by marksayles
Tags: phase, shift
marksayles
marksayles is offline
#1
Oct3-07, 02:36 PM
P: 3
What I want to do is apply a frequency-independent phase shift to a Gaussian Noise signal. Obviously I can just invert it to get a pi shift. Also I can take the Hilbert transform to get a pi/2 shift and I can invert that to give myself in effect a 3/2pi shift. BUT..... what I want to do is to be able to apply any phase shift, 10, 20, 30 degrees etc.

The way I have been thinking about this is that I can take the FFT of the noise and get the magnitude and phase information, and then I could manipulate the phase but leave the magnitude the same and take the IFFT to get my phase-shifted signal. Here is an example bit of matlab code doing this on a single sinusoid. As it is here the code doesn't work. But if you change the phase shift p from pi/2 to pi then it does? Is there something I'm missing. Perhaps I need to apply the phase shift differently to the positive and negative parts of the FFT? Or is it something to do with the fact that theta is distributed on [-pi pi] and when I add "p" I change this and make it ambiguous or something?

sr=10000;
dt=1/sr;
len=0.5;
t=0:dt:len;
f=500;
%generate signal
sig=sin(2*pi*f*t);
%Define a phase shift in rads
p=pi/2;
%Get the FFT of the signal
z=fft(sig);
%Get the magnitude
mag=abs(z);
%Get the phase
theta=angle(z);
%Add the phase shift onto the phase
theta=theta+p;
%Set the new real and imag parts of the spectrum
R=mag.*cos(theta);
I=mag.*sin(theta);
%Make the new spectrum
spec=complex(R,I);
%Get the new signal
newsig=real(ifft(spec));
%plot the signals
figure;plot(t,sig);hold on; plot(t,newsig,'g');
Phys.Org News Partner Science news on Phys.org
Cougars' diverse diet helped them survive the Pleistocene mass extinction
Cyber risks can cause disruption on scale of 2008 crisis, study says
Mantis shrimp stronger than airplanes

Register to reply

Related Discussions
Phase shift using FFT General Engineering 11
Phase, Phase Difference and Phase Shift General Physics 6
phase shift Introductory Physics Homework 0
Phase shift Introductory Physics Homework 0
Phase Shift Electrical Engineering 1