"东大MATLAB实践课程:DTFT和FFT频谱分析"

版权申诉
0 下载量 117 浏览量 更新于2024-02-22 收藏 415KB PDF 举报
本文介绍了东大matlab实践课中的两个实践案例。第一个案例是通过编写dtft函数实现离散时间傅立叶变换(DTFT)的计算,然后通过调用该函数绘制信号的幅度频谱和相位频谱。具体的代码如下: ```matlab % 3.2.1 dtft.m function X = dtft(w) x = [1,2,3,4,5,6,6,5,4,3,2,1]; X = 0; [m,n] = size(x); for k = m:n X = X + x(k)*exp(-1j.*w.*k); end end % S321.m w = -pi:0.1:pi; subplot(1,2,1); plot(w, abs(dtft(w))); xlabel('w'); ylabel('X'); title('幅度频谱'); subplot(1,2,2); plot(w, angle(dtft(w))); xlabel('w'); ylabel('fi'); title('相位频谱'); ``` 第二个实践案例是通过编写S322.m实现信号的快速傅立叶变换(FFT),然后绘制信号的幅度频谱和相位频谱。具体的代码如下: ```matlab % 3.2.2 S322.m w = 0:0.1:2*pi; for i=1:6 x(i) = i; end for i=7:12 x(i) = 13 - i; end for i=13:60 x(i) = 0; end X = fft(x); subplot(1,2,1); stem(w(1:60)*pi, abs(X(1:60))); xlabel('w'); ylabel('X'); title('幅度频谱'); subplot(1,2,2); stem(w(1:60)*pi, ang; ``` 通过以上实践案例,学生可以学习到如何使用MATLAB编程实现离散时间傅立叶变换和快速傅立叶变换,进而分析信号的频域特性。这些实践案例帮助学生深入理解信号处理中的关键概念,并提高他们的编程能力和实践操作能力。通过这些实践案例的学习,学生可以更好地应用所学知识解决实际工程问题,为未来的学习和工作打下坚实的基础。
2023-03-01 上传