声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 7068|回复: 19

[综合] COT算法中的降采样过程中带来的频率混叠演示

  [复制链接]
发表于 2013-2-5 11:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本帖最后由 impulse 于 2013-2-5 11:29 编辑

COT由于最初的同步采样过程中采频率很高,因此在最后一个环节抗混叠滤波和信号抽取(即降采样)中,如果没有使用低通滤波,并且原始信号中存在大于降采样频率二分之一的频率成分,就会产生混叠现象。以下为演示代码
  1. %演示COT算法中的降采样过程中带来的频率混叠。
  2. %代码很简单,信号是定频率的,实际COT过程远比这个复杂,因为频率是变化的。
  3. %原始信号中包含一个有用信号(64Hz)以及一个干扰频率信号(300Hz),由于COT的第一步要求以非常高的采%样频率进行同步采样,比如代码中的sf=4096Hz,这个干扰信号被采集进来,而在COT最后一步的将采样过程中%,如代码中的sf1=512Hz即8倍抽取,如果不使用低通滤波器(抗混),就会产生频率混叠现象(出现了217Hz频%率成分)。


  4. clc
  5. clear
  6. f=64;           %有用信号频率
  7. f1=300;         %干扰信号频率
  8. sf=4096;        %原始采用频率     
  9. Ls=4096*4;      %原本个数

  10. t=0:1/sf:(Ls-1)/sf;
  11. x=sin(2*pi*f*t) + 0.25*sin(2*pi*f1*t+pi/3);

  12. y=2*abs(fft(x))/Ls;
  13. fx=0:sf/Ls:(Ls-1)*sf/Ls;

  14. figure(1)
  15. subplot(211)
  16. plot(t,x)
  17. xlabel('时间:s')
  18. ylabel('速度;mm/s')
  19. title('原始信号')
  20. subplot(212)
  21. L=Ls/4;
  22. plot(fx(1:L),y(1:L))
  23. xlabel('频谱:Hz')
  24. ylabel('速度;mm/s')
  25. title('原始信号频谱')

  26. sf1=512;                %降采样频率
  27. D=sf/sf1;               %信号抽取倍数
  28. x1=downsample(x,D);     %信号抽取降采样,未加低通滤波器
  29. Ls1=length(x1);
  30. t1=0:1/sf1:(Ls1-1)/sf1;
  31. y1=2*abs(fft(x1))/Ls1;
  32. fx1=0:sf1/Ls1:(Ls1-1)*sf1/Ls1;

  33. figure(2)
  34. L1=Ls1/2;
  35. subplot(211)
  36. plot(t1,x1)
  37. xlabel('时间:s')
  38. ylabel('速度;mm/s')
  39. title('降采样信号(未加低通滤波)')

  40. subplot(212)
  41. plot(fx1(1:L1),y1(1:L1))
  42. xlabel('频谱:Hz')
  43. ylabel('速度;mm/s')
  44. title('降采样信号频谱(发生了频率混叠)')

  45. x2=decimate(x,D);       %信号抽取降采样,采用8阶Chebyshev低通滤波器
  46. figure(3)
  47. y2=2*abs(fft(x2))/Ls1;
  48. subplot(211)
  49. plot(t1,x2)
  50. xlabel('时间:s')
  51. ylabel('速度;mm/s')
  52. title('降采样信号(加了低通滤波)')

  53. subplot(212)
  54. plot(fx1(1:L1),y2(1:L1))
  55. xlabel('频谱:Hz')
  56. ylabel('速度;mm/s')
  57. title('降采样信号频谱')
复制代码
1、原始信号和频谱
fig1.PNG
2、重采样信号和频谱(未加低通滤波,发生了频率混叠)
fig2.PNG
3、重采样信号和频谱(加了低通滤波,不发生频率混叠)
fig3.PNG


本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2013-2-5 11:51 | 显示全部楼层
LZ您好,信号处理方便我知之甚少;有2个问题想向您请教下,1有没有可能我们过采样时选择相对低些的频率尽可能避免引入噪声 2 降采样后低通滤波器的选择依据,该低到多少呢?
 楼主| 发表于 2013-2-5 11:54 | 显示全部楼层
本帖最后由 impulse 于 2013-2-5 11:57 编辑


1、这个频率你自己是决定不了的,因为阶比跟踪你就得按转频的倍数去采样(阶比数*2),转速变了,你的重采样频率也要跟着变化
2、开始的过采样你如果频率太低,键相脉冲的处理精度就不够,直接导致你的重采样样本时间序列不准确,导致重采样信号相位出现误差。
发表于 2013-2-5 12:21 | 显示全部楼层
impulse 发表于 2013-2-5 11:54
1、这个频率你自己是决定不了的,因为阶比跟踪你就得按转频的倍数去采样(阶比数*2),转速变了,你的重 ...

