第4章 Python 数字图像处理(DIP) - 频率域滤波3 - 取样和取样函数的傅里叶变换、混叠

目录

    • 取样和取样函数的傅里叶变换
      • 取样
      • 取样后的函数的傅里叶变换
      • 取样定理
      • 混叠
      • 由取样后的数据重建(复原)函数

取样和取样函数的傅里叶变换

取样

fˉ(t)=f(t)sΔT(t)=∑n=−∞∞f(t)δ(t−nΔT)(4.27)\bar f(t) = f(t)s_{\Delta T}(t) = \sum_{n=-\infty}^{\infty}f(t) \delta(t - n\Delta T) \tag{4.27}fˉ(t)=f(t)sΔT(t)=n=f(t)δ(tnΔT)(4.27)
fk=∫−∞∞f(t)δ(t−kΔT)dt=f(kΔT)(4.28)f_k = \int_{-\infty}^{\infty} f(t)\delta(t - k\Delta T) dt = f(k\Delta T) \tag{4.28}fk=f(t)δ(tkΔT)dt=f(kΔT)(4.28)

# 取样
x = np.arange(-10, 10, 0.01)
y_1 = 1.5 - np.sin(x)fig = plt.figure(figsize=(9, 6))
ax_1 = setup_axes(fig, 211)
ax_1.plot(x, y_1), ax_1.set_title('f(t)', loc='center', y=1.05), ax_1.set_ylim([0, 4]), ax_1.set_yticks([]), ax_1.set_xticks([])x_2 = x[::50]
y_2 = y_1[::50]
ax_2 = setup_axes(fig, 212)
ax_2.scatter(x_2, y_2), ax_2.set_title('f_k', loc='center', y=1.05), ax_2.set_ylim([0, 4]), ax_2.set_yticks([]), ax_2.set_xticks([])plt.tight_layout()
plt.show()

在这里插入图片描述

取样后的函数的傅里叶变换

取样后的函数fˉ(t)\bar f(t)fˉ(t)的傅里叶变换Fˉ(μ)\bar F(\mu)Fˉ(μ)
Fˉ(μ)=J{fˉ(t)}=J{f(t)sΔT(t)}=(F⋆S)(μ)(4.29)\bar F(\mu) = \mathfrak{J} \{ \bar f(t) \} = \mathfrak{J} \{ f(t) s_{\Delta T}(t)\} = (F \star S)(\mu) \tag{4.29}Fˉ(μ)=J{fˉ(t)}=J{f(t)sΔT(t)}=(FS)(μ)(4.29)

S(μ)=1ΔT∑n=−∞∞δ(μ−nΔT)(4.30)S(\mu) = \frac{1}{\Delta T} \sum_{n=-\infty}^{\infty} \delta(\mu - \frac{n}{\Delta T}) \tag{4.30}S(μ)=ΔT1n=δ(μΔTn)(4.30)

所以有
KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲ \bar F(\mu) & …

# 过取样、临界取样和欠取样
x = np.arange(0, 6, 0.01)
y = 2 - x
y = np.where(x <= 2, y, 0)
x_1 = np.concatenate((-x[::-1], x), axis=0)
y_1 = np.pad(y, (y.shape[0], 0), mode='reflect')fig = plt.figure(figsize=(10, 8))
# 带限函数的傅里叶变换
ax_1 = setup_axes(fig, 411)
ax_1.plot(x_1, y_1), ax_1.set_title('F(u)', loc='center', y=1.05), ax_1.set_ylim([0, 3]), ax_1.set_yticks([]), ax_1.set_xticks([])# 过取样
y_2 = y_1[600-250:600+250]
y_2 = np.tile(y_2, 5)
x_2 = np.linspace(-6, 6, y_2.shape[0])ax_2 = setup_axes(fig, 412)
ax_2.plot(x_2, y_2), ax_2.set_title('F(u)', loc='center', y=1.05), ax_2.set_ylim([0, 3]), ax_2.set_yticks([]), ax_2.set_xticks([])# 临界取样
y_3 = y_1[600-200:600+200]
y_3 = np.tile(y_3, 5)
x_3 = np.linspace(-6, 6, y_3.shape[0])ax_3 = setup_axes(fig, 413)
ax_3.plot(x_3, y_3), ax_3.set_title('F(u)', loc='center', y=1.05), ax_3.set_ylim([0, 3]), ax_3.set_yticks([]), ax_3.set_xticks([])# 欠取样
y_4 = y_1[600-200:600+200]
y_4 = np.where(y_4 > 1, y_4, 1)
y_4 = np.where(y_4 > -1, y_4, 1)
y_4 = np.tile(y_4, 5)
x_4 = np.linspace(-6, 6, y_4.shape[0])ax_4 = setup_axes(fig, 414)
ax_4.plot(x_4, y_4), ax_4.set_title('F(u)', loc='center', y=1.05), ax_4.set_ylim([0, 3]), ax_4.set_yticks([]), ax_4.set_xticks([])plt.tight_layout()
plt.show()

在这里插入图片描述

取样定理

  • 带限函数

    • 对于以原点为中心的有限区间(带宽)[−μmax,μmax][-\mu_{max}, \mu_{max}][μmax,μmax]外的频率值,傅里叶变换为零的函数
  • 奈奎斯特定理

    • 如果以超过函数最高频率2倍的取样率来得到样本,那么连续带限函数就能够完全由其样本集复原

1ΔT>2μmax(4.32)\frac{1}{\Delta T} > 2 \mu_{max} \tag{4.32}ΔT1>2μmax(4.32)

  • 低通滤波器
    Hμ={ΔT,−μmax≤μ≤μmax0,others(4.33)H{\mu} = \begin{cases} \Delta T, & -\mu_{max} \leq \mu \leq \mu_{max} \\0, & \text{others} \end{cases} \tag{4.33}Hμ={ΔT,0,μmaxμμmaxothers(4.33)

  • 滤波器乘以傅里叶变换后的函数
    F(μ)=H(μ)F~(μ)(4.34)F(\mu) = H(\mu)\tilde F(\mu) \tag{4.34}F(μ)=H(μ)F~(μ)(4.34)

  • 傅里叶反变换复原f(t)f(t)f(t):
    f(t)=∫−∞∞F(μ)ej2πμtdμ(4.35)f(t) = \int_{-\infty}^{\infty} F(\mu) e^{j2\pi\mu t} d\mu \tag{4.35}f(t)=F(μ)ej2πμtdμ(4.35)

# 采样、滤波
x = np.arange(0, 6, 0.01)
y = 2 - x
y = np.where(x <= 2, y, 0)
x_1 = np.concatenate((-x[::-1], x), axis=0)
y_1 = np.pad(y, (y.shape[0], 0), mode='reflect')fig = plt.figure(figsize=(10, 8))# 取样
y_2 = y_1[600-250:600+250]
y_2 = np.tile(y_2, 5)
x_2 = np.linspace(-6, 6, y_2.shape[0])# 带限函数的傅里叶变换
ax_1 = setup_axes(fig, 311)
ax_1.plot(x_2, y_2), ax_1.set_title(r'\tilde F(u)', loc='center', y=1.05), ax_1.set_ylim([0, 3]), ax_1.set_yticks([]), ax_1.set_xticks([])x_1 = np.linspace(-6, 6, y_2.shape[0])
y_3 = np.where(x_1, x_1 >= -1, 0)
y_3 = np.where(x_1 <= 1, y_3, 0)ax_3 = setup_axes(fig, 312)
ax_3.plot(x_1, y_3), ax_3.set_title('H(u)', loc='center', y=1.05), ax_3.set_ylim([0, 3]), ax_3.set_yticks([]), ax_3.set_xticks([])# 滤波
y_4 = y_2 * y_3ax_4 = setup_axes(fig, 313)
ax_4.plot(x_1, y_4), ax_4.set_title(r'F(u) = H(u)\tilde F(u)', loc='center', y=1.05), ax_4.set_ylim([0, 3]), ax_4.set_yticks([]), ax_4.set_xticks([])plt.tight_layout()
plt.show()

在这里插入图片描述

混叠

在信号处理领域,混叠是指取样后不同信号变得彼此无法区分的取样现象,或者一个信号“伪装”成另一个信号的现象。

这种称为混叠对, 这种混叠对在取样后是无法区分的。出现这种函数混叠的原因是我们所用的取样率太粗,也就是说欠取样

带限函数的取样率小于奈奎斯特率的话,不管使用何种滤波器器,都不可能分离出来一个周期。也就不可能完美的复原函数。

# 混叠
x = np.arange(0, 6*np.pi, 0.1)y_1 = 2 - np.sin(4 * x)
y_2 = 2 - np.sin(x)sample_1_f = 21
sample_2_f = 21
sample_1 = y_1[::sample_1_f]
sample_2 = y_2[::sample_2_f]
fig = plt.figure(figsize=(14, 8))
plt.subplot(2, 2, 1), plt.plot(x, y_1), plt.xticks([]), plt.yticks([])
plt.subplot(2, 2, 3), plt.plot(x, y_2), plt.xticks([]), plt.yticks([])plt.subplot(2, 2, 2), plt.stem(x[::sample_1_f], sample_1, linefmt='--', markerfmt='o', basefmt='C0-')
plt.xticks([]), plt.yticks([])
plt.subplot(2, 2, 4), plt.stem(x[::sample_2_f], sample_2, linefmt='--', markerfmt='o', basefmt='C0-')
plt.xticks([]), plt.yticks([])
plt.tight_layout()
plt.show()

在这里插入图片描述

由取样后的数据重建(复原)函数

f(t)=J{F(μ)}=J{H(μ)F~(μ)}=h(t)⋆f~(t)(4.37)f(t) = \mathfrak{J} \{ F(\mu) \} = \mathfrak{J} \{ H(\mu) \tilde F(\mu) \} = h(t) \star\tilde f(t)\tag{4.37}f(t)=J{F(μ)}=J{H(μ)F~(μ)}=h(t)f~(t)(4.37)

得到空间域表达式:
f(t)=∑−∞∞f(nΔT)sinc[(t−nΔT)/ΔT](4.38)f(t) = \sum_{-\infty}^{\infty} f(n\Delta T) sinc[(t - n \Delta T) / \Delta T]\tag{4.38}f(t)=f(nΔT)sinc[(tnΔT)/ΔT](4.38)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[转]Android开发,实现可多选的图片ListView,便于批量操作

本文转自&#xff1a;http://www.cnblogs.com/gergulo/archive/2011/06/14/2080629.html 之前项目需要实现一个可多选的图片列表&#xff0c;用户选中一到多张图片后&#xff0c;批量上传。但是网上有可多选普通列表的代码、也有单纯图片列表的代码&#xff0c;却没有两者合并的…

个人信息安全影响评估指南_发布 | 网络安全标准实践指南—移动互联网应用程序(App)收集使用个人信息自评估指南...

关于发布《网络安全标准实践指南—移动互联网应用程序(App)收集使用个人信息自评估指南》的通知信安秘字[2020] 40号各有关单位&#xff1a;为落实《网络安全法》相关要求&#xff0c;围绕中央网信办、工信部、公安部、市场监管总局联合制定的《App违法违规收集使用个人信息行为…

Go的50度灰:Golang新开发者要注意的陷阱和常见错误

Go的50度灰&#xff1a;Golang新开发者要注意的陷阱和常见错误 http://colobu.com/2015/09/07/gotchas-and-common-mistakes-in-go-golang/

android intent和intent action大全

不管是页面牵转&#xff0c;还是传递数据&#xff0c;或是调用外部程序&#xff0c;系统功能都要用到intent。 在做了一些intent的例子之后&#xff0c;整理了一下intent&#xff0c;希望对大家有用。 由于intent内容太多&#xff0c;不可能真的写全&#xff0c;难免会有遗落&a…

第4章 Python 数字图像处理(DIP) - 频率域滤波4 - 单变量的离散傅里叶变换DFT

目录标题单变量的离散傅里叶变换由取样后的函数的连续变换得到DFT取样和频率间隔的关系单变量的离散傅里叶变换 由取样后的函数的连续变换得到DFT 对原函数的变换取样后的业的发展的变换F~(μ)\tilde F(\mu)F~(μ)&#xff0c;但未给出取样后的函数f~(t)\tilde f(t)f~​(t)的…

在线生成 CSS3 的工具

1) CSS Creator – Layout Design 2) CSS Menu Maker 3) CSS3 Please 4) CSS3 Generator 5) CSS Border Radius 6) CSS3 Gradient Generator 7) CSS3 Button Generator 8 ) Mike Plate’s CSS3 Playground 9) Border Image Generator 10) CSS3 WRAP 11) Button Maker 12) Font…

python image 转成字节_就是这么牛!三行Python代码,让数据处理速度提高2到6倍

本文可以教你仅使用 3 行代码&#xff0c;大大加快数据预处理的速度。Python 是机器学习领域内的首选编程语言&#xff0c;它易于使用&#xff0c;也有很多出色的库来帮助你更快处理数据。但当我们面临大量数据时&#xff0c;一些问题就会显现……在默认情况下&#xff0c;Pyth…

sessionStorage 、localStorage 和 cookie 之间的区别(转)

essionStorage 、localStorage 和 cookie 之间的区别(转) 2012-05-08 14:29:19| 分类&#xff1a; HTML5CSS3WEBAPP|举报|字号 订阅 sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的&#xff0c;可以方便的在web请求之间保存数据。有了本地数据&#xff0c;…

删除文件夹里的图片,打印删除日志

1 #region 僵尸文件夹中的文件如果不在活文件列表中&#xff0c;删之2 List<string> deadfile new List<string>();3 foreach(string str in lstZombileDic)4 {5 if(Direct…

第4章 Python 数字图像处理(DIP) - 频率域滤波5 - 二变量函数的傅里叶变换、图像中的混叠、二维离散傅里叶变换及其反变换

目录二变量函数的傅里叶变换二维冲激及其取样性质二维连续傅里叶变换对二维取样和二维取样定理图像中的混叠二维离散傅里叶变换及其反变换二变量函数的傅里叶变换 二维冲激及其取样性质 两个连续变量的冲激函数定义为&#xff1a; δ(t,z){1,tz00,others(4.52)\delta(t, z) …

