MATLAB的连续时间傅里叶变换
h=cos(100*pi*t);
y=x+h;
z=y+0.5*y^2;
相对Z进行傅里叶变换,怎么用FFT函数实现????不用fourier函数 展开
clear all
t=0:0.001:1;%设定信号时间为0到1秒,采样频率为1000HZ
x=sin(pi*t)./(pi*t+eps);%信号1
h=cos(100*pi*t);%信号2
y=x+h;%叠加信号
z=y+0.5*y.^2;%叠加信号的信号
Z=fft(z);%FFT
Pzz=Z.*conj(Z)/1000;%信号功率谱
f=1000*(0:499)/1000;%计算横轴频率值
figure(1)
plot(t,z),title('信号z'),xlabel('时间(S)')
figure(2)
subplot(2,1,1),plot(f,abs(Z(1:500))),title('信号z幅值谱'),xlabel('频率(Hz)')
subplot(2,1,2),plot(f,Pzz(1:500)),title('信号z功率谱'),xlabel('频率(Hz)')
figure(3)%更清楚的表示,将横轴范围缩小
subplot(2,1,1),plot(f,abs(Z(1:500))),axis([-5,150,0,1200]),title('信号z幅值谱'),xlabel('频率(Hz)')
subplot(2,1,2),plot(f,Pzz(1:500)),axis([-5,150,0,1200]),title('信号z功率谱'),xlabel('频率(Hz)')
FFT函数到底怎么用。我看其他人说FFT是离散时间的傅立叶变换呢
fft是离散时间傅立叶变换的快速算法函数,计算机做不了连续时间的问题,应用中也没人用连续时间的傅氏变换,那是数学研究,没有办法实现的数学概念罢了,
2024-11-19 广告