Info

This question is closed. Reopen it to edit or answer.

For loop and Fast Fourrier Transfrom

1 view (last 30 days)
Xuan Hiep Dinh
Xuan Hiep Dinh on 11 Mar 2017
Closed: MATLAB Answer Bot on 20 Aug 2021
Dear colleagues, I have a question related to Fast fourier transfrom. I want to calculate the phase and make FFT to draw power spectral density. However when calculate the phase "theta", there was some errors. So sorry because I am new to Matlab. This is my program code. Please help. Thanks so much !
n = 1:32768;
T = 0.2*10^-9; % Sampling period
Fs = 1/T; % Sampling frequency
Fn = Fs/2; % Nyquist frequency
omega = 2*pi*200*10^6; % Carrier frequency
L = 32768; % % Length of signal
t = (0:L-1)*T; % Time vector
x_signal(n) = cos(omega*T*n + 0.1*randn(size(n))); % Additive phase noise (random)
y_signal(n) = sin(omega*T*n + 0.1*randn(size(n))); % Additive phase noise (random)
theta(n) = atan(y_signal(n)/x_signal(n));
f = (theta(n)-theta(n-1))/(2*pi)
Y = fft(f,t);
PSD = Y.*conj(Y); % Power Spectral Density
%Fv = linspace(0, 1, fix(L/2)+1)*Fn; % Frequency Vector
  3 Comments
Xuan Hiep Dinh
Xuan Hiep Dinh on 12 Mar 2017
Thanks for help. However, I need to calculate the phase "theta" before doing fft.
Xuan Hiep Dinh
Xuan Hiep Dinh on 12 Mar 2017
And I am stuck when calculating the frequency.

Answers (0)

This question is closed.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!