对数字信号处理中各种频率以及分辨率的理解

(此处仅是一个学生的理解,如有错误还请指正)

频率有哪些

首先,对于模拟频率与数字频率,有“频率”与“角频率”之分。频率一般用f来表示,角频率中模拟角频率经常用\Omega来表示,数字角频率经常用\omega表示。采样频率只有频率一说。

具体的物理意义可以参考模拟频率与数字频率_深入理解数字信号处理-CSDN博客_数字频率

这里面提到的一个公式\omega=\Omega/f_{s}建立了采样前与采样后角频率的关系

因为\Omega=2\pi f,所以\omega=2\pi f/f_{s},由奈奎斯特采样定理可知2f_{max}<=f_{s},且f\in [-f_{max},f_{max}],所以\omega\in [-\pi,\pi],也可以换成[0,2\pi]

我们又知道,DFT可以对采样后信号进行频谱分析,DFT分析出的是在[-\pi,\pi]上均匀采样的N个点处的频率值,即k(2\pi /N),通过上面那个公式换算回模拟角频率就是k(f_{s}/N)(因为\omega=\pi对应着f=f_{s})。可以看到,这里的模拟角频率的间隔就是“频率分辨率”。

《数字信号处理简明教程》中提到频率分辨率又分为物理频率分辨率和计算频率分辨率。具体如下:

这里的差别就是实际采样数并不一定等于我们计算DFT时的N的数,因为我们可以补很多个零来缓解栅栏效应。补零并不影响采样序列的DTFT的计算,只是改变了DFT在DTFT上采样的N个位置,相当于栅栏变细了,计算频率分辨率更好了。

但是物理频率分辨率是与因为采样加窗等操作导致的频谱泄露相关的,因为频谱泄露会使某两个频率变得不可区分。物理频率分辨率也就是和采样序列的DTFT最相关的,而非DFT,DFT只是DTFT的采样,DFT的N大意味着更平滑地接近DTFT。

如果采样点过少,使得模拟频率在转换成DTFT得到的数字频率时就已经无法区分了的话,那DFT的N值再大也不可能有所改善,因为DFT补再多的零也只是更密集地对DTFT进行采样。所以也说补零不能改变频谱泄露,不能改变物理频率分辨率。

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MATLAB使用FFT做频谱分析时频率分辨率问题-频率分辨率.rar MATLAB使用FFT做频谱分析时频率分辨率问题 最近做FFT时,使用的采样频率和信号长度的取舍一直没有搞清楚,后来在论坛上发了一个贴子《总结一下使用FFT和维纳-辛钦定理求解PSD问题》(讨论见https://www.ilovematlab.cn/thread-27150-1-1.html,特别感谢会员songzy41,他的问题给了我很大启示),跟帖给了我不少启示,并且让我对“频率分辨率”这个概念有了更深入的理解。再次一并感谢论坛的高手们。 频率分辨率,顾名思义,就是将信号两个靠的很近的频谱分开的能力。 信号x长度为Ts,通过傅氏变换后得到X,其频率分辨率为Δf=1/T(Hz),若经过采样后,假设采样频率为fs=1/Ts,而进行频谱分析时要将这个无穷长的序列使用窗函数截断处理,假设使用矩形窗,我们知道,矩形窗的频谱为sinc函数,主瓣宽度可以定义为2*pi/M,M为窗宽,那么,时域相乘相当于频域卷积,频域内,这一窗函数能够分辨出的最近频率肯定不可能小于2*pi/M了,也就是如果数据长度不能满足2*pi/M<|w2-w1|(w2,w1为两个靠的很近的频率),那么在频谱分析时,频谱上将不能分辨出这两个谱,由于w2-w1=2*pi/fs=2*pi*Δf/fs也就是2*pi/M<2*piΔf/fs,得到Δf的限制为fs/M,这就是窗函数宽度的最小选择,就是说,根据Shannon采样定理确定了采样频率后,要根据靠的最近的谱峰来确定最小的采样长度,这样,所作出来的频谱才能分辨出那两个谱峰,也就是拥有了相应的频率分辨率。 几个例子: 考虑双正弦信号:x = sin sin;根据Shannon采样定理,采样频率要大于截止频率的两倍,这里选采样频率为80,那么,我们可以看到,Δf为0.2Hz,那么,最小的数据长度为0.2/80=400,但是对正弦信号的频谱分析经验告诉我们,在截断时截断时的数据要包含整周期,并且后面不宜补零以避免频谱泄露(这一点见胡广书《数字信号处理导论》,清华大学出版社),那么,我们要选择至少980个点,才能保含到一个整周期,另外,FFT的经验告诉我们作分析时最好选择2的整数次幂,我们选择靠的最近的1024点。分析结束。 [CODE] Fs = 80; n = 0:1/Fs:1023*1/Fs; x = sin sin; N = length; figure; X = fftshift); plot*Fs/N,abs*2/N); grid on; axis; 这是按照我们的分析进行的编程和图形 zheng.jpg 可以看出这两个谱峰很好的被分辨开来,9.8Hz不在谱线上,所以幅值不为1,以下是一些对比: [CODE] Fs = 80; n = 0:1/Fs:1023*1/Fs; x = sin sin; N = length; X = fftshift); figure; subplot plot*Fs/N,abs*2/N); grid on; axis; title; n = 0:1/Fs:979*1/Fs; x = sin sin; N = length; X = fftshift); subplot plot*Fs/N,abs*2/N); grid on; axis; title; n = 0:1/Fs:399*1/Fs; x = sin sin; N = length; X = fftshift); figure; subplot plot*Fs/N,abs*2/N); grid on; axis; title; Fs = 20; n = 0:1/Fs:1024*1/Fs; x = sin sin; N = length; X = fftshift); subplot plot*Fs/N,abs*2/N); grid on; axis; title; 结果如下: 1024.jpg 400.jpg 这是我在做FFT以及论坛的问题时所得到的一点启发,不当之处还请大家指正。OO~ 频率分辨率.rar 为了方便大家,我将doc版报告和m文件一起上传,和帖子内容一样。OO~
好的,我明白了,下面是我的回答: 针对这个问题,我们可以使用以下步骤来编写理想低通滤波器: 1.确定采样频率和滤波器截至频率。 在这个问题,我们需要对图像进行处理,因此我们要确定采样频率。一般来说,图像的采样频率就是图像的分辨率,可以通过查看图片的属性获取数值。对于截至频率,我们将其设置为40、100、140三个值进行处理。 2. 计算滤波器的截止频率参数。 在此问题,理想低通滤波器是一个截至频率处呈现出的截止斜率的巴特沃斯滤波器。就是在截止频率处突变,是频率响应波动的直线拟合。它在截止频率之后的频率段上抑制信号,而在截止频率以下的频率段上原样传输。因此,我们需要计算截止频率处的正常化参数Wc,其Wc=2∗截止频率/采样频率。 3. 计算滤波器的数据并绘制频率响应图。 在这个问题,我们需要绘制频谱图。频率响应图将显示滤波器对不同频率的信号的响应。对于低通滤波器,我们需要显示信号通过滤波器后的低频分量的振幅响应,而其它高频分量将被滤波器抑制。由于本题需要绘制三个频率截断的图像,我们可以根据上述方法重复三次绘制,并绘制出不同截止频率值的频谱图。 4. 获取并绘制输入图像的频谱图。 我们需要获取输入图像的幅度谱和相位谱,这至关重要,因为幅度谱将与截至频率和滤波器频率响应相结合,用于构建输出信号。 5.将输入图像与滤波器的频率响应进行卷积。 卷积是将输入信号的每一位与滤波器的每一位相乘合并成一个结果序列的技术。在这里,我们可以将输入图像的幅度谱与滤波器频率响应相乘,以便将输出图像的幅度响应限制在低频区域,使图像变得模糊且不清晰。最后,我们根据卷积后的结果(幅度谱*X+相位谱)绘制输出图像。 6. 查看输出图像和频谱图以及不同频率截止值处理后的结果。 根据上述步骤,我们可以绘制出不同频率截止值得滤波器和经过处理的图像。这些图像和频率响应图将显示各种截止频率下的滤波器处理效果,从而使我们可以评估不同截止频率的重要性。 注意:这个问题只是个简单的例子,实际操作需要更多的实现细节。我建议你深入学习数字信号处理相关的技术,这将帮助你更好理解并编写理想低通滤波器的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

野生的野蛮人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值