信号处理趣学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∣<=τ/2∣t∣>τ/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)');
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于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)