matlab——功率譜密度計算練習&傅里葉變換練習


 

%實驗一

clc;
clear all;
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(2,1,1) ;
plot(t,xt);
title('函數圖像 ');

% xf=fourier(xt,t,x); 采用fourier函數報錯?
% ezplot(abs(xf));

Y=fft(xt)
aff=fftshift(abs(Y));
subplot(2,1,2) ;
plot(t,aff);
title('幅度譜');

 

%實驗二
clc;
clear all;

fs=1000;
ts=1/fs;
t=0:ts:10;
x=cos(2*pi*35*t)+cos(2*pi*180*t);
nfft=64;
power=(norm(x)^2)/length(x+1);%n=norm(A) 返回A的最大奇異值,即max(svd(A))
spow = abs(fft(x,nfft).^2); %數值的絕對值和復數的幅值
f=(0:nfft-1)/ts/nfft;
f=f-fs/2;
plot(f,fftshift(spow),'k'); %將零頻率的分量移到頻譜的中心
xlabel('頻率');
ylabel('功率譜');
disp(['power=',num2str(power),'.']);

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM