频率域滤波基础(离散傅里叶变换使用填充的缺陷)

本来是个很简单的问题,作者硬是写的这么复杂,翻译还搞错了。重点是我发现作者真正有用的东西没讲到,比如相位和谱如何影响图像。连个转换公式都没有,我只能说作者是在混字数。

首先看关于中心对称是什么意思?我木太明白书上想表达什么,但是中心对称的意思就是以中心为原点旋转180度而相等的意思。

接着看我用红色框出来的地方,其实是利用了表4.1,如下图所示。这里是反变换,所以是HF是实对称函数乘以R+jI,R是偶函数,I是奇函数,所以得到的是HR+jHI,HR是偶函数,HI是奇函数,所以g是实函数。

继续讲上面的内容:上面讲到了低通滤波器和高通滤波器。低频和灰度变化缓慢有关,高频和灰度变化较快。重点来了------对比度和锐化的关系,我使用下图进行说明。

书上说低通滤波器会模糊图像,图4.31的a是低通滤波器,因为在靠近图像中心的位置数值大,本来傅里叶变换的频率域的中心在原点,但是这里移动了,具体解释看书上的图4.23。(我没懂负频率的物理意义,但是百度发现在调制信号的时候都是频率混合,负频率能降低高频也是有意义的。这里的移动把负频率都移动到正频率了,感觉很新奇,但是也没有什么不对劲的地方。)总之图4.31d确实模糊了,这没有问题。而图4.31c是高通滤波器,并且最小值也是大于0,意味着直流项保留了下来,这个滤波器的图增强尖锐细节,而对比度降低了吗?

说实话,我发现滤波之后的图像更清晰了,因为锐化了。但是对比度看的是最亮和最暗的明暗区域,是什么意思?百度说对比度是整张图的最亮和最暗。局部变化缓慢的区域,被衰减了,即是灰度值减小了,这会造成变暗。但是有个矛盾的地方,就是亮的区域灰度值变化缓慢会被模糊,但是亮和暗的边界的周围的区域中,又会把把亮的提高,暗的降低。这是降低对比度?感觉有点像,因为最亮和最暗不是一个像素点,因为这样看不到的,而是能看到的最亮区域,如果被模糊了,所谓的模糊就是和周围像素求均值了,那么最亮的会被拉低,最暗的会被提高灰度级,那么确实对比度降低了。所以锐化和对比度不矛盾。对比度是整体的明暗对比,而锐化是局部的相邻像素的明暗对比。提高相邻像素的对比值,降低整体明暗的对比是合理的。

现在理解图4.32。边缘部分是位于高频区域,被衰减了,那么会造成模糊,这和之前的说法一样,因为减弱了原图的边缘的对比效果,减弱的方式居然是模糊。为什么图像的顶部的两侧需要被模糊呢?这个例子很愚蠢,因为公式4.7.1没有卷积,硬是整出卷积出来了。直接算就是图4.32c的效果。

接下里是重点问题了,如何理解图4.34。由于m个点的离散函数f在填充零之后变成f1,f和f2的傅里叶变换和反变换都是不一样的。这意味着书上的这个过程---如下图所示----得不到原来的频率域的滤波器了。(需要注意的是本来图4.34是周期函数,周期为256-1,但是填充之后周期为512-1,填充减去1是因为不需要完全滑过,之前解释了二维的。这是小问题,关键是周期变化了值得注意。)

书上上面的内容翻译有问题,不是期望,而是认为。后面的内容说的没啥意思,不知道在说什么,不管了。

好的!以下是关于MATLAB中轴承故障诊断涉及的傅里叶变换和包络谱图的相关介绍: ### 轴承故障诊断中的傅里叶变换和包络谱分析 #### 傅里叶变换 (Fourier Transform) 傅里叶变换是一种将信号从时间域转换到频率域的重要数学工具,在轴承振动数据分析中有广泛应用。通过傅里叶变换,可以提取出振动信号的主要频率成分及其幅值分布。 - **应用背景**:轴承在运行过程中会产生特定的振动信号,当发生缺陷时(如滚珠损伤),会激发出某些特征频率(例如内圈、外圈、滚动体等对应的固有频率)。利用傅里叶变换对原始振动数据进行频谱分析可以帮助我们识别这些特征频率。 - **优势**: - 清晰展示信号的能量分布在哪些频率上; - 可发现由于机械部件损坏导致的新频率分量增加的现象; #### 包络谱图 (Envelope Spectrum Analysis) 对于早期轻微轴承故障来说,直接观察普通FFT结果往往难以察觉异常情况,因为噪声和其他干扰因素可能会掩盖掉微弱的故障信息。此时需要借助于“解调技术”——即先求取振荡波形的幅度变化趋势(称为"包络")再做进一步处理得到更深层次的信息。 - **基本原理**: 先对采集来的高速采样率下的振动加速度信号实施带通滤波操作聚焦目标区域内的高频段; 然后计算该过滤后的信号绝对值得其近似表示信封线, 最后再对该封装曲线再次运用快速离散傅立葉轉換(Fast Fourier Transformation),最终获得的是反映低频范围内的周期性冲击活动所形成的包络谱图. - **实际意义**: - 提高了检测灵敏度,能够有效揭示隐藏较深的小型损害迹象; - 更精准定位各种类型的轴承失效模式及相应位置参数; --- ### 示例 MATLAB 实现流程概述 ```matlab % 加载实验数据并预览 load('bearing_signal.mat'); plot(timeData,sensorSignal); % 完成带通滤波设定区间保留有用部分去除无关杂音影响 filteredSig = bandpass(sensorSignal,[f_low f_high],fs); % 计算Hilbert变换获取包络 env = abs(hilbert(filteredSig)); % 再次执行 FFT 得出包络谱 Nfft = length(env); freq_vector = linspace(0,(fs/2),floor(Nfft/2)+1)'; spectrumEnv = fftshift(abs(fft(env,Nfft))); figure(); plot(freq_vector , spectrumEnv(floor(end/2+1):end)); title("Enveloped Spectrum"); ``` 以上代码为示例框架简化版,完整工程还需考虑更多细节优化步骤如窗函数设计、零填充等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值