专栏
标签
分享4 矩形脉冲的傅里叶变换演示
技术分享
发布于 2024-09-27 21:13:06
查看 45过去639天

矩形脉冲的傅里叶变换,在信号的傅里叶变换中具有比较典型的意义

已知幅度为1,持续时间为τ的矩形脉冲(如图所示)其傅里叶变换为τSa(πfτ)=τSa(ωτ/2)

image.png

从相关变换结果及傅里叶变换的性质可知,脉冲越窄即信号在时域被压缩,则信号的频域将被拓展即第一过零点将被展宽。

接下来我们就用MWORKS中的Syslab来演示这个性质,通过下面的演示程序可以帮助我们:

1.初步了解Julia中的fft()函数使用;

2.基本了解频谱的绘制;

3.掌握矩形脉冲的傅里叶变换以及傅里叶变换的一个基本性质。

fs=200 #采样频率
t=LinRange(-0.5,0.5,fs)#时间轴长度及分度
τ=0.05  #高电平持续时间  
        #=矩形脉冲函数rectpuls(t,τ),其中T为高电平持续时间,分别给出三种不同宽度的脉冲,
         宽度分别为τ、0.5τ、1.5τ=#
x = rectpuls(t,τ) 
x1=rectpuls(t,0.5*τ)
x2=rectpuls(t,1.5*τ)
        #绘制时域波形
ax1=subplot(2, 1, 1)
ax2=subplot(2, 1, 2)
plot(ax1,t,x,t,x1,t,x2)
xlabel("Time (s)")
ylabel("Magnitude")
title("矩形脉冲的傅里叶变换演示")
        #对时域信号做快速傅里变换获得频域数据
y=fft(x)
y1=fft(x1)
y2=fft(x2)
         #由于在理论上我们获得的是双边谱,即正负频率都有。
         #因此需要对fft后的信号做移动将0频信号移到中心,可以采用fftshift()函数
yshift=fftshift(y)
y1shift=fftshift(y1)
y2shift=fftshift(y2)
         #确定绘制频谱图的横轴
fshift=LinRange(-1,1,length(yshift))
f1shift=LinRange(-1,1,length(y1shift))
f2shift=LinRange(-1,1,length(y2shift))
         #绘制频谱图
plot(ax2,fshift,abs.(yshift),f1shift,abs.(y1shift),f2shift,abs.(y2shift))
xlabel("Frequency (Hz)")
ylabel("Magnitude")

image.png
image.png

所属专栏:Julia语言
产品信息:Syslab科学计算环境
科学计算

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天