巧用VC工程下的rc文件

巧用VC工程下的rc文件(发表时间: 2008-12-30 17:20:00) 【评论】 【打印】 【字体&#xff1a;大 中 小】 本文链接&#xff1a;http://blog.pfan.cn/miaowei/40117.html 复制链接 分享到&#xff1a; 0标签:VC rc文件 资源文件 窗口尺寸设置 添加资源 纵观真个的VC工程&a…

蓝桥杯 参考题目 黄金队列(水题)

黄金分割数0.618与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的0.618处&#xff0c;墙上的画像一般也挂在房间高度的0.618处&#xff0c;甚至股票的波动据说也能找到0.618的影子.... 黄金分割数是个无理数&#xff0c;也就是无法表示为两个整数的比值。0.618只…

QC4+充电协议_一文看懂各家充电协议!总算彻底理清了

五一小长假马上就要到了&#xff0c;虽说今年的五一小长假是一个长达5天的“Plus”版小长假&#xff0c;但是受到疫情的影响&#xff0c;大多数人还是选择了在家中度过这个假期。既然说到了宅在家里度过这个假期&#xff0c;那么很多人都会选择让手机来陪伴自己度过。虽然最近几…

vi编辑器选项

Vi编辑器有一些选项设置可以帮助人们更好的使用。 在vi中选项分为两种: 1、 开关选项&#xff0c;如果要打开这类选项就使用ex命令——&#xff1a;set 选项&#xff1b;如果要关闭这类选项就是用ex命令——&#xff1a;set no选项&#xff08;注意no和选项之间没有空格&…

javascript作用域容易记错的两个地方

1.function fun() { var a"rxm"; b"cwr"; } alert(a);//错误&#xff0c;a局部变量 alert(b); //"cwr",b全局变量。 2. var a"rxm"; function fun() { alert(a);var a"123"; alert(a); }fun();alert(a); 输出结果&#xff1…

第4章 Python 数字图像处理(DIP) - 频率域滤波6 - 二维DFT和IDFT的一些性质 - 平移和旋转、周期性、对称性

目录二维DFT和IDFT的一些性质空间间隔和频率间隔的关系平移和旋转周期性对称性二维DFT和IDFT的一些性质 空间间隔和频率间隔的关系 Δu1MΔT(4.69)\Delta u \frac{1}{M \Delta T} \tag{4.69}ΔuMΔT1​(4.69) Δv1NΔZ(4.70)\Delta v \frac{1}{N \Delta Z} \tag{4.70}ΔvNΔ…

类图 示例

神州六号飞船是神州飞船系统的一种&#xff0c;它由轨道舱、返回舱、推进舱和逃逸求生塔等组成&#xff1b;航天员可以在返回舱内驾驶飞船&#xff0c;轨道舱由是航天员工作和休息的场所。在紧急的情况下&#xff0c;可以利用逃逸求生塔逃生。在飞船两侧有多个太阳能电池翼&…

bat 命令返回结果_bat教程[284] unzip解压

古树屋Click to follow us(1)unzip命令的简介C:\Users\86137\Desktop>unzip -hUnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler. Sendbug reports using http://www.info-zip.org/zip-bug.html; see README for details.Usage: unzip [-Z] [-opts[mo…

K/3 MRP运算数据不准的原因及解决方案

系统MRP计算的结果不正确, 经过分析系统的数据&#xff0c;把MRP计算不正确原因整理如下:1.系统中存在大量的生产任务单没有完全领料&#xff0c;但被结案&#xff0c;造成部份领料单窜单领料&#xff0c;最终引起已分配量不正确2.系统中存在大量的手工录入的生产领料单3.存在部…

解压版本的tomcat服务安装

以下适合各个版本的tomcat&#xff08;注意启动时8080端口要确保未被占用&#xff09; 今天搭一个Tomcat服务器,为了方便决定将解压版&#xff08;非windows的安装方式&#xff09;的tomcat添加为一个windows服务。 环境&#xff1a; JDK 1.5.0_06 Tomcat-5.5.20 Windows2003 瑞…