信号与系统仿真实验——实验二 傅立叶变换MATLAB的实现及傅里叶变换性质的分析

雨点打透心脏的1/2处 2023-10-05 19:25 136阅读 0赞

【 实验目的】

1.利用MATLAB分析非周期信号的频谱
2.观察信号频谱变化验证傅里叶变换性质

【 实验内容】

在这里插入图片描述

【 实验报告要求】

(1)记录实验一和实验三中的波形;
(2)总结实验二中频谱特性曲线变化的特点;
(3)实验目的和实验过程进行总结。

Matlab程序一:

  1. f=sym('exp(-2*t)*heaviside(t)');%方程
  2. F=fourier(f);%傅里叶变换
  3. FT=subs(F,[-2*pi:0.01*pi:2*pi]);%subs()函数来得到傅立叶变换的数值解
  4. subplot(4,2,1); %作图区域划分
  5. plot([-2*pi:0.01*pi:2*pi],abs(FT));%绘制幅频特性曲线
  6. title('幅频曲线-Make by 磊');
  7. xlabel('w');ylabel('幅度');
  8. subplot(4,2,2);%作图区域划分
  9. plot([-2*pi:0.01*pi:2*pi],angle(FT));%绘制相频特性曲线
  10. title('相频曲线-Make by 磊');
  11. xlabel('w');ylabel('相位(弧度)');grid on;
  12. f=sym('exp(-3*abs(t))'); %方程
  13. F=fourier(f);%傅里叶变换
  14. FT=subs(F,[-2*pi:0.01*pi:2*pi]);%subs()函数来得到傅立叶变换的数值解
  15. subplot(4,2,3);%作图区域划分
  16. plot([-2*pi:0.01*pi:2*pi],abs(FT));%绘制幅频特性曲线
  17. title('幅频曲线-Make by 磊');
  18. xlabel('w');ylabel('幅度');
  19. subplot(4,2,4);%作图区域划分
  20. plot([-2*pi:0.01*pi:2*pi],angle(FT));%绘制相频特性曲线
  21. title('相频曲线-Make by 磊');
  22. xlabel('w');ylabel('相位(弧度)');grid on;
  23. f=sym('heaviside(t+2)-heaviside(t-2)');%方程
  24. F=fourier(f);%傅里叶变换
  25. t1=-10*pi:0.01*pi:-0.001;
  26. t2=0.001*pi:0.01*pi:10*pi;
  27. t=[t1 t2];
  28. FT=subs(F,t);%subs()函数来得到傅立叶变换的数值解
  29. subplot(4,2,5);%作图区域划分
  30. plot(t,abs(FT));%绘制幅频特性曲线
  31. title('幅频曲线-Make by 磊');
  32. xlabel('w');ylabel('幅度');grid on;
  33. subplot(4,2,6);%作图区域划分
  34. plot(t,angle(FT));%绘制相频特性曲线
  35. title('相频曲线-Make by 磊');
  36. xlabel('w');ylabel('相位(弧度)');grid on;
  37. f=sym('sin(2*t)/(2*pi*t)');%方程
  38. F=fourier(f);%傅里叶变换
  39. FT=subs(F,[-2*pi:0.01*pi:2*pi]);%subs()函数来得到傅立叶变换的数值解
  40. subplot(4,2,7);%作图区域划分
  41. plot([-2*pi:0.01*pi:2*pi],abs(FT));%绘制幅频特性曲线
  42. title('幅频曲线-Make by 磊');
  43. xlabel('w');ylabel('幅度');
  44. subplot(4,2,8);%作图区域划分
  45. plot([-2*pi:0.01*pi:2*pi],angle(FT));%绘制相频特性曲线
  46. title('相频曲线-Make by 磊');
  47. xlabel('w');ylabel('相位(弧度)');grid on;

运行结果一:

在这里插入图片描述

Matlab程序二:

  1. f=sym('exp(-2*t)*heaviside(t)');%方程
  2. F=fourier(f);%傅里叶变换
  3. FT=subs(F,[-2*pi:0.01*pi:2*pi]);%subs()函数来得到傅立叶变换的数值解
  4. subplot(3,2,1);%作图区域划分
  5. plot([-2*pi:0.01*pi:2*pi],abs(FT));%绘制幅频特性曲线
  6. title('幅频曲线-Make by 磊');
  7. xlabel('w');ylabel('幅度');
  8. subplot(3,2,2); %作图区域划分
  9. plot([-2*pi:0.01*pi:2*pi],angle(FT));%绘制相频特性曲线
  10. title('相频曲线-Make by 磊');
  11. xlabel('w');ylabel('相位(弧度)');grid on;
  12. f=sym('exp(-2*(t-0.6))*heaviside(t-0.6)'); %方程
  13. F=fourier(f);%傅里叶变换
  14. FT=subs(F,[-2*pi:0.01*pi:2*pi]);%subs()函数来得到傅立叶变换的数值解
  15. subplot(3,2,3);%作图区域划分
  16. plot([-2*pi:0.01*pi:2*pi],abs(FT));%绘制幅频特性曲线
  17. title('幅频曲线-Make by 磊');
  18. xlabel('w');ylabel('幅度');
  19. subplot(3,2,4);%作图区域划分
  20. plot([-2*pi:0.01*pi:2*pi],angle(FT));%绘制相频特性曲线
  21. title('相频曲线-Make by 磊');
  22. xlabel('w');ylabel('相位(弧度)');grid on;
  23. f=sym('exp(-2*t)*heaviside(t)*exp(i*2*t)');%方程
  24. F=fourier(f);%傅里叶变换
  25. FT2=subs(F,[-2*pi:0.01*pi:2*pi]);%subs()函数来得到傅立叶变换的数值解
  26. subplot(3,2,5);%作图区域划分
  27. plot([-2*pi:0.01*pi:2*pi],abs(FT2));%绘制幅频特性曲线
  28. grid on;
  29. title('幅频曲线-Make by 磊');
  30. xlabel('w');ylabel('幅度');
  31. subplot(3,2,6);%作图区域划分 plot([-2*pi:0.01*pi:2*pi],angle(FT2));%绘制相频特性曲线
  32. grid on;
  33. title('相频曲线-Make by 磊');
  34. xlabel('w');ylabel('相位(弧度)');

