原文地址:
x=load(‘cur.txt’); %读入变换数据
fs = 100; %设定采样率
N=128; %变换点数
n=0:N-1;
t=n/fs;
y=fft(x); %进行FFT变换
mag = abs(y); %求取幅值
f=(0:length(y)-1)’*fs/length(y); %进行对应的频率转换
figure(1);subplot(231);
plot(f,mag); %绘制频谱图
axis([0,100,0,80]); %设置坐标范围,前面为X,后面为Y
xlabel(‘Hz’);ylabel(‘mag’);
grid;
%求取均方根谱
sq=abs(y);-
figure(1);-
subplot(232);-plot(f,sq);-
xlabel('频率(Hz)');-
ylabel('均方根谱');-
%下面求取功率谱
power=sq.^2;-
figure(1);-
subplot(234);-
plot(f,power);-
xlabel('频率(Hz)');-
ylabel('功率谱');-
grid;
%求对数谱-
ln=log(sq);-
figure(1);-
subplot(235);-
plot(f,ln);-
xlabel('频率(Hz)');-
ylabel('对数谱');-
grid;-
%用IFFT恢复原始信号-
xifft=ifft(y);-
magx=real(xifft);-
ti=[0:length(xifft)-1]/fs;-
figure(1);-
subplot(236);-
plot(ti,magx);-
xlabel('t');-
ylabel('y');-
grid;-