信号处理趣学D6——利用MATLAB画出非周期函数的频谱图

小虎最近试着将窗函数进行傅里叶变换,设这里的 τ = 0.5 \tau=0.5 τ=0.5,然后利用MATLAB试着画出了它的频谱。
ω = { A , ∣ t ∣ < = τ / 2 3 n + 1 , ∣ t ∣ > τ / 2 \omega=\begin{cases} A, & |t|<= \tau /2 \\ 3n+1, &|t|> \tau /2 \end{cases} ω={A,3n+1,t<=τ/2t>τ/2

结果

构造系统如下:
在这里插入图片描述
在这里插入图片描述

代码分析

窗函数系统构造。

syms t w;
ut=sym('heaviside(t+0.5)-heaviside(t-0.5)');

傅里叶变换。

fw=fourier(ut);

画图。

ezplot(fw,[-10*pi,10*pi]);
axis([-10*pi 10*pi -0.3 1]);
grid;
xlabel('\omega');
ylabel('X(\omega)');

完整代码

set(0, 'defaultfigurecolor', 'w');
syms t w;
ut = sym(str2sym('heaviside(t+0.5)-heaviside(t-0.5)')); % function str2sym() should be used in 2020a
fw = fourier(ut);
ezplot(fw,[-10*pi, 10*pi]);
% fplot(fw,[-10*pi, 10*pi]);
axis([-10*pi 10*pi -0.3 1]);
grid;
xlabel('\omega');
ylabel('X(\omega)');

更多

信号处理趣学D0——系列专栏的说明与目录

posted @   狂小虎  阅读(297)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示