MATLAB实现傅里叶变换

简介: MATLAB实现傅里叶变换

1.用MATLAB符号运算求解法求单边指数信号法法f(t)=e^(-2t)u(t)的FT。代码如下:

ft=sym('exp(-2*t)*heaviside(t)');

>> fw=fourier(ft);

>> fw

fw =

1/(2 + w*1i)

2.用MATLAB符号运算求解法求F(jw)=1/(1+w^2)的IFT:程序代码如下:

close all;

>> clear all;

>> syms t;

>> Fw=sym('1/(1+w^2)');

>> ft=ifourier(Fw,t)

ft =

exp(-abs(t))/2

3.用MATLAB命令绘单边指数信号法法f(t)=e^(-2t)u(t)的频谱图

clear all

>> ft=sym('exp(-2*t)*heaviside(t)');

>> Fw=fourier(ft);

>> subplot(211),ezplot(abs(Fw)),grid on,title('幅度谱')

>> phase=atan(imag(Fw)/real(Fw));

subplot(212),ezplot(phase);grid on,title('相位谱')

>>

20180401191807667.jpg

4. 用MATLAB命令求图示的三角脉冲的FT,并绘其频谱图

>> close all;

>> clear all

>> ft=sym('(t+4)/2*heaviside(t+4)-t*heaviside(t)+(t-4)/2*heaviside(t-4)');

>> Fw=simplify(fourier(ft));

>> Fw =


- (exp(-w*4i) + exp(w*4i) - w*exp(w*4i)*2i - 2)/(2*w^2) - pi*dirac(w)


%方法一

>> Fw_conj=conj(Fw);

>> Gw=sqrt(Fw*Fw_conj);

>subplot(121)

>> ezplot(Gw,[-pi pi]),grid on

>> %方法二

>> subplot(122)

>> ezplot(abs(Fw),[-pi pi]),grid on

20180401195104546.jpg

5. 用MATLAB数值计算法求幅度频谱图

>> close all;

>> clear all

>> dt=0.01;

>> t=-4:dt:4;

>> ft=(t+4)/2.*((t+4)>=0)-t.*(t>=0)+((t-4)>=0);

>> N=2000;

>> k=-N:N;

>> w=pi*k/(N*dt);

>> F=dt*ft*exp(-j*t*w);

>> F=dt*ft*exp(-j*t'*w);

>> F=abs(F);

>> plot(w,F),grid on

>> axis([-pi pi -1 9])

>> xlabel('w'),ylabel('F(w)')

>> title('amplitude spectrum')

20180401194659846.jpg

6.FT性质: 尺度变化

clear all

>> ft1=sym('heaviside(t+1/2)-heaviside(t-1/2)');

>> subplot(321)

>> ezplot(ft1,[-1.5 1.5]),grid on

>> Fw1=simplify(fourier(ft1));

>> subplot(322)

>> ezplot(abs(Fw1),[-10*pi 10*pi]),grid on

>> axis([-10*pi 10*pi -0.2 2.2])

>> ft2=sym('heaviside(t/2+1/2)-heaviside(t/2-1/2)');

>> subplot(323)

>> ezplot(ft2,[-1.5 1.5]),grid on

>> Fw2=simplify(fourier(ft2));

>> subplot(324)

>> ezplot(abs(Fw2),[-10*pi 10*pi]),grid on

>> axis([-10*pi 10*pi -0.2 2.2])

>> ft3=sym('heaviside(t*2+1/2)-heaviside(t*2-1/2)');

>> subplot(325)

>> ezplot(ft3,[-1.5 1.5]),grid on

>> Fw3=simplify(fourier(ft3));

>> subplot(326)

>> ezplot(abs(Fw3),[-10*pi 10*pi]),grid on

>> axis([-10*pi 10*pi -0.2 2.2])

20180409123838920.jpg

7.FT性质-频移特性

>> close all

>> clear all

>> ft1=sym('4*heaviside(t+1/4)-heaviside(t-1/4)');

>> Fw1=simplify(fourier(ft1));

>> subplot(121)

>> ezplot(abs(Fw1),[-24*pi 24*pi]),grid on

>> axis([-24*pi 24*pi -0.2 2.2]),title('矩形信号频谱')

>> ft2=sym('4*cos(2*pi*6*t)*(heaviside(t+1/4)-heaviside(t-1/4))');

>> Fw2=simplify(fourier(ft2));

>> subplot(122)

>> ezplot(abs(Fw2),[-24*pi 24*pi]),grid on,title('矩形调制信号频谱')



20180409100826632.jpg



相关文章
|
6月前
|
算法 数据安全/隐私保护
matlab程序,傅里叶变换,频域数据,补零与不补零傅里叶变换
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
6月前
|
数据安全/隐私保护
时域与频域数据互相转换,傅里叶变换与逆傅里叶变换,matlab程序,时域转频域
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于透镜傅里叶变换特性的4F相关器系统的Matlab仿真(Matlab代码实现)
基于透镜傅里叶变换特性的4F相关器系统的Matlab仿真(Matlab代码实现)
159 0
|
6月前
|
算法 计算机视觉
基于傅里叶变换的运动模糊图像恢复算法matlab仿真
基于傅里叶变换的运动模糊图像恢复算法matlab仿真
|
算法 异构计算
m基于FFT傅里叶变换的256QAM基带信号频偏估计和补偿FPGA实现,含testbench和matlab星座图显示
m基于FFT傅里叶变换的256QAM基带信号频偏估计和补偿FPGA实现,含testbench和matlab星座图显示
294 0
|
算法 异构计算
基于FFT傅里叶变换的64QAM基带信号频偏估计和补偿算法FPGA实现,包含testbench和matlab星座图显示
基于FFT傅里叶变换的64QAM基带信号频偏估计和补偿算法FPGA实现,包含testbench和matlab星座图显示
365 0
|
算法 异构计算
基于FFT傅里叶变换的16QAM基带信号频偏估计和补偿算法FPGA实现,包含testbench和matlab星座图显示
基于FFT傅里叶变换的16QAM基带信号频偏估计和补偿算法FPGA实现,包含testbench和matlab星座图显示
469 0
|
算法 异构计算
m基于FFT傅里叶变换的QPSK基带信号频偏估计和补偿算法FPGA实现,包含testbench和matlab星座图显示
m基于FFT傅里叶变换的QPSK基带信号频偏估计和补偿算法FPGA实现,包含testbench和matlab星座图显示
539 0
|
算法
不同Radix实现方式的快速傅里叶变换复杂度matlab仿真分析,对比基2,基4以及分裂基
不同Radix实现方式的快速傅里叶变换复杂度matlab仿真分析,对比基2,基4以及分裂基
128 0
|
机器学习/深度学习 传感器 算法
【图像隐藏】基于分数阶傅里叶变换 DFT实现数字水印嵌入提取附含Matlab代码
【图像隐藏】基于分数阶傅里叶变换 DFT实现数字水印嵌入提取附含Matlab代码