Ejercicio de cálculo de densidad espectral de potencia de Matlab y ejercicio de transformación de Fourier

 

% Experimento 1

clc;
borrar todo;
x = 1;
t = -2: 0.2: 2;
xt = (t + 2). * (t> = -2 & t <= - 1) +1. * (t> -1 & t <= 1) + (2-t). * (T> 1 & t <= 2);
subplot de función% (2,1,1);
plot (t, xt);
título ('imagen de función');

% xf = fourier (xt, t, x); ¿Usar la función fourier para informar un error?
% ezplot (abs (xf));

Y = fft (xt)
aff = fftshift (abs (Y));
subplot (2,1,2);
plot (t, aff);
title ('espectro de amplitud');

 

% Experimento II
clc;
borrar todo;

fs = 1000;
ts = 1 / fs;
t = 0: ts: 10;
x = cos (2 * pi * 35 * t) + cos (2 * pi * 180 * t);
nfft = 64;
potencia = (norma (x) ^ 2) / length (x + 1);% n = norma (A) devuelve el valor singular máximo de A, es decir, max (svd (A))
spow = abs (fft (x, nfft). ^ 2) ; Valor absoluto del valor% y amplitud del número complejo
f = (0: nfft-1) / ts / nfft;
f = f-fs / 2;
plot (f, fftshift (spow), 'k');% será cero El componente de frecuencia se mueve al centro del espectro
xlabel ('frecuencia');
ylabel ('espectro de potencia');
disp (['power =', num2str (power), '.']);

 

 

Supongo que te gusta

Origin www.cnblogs.com/u1-s1/p/12708260.html
Recomendado
Clasificación