运行结果二:

在这里插入图片描述

Matlab程序三:

  1. f=sym('sin(2*t)/(2*pi*t)');
  2. F=fourier(f);%傅里叶变换
  3. FT=subs(F,[-2*pi:0.01*pi:2*pi]);%subs()函数来得到傅立叶变换的数值解
  4. subplot(2,2,1);%作图区域划分
  5. plot([-2*pi:0.01*pi:2*pi],abs(FT));%绘制幅频特性曲线
  6. title('幅频曲线-Make by 磊');
  7. xlabel('w');ylabel('幅度');
  8. subplot(2,2,2);%作图区域划分
  9. plot([-2*pi:0.01*pi:2*pi],angle(FT));%绘制相频特性曲线
  10. title('相频曲线-Make by 磊');
  11. xlabel('w');ylabel('相位(弧度)');grid on;
  12. f=sym('(sin(2*t)/(2*pi*t))*cos(6*t)'); %方程
  13. F=fourier(f);%傅里叶变换
  14. FT=subs(F,[-2*pi:0.01*pi:2*pi]);%subs()函数来得到傅立叶变换的数值解
  15. subplot(2,2,3);%作图区域划分
  16. plot([-2*pi:0.01*pi:2*pi],abs(FT));%绘制幅频特性曲线
  17. title('幅频曲线-Make by 磊');
  18. xlabel('w');ylabel('幅度');
  19. subplot(2,2,4);%作图区域划分
  20. plot([-2*pi:0.01*pi:2*pi],angle(FT));%绘制相频特性曲线
  21. title('相频曲线-Make by 磊');
  22. xlabel('w');ylabel('相位(弧度)');grid on;

运行结果三:

在这里插入图片描述

Matlab程序四:

  1. f=sym('1/pi*(heaviside(t+0.5*pi)-heaviside(t-0.5*pi))');%方程
  2. F=fourier(f);%傅里叶变换
  3. t1=-10*pi:0.01*pi:-0.001;
  4. t2=0.001*pi:0.01*pi:10*pi;
  5. t=[t1 t2];
  6. FT=subs(F,t);%subs()函数来得到傅立叶变换的数值解
  7. subplot(3,2,1);%作图区域划分
  8. plot(t,abs(FT));%绘制幅频特性曲线
  9. title('幅频曲线-Make by 磊');
  10. xlabel('w');ylabel('幅度');grid on;
  11. subplot(3,2,2);%作图区域划分
  12. plot(t,angle(FT));%绘制相频特性曲线
  13. title('相频曲线-Make by 磊');
  14. xlabel('w');ylabel('相位(弧度)');grid on;
  15. f=sym('1/pi*(heaviside(2*t+0.5*pi)-heaviside(2*t-0.5*pi))');%方程
  16. F=fourier(f);%傅里叶变换
  17. t1=-10*pi:0.01*pi:-0.001;
  18. t2=0.001*pi:0.01*pi:10*pi;
  19. t=[t1 t2];
  20. FT=subs(F,t);%subs()函数来得到傅立叶变换的数值解
  21. subplot(3,2,3);%作图区域划分
  22. plot(t,abs(FT));%绘制幅频特性曲线
  23. title('幅频曲线-Make by 磊');
  24. xlabel('w');ylabel('幅度');
  25. grid on;
  26. subplot(3,2,4);%作图区域划分
  27. plot(t,angle(FT));%绘制相频特性曲线
  28. title('相频曲线-Make by 磊');
  29. xlabel('w');ylabel('相位(弧度)');grid on;
  30. f=sym('1/pi*(heaviside(1/2*t+0.5*pi)-heaviside(1/2*t-0.5*pi))');
  31. F=fourier(f);%傅里叶变换
  32. t1=-10*pi:0.01*pi:-0.001;
  33. t2=0.001*pi:0.01*pi:10*pi;
  34. t=[t1 t2];
  35. FT=subs(F,t);%subs()函数来得到傅立叶变换的数值解
  36. subplot(3,2,5); %作图区域划分
  37. plot(t,abs(FT));%绘制幅频特性曲线
  38. title('幅频曲线-Make by 磊');
  39. xlabel('w');ylabel('幅度');grid on;
  40. subplot(3,2,6);%作图区域划分
  41. plot(t,angle(FT));%绘制相频特性曲线
  42. title('相频曲线-Make by 磊');
  43. xlabel('w');ylabel('相位(弧度)');
  44. grid on;

运行结果四:

在这里插入图片描述

Matlab程序五:

  1. F=sym('1/(w^2+1)');
  2. f=ifourier(F);%傅里叶逆变换
  3. ezplot(f); %作图
  4. title('傅里叶逆变换');
  5. xlabel('t(sec)');ylabel('y(t)');
  6. grid on;

运行结果五:

在这里插入图片描述
本人能力有限,解释尚不清楚明了,如遇任何问题,大家可留言或私信。后续将程序文件打包上传,供大家学习使用。

本文希望对大家有帮助,当然上文若有不妥之处,欢迎指正。

分享决定高度,学习拉开差距

发表评论

表情:
评论列表 (有 0 条评论,136人围观)

还没有评论,来说两句吧...

相关阅读