FFT及周期图法算功率谱密度

t=0:0.0001:0.1;          %时间间隔为0.0001,说明采样频率为10000Hz

x=square(2*pi*1000*t);   %产生基频为1000Hz的方波信号

n=randn(size(t));        %白噪声

f=x;                   %在信号中加入白噪声

figure(1); 

subplot(2,1,1);

plot(t,f);                 %画出原始信号的波形图

ylabel('幅值(V)');

xlabel('时间(s)');

title('原始信号');

y=fft(f,1024);           %对原始信号进行离散傅里叶变换,参加DFT采样点的个数为1024

subplot(2,1,2);

m=abs(y);

f1=(0:length(y)/2-1)'*10000/length(y);%计算变换后不同点对应的幅值 

plot(f1,m(1:length(y)/2)*2/length(y));

ylabel('幅值的模');xlabel('时间(s)');title('原始信号傅里叶变换');

%用周期图法估计功率谱密度

p=y.*conj(y)/1024;      %计算功率谱密度   

ff=10000*(0:499)/1024;  %计算变换后不同点对应的频率值 

figure(2);plot(ff,p(1:500));ylabel('幅值');xlabel('频率(Hz)');

title('功率谱密度(周期图法)'); 

FFT及周期图法算功率谱密度

FFT及周期图法算功率谱密度

求FFT变换时,纵坐标和横坐标的问题

clear all;clc

fs=500;

t=(0:1:100)/fs;

s=cos(2*pi*50*t);

n=length(t);

figure(1),subplot(211);plot(t,s)

f=fftshift(fft(s));

subplot(212);plot((-n/2:n/2-1)*fs/n,abs(f)*2/n);



 

FFT及周期图法算功率谱密度

你可能感兴趣的:(FF)