谢谢 低通滤波器的选择是否要相对于转速进行调整?
 楼主| 发表于 2013-2-5 12:22 | 显示全部楼层
lv_arthur 发表于 2013-2-5 12:21
谢谢 低通滤波器的选择是否要相对于转速进行调整?

是的,因为重采样频率根据转速调整。
发表于 2013-2-5 14:35 | 显示全部楼层
impulse 发表于 2013-2-5 12:22
是的,因为重采样频率根据转速调整。

请问lz,重采样之前的低通滤波器截止频率是如何设定的。
我的想法是:设定为重采样频率的1/2,重采样频率=键相脉冲频率*N(N为每周期重采样数),键相脉冲频率即为转速频率。
所以实际的低通截止频率跟由转速频率决定,但转速是变化的,那滤波频率要实时调整吗?
另外还想问下lz,重采样中,每周采的点数怎么决定,有什么说法没?非常感谢!!
 楼主| 发表于 2013-2-5 14:41 | 显示全部楼层
本帖最后由 impulse 于 2013-2-5 14:45 编辑
magicsong2008 发表于 2013-2-5 14:35
请问lz,重采样之前的低通滤波器截止频率是如何设定的。
我的想法是:设定为重采样频率的1/2,重采样频率 ...


是的,滤波器频率要实时调整,每周采样点数根据你需要的倍频数决定,如果你想得到最大64倍频的频谱,也即阶比数为64,那么你每周就得采集128个点。
发表于 2013-2-5 14:50 | 显示全部楼层
impulse 发表于 2013-2-5 14:41
是的,滤波器频率要实时调整,每周采样点数根据你需要的倍频数决定,如果你想得到最大64倍频的频谱,也 ...

可是有个问题,低通滤波频率是对一组数据而言的,而转速是不断变化的。
比如说,我采1024个点,这组数据统一设定一个滤波频率,可是这1024点内,转速是不均匀的。
 楼主| 发表于 2013-2-5 14:55 | 显示全部楼层
magicsong2008 发表于 2013-2-5 14:50
可是有个问题,低通滤波频率是对一组数据而言的,而转速是不断变化的。
比如说,我采1024个点,这组数据 ...


这也就是NI的技术所在,即使一组数据里面转速时是变化的,它还是能够处理好。并且它只需要计算一组滤波器系数即可,系数是不随着转速变化而变。
发表于 2013-2-5 14:58 | 显示全部楼层
impulse 发表于 2013-2-5 14:55
这也就是NI的技术所在,即使一组数据里面转速时是变化的,它还是能够处理好。并且它只需要计算一组滤波 ...

受教了,请问lz是NI的工程师吗?
 楼主| 发表于 2013-2-5 15:00 | 显示全部楼层
magicsong2008 发表于 2013-2-5 14:58
受教了,请问lz是NI的工程师吗?

不是,只不过是对COT有些兴趣,对NI的VI有一点小小的研究。
发表于 2013-2-20 11:07 | 显示全部楼层
大侠,关于COT滤波还有个疑问请教。
对于变转速信号来说,转频是变化的,这就造成重采样频率(fs=2*阶比*转频)时刻变化。如果我用fs/2来滤波,那滤波器截止频率要实时调整,好像做不到。可否对每组采样数据设一个最低采样频率?如果可以,这个最低采样频率如何设?
 楼主| 发表于 2013-2-20 11:17 | 显示全部楼层
本帖最后由 impulse 于 2013-2-20 11:20 编辑
magicsong2008 发表于 2013-2-20 11:07
大侠,关于COT滤波还有个疑问请教。
对于变转速信号来说,转频是变化的,这就造成重采样频率(fs=2*阶比*转 ...

重采样频率肯定要跟着变化,数值信号处理情况下是可以实现的,其实如果不要求实时处理,这个是很简单的,但是实时的话,处理起来就麻烦一些,国外很多商业软件做到了实时,我也做到了
发表于 2013-2-20 13:03 | 显示全部楼层
impulse 发表于 2013-2-20 11:17
重采样频率肯定要跟着变化,数值信号处理情况下是可以实现的,其实如果不要求实时处理,这个是很简单的, ...

如果不实时处理,比如采1024个点处理一次,那这组数据的滤波频率要怎么设呢?
 楼主| 发表于 2013-2-20 14:36 | 显示全部楼层
magicsong2008 发表于 2013-2-20 13:03
如果不实时处理,比如采1024个点处理一次,那这组数据的滤波频率要怎么设呢?

根据信号基频确定,假如需要得到64倍频,那么就应该128倍插值,抗混叠滤波截止频率就是64*基频
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-29 04:00 , Processed in 0.128420 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表