To compute magnitude and phase spectrum
296 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sri Srujan Gollapudi
el 3 de Oct. de 2019
Comentada: Juan Palomo
el 13 de Mayo de 2022
Hello,
I have a function, for that I need to find the magnitude and phase spectrum on matlab. Can someone please help me with the code, please?
The parameters are A=2 a=4 -20<=F<=20.
This is the function.
2 comentarios
Shubham Gupta
el 4 de Oct. de 2019
Where is 'F' being used in the function? Also, what do you mean by 'magnitude of the function'?
Respuesta aceptada
Deepak Kumar
el 7 de Oct. de 2019
Editada: Deepak Kumar
el 11 de Oct. de 2019
I'm not sure what F is referring here.
However, we can find the Magnitude and Phase spectrum of a function using FFT function in matlab. I have wrirren the below code to evalute the magnitude and phase spectrum of the given function and also plotted them.
clc
clear
close all
A=2;
a=4;
fs=1000; % Sampling frequency
t=0:1/fs:1; %Time
x=A*exp(-a.*t); %Signal
plot(t,x) %Plotting the time domain signal
xlabel('t');
ylabel('x(t)');
title('Time domain Signal')
N=length(x);
N1=2^nextpow2(N);
X=fft(x,N1);
X=X(1:N1/2);%Discard Half of Points
X_mag=abs(X); %Magnitude Spectrum
X_phase=phase(X); %Phase Spectrum
f=fs*(0:N1/2-1)/N1; %Frequency axis
figure
plot(f,(X_mag/N1)); %Plotting the Magnitude Spectrum after Normalization
xlabel('Frequency (Hz)');
ylabel('Magnitude Spectrum');
title('Magnitude Spectrum vs f')
figure
plot(f,X_phase); %Plotting the frequency domain
xlabel('Frequency (Hz)');
ylabel('Phase Spectrum');
title('Phase Spectrum vs f')
Please refer the below documentation for more details about the FFT function:
5 comentarios
Juan Palomo
el 13 de Mayo de 2022
hi, if this spectrum is the single side spectrum (comment on code:
X=X(1:N1/2);%Discard Half of Points
) should'nt the amplitude be multiplied by 2 like in https://es.mathworks.com/help/matlab/ref/fft.html?lang=en "Compute the two-sided spectrum P2. Then compute the single-sided spectrum P1 based on P2 and the even-valued signal length L.
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
"
Más respuestas (0)
Ver también
Categorías
Más información sobre Spectral Measurements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!