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变换时,纵坐标和横坐标的问题

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);

 

posted on 2010-12-10 09:11  齐威王  阅读(13768)  评论(1编辑  收藏  举报

导航