微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > 做过FFT的朋友看过来,3x!

做过FFT的朋友看过来,3x!

时间:12-13 整理:3721RD 点击:
现在想对一个数组代表的信号进行FFT变换。这个数组大小为160,每100ms更新一次数据,
全是32位float型数据。应该使用哪种vi才能及时方便的显示信号的Amplitude和Phase呢?
我现在的问题是:我用了Real FFT做实验,测出的频率特性不是实际值。而且这个数组
的大小不是2的整数次幂,我仿佛看到哪里说过这样使用的其实不是FFT,而是一个效率
还算不错的DFT。还有我想让chart或者graph显示频率特性,横坐标怎么设置啊?
请教大家呢,谢谢!
btw:怎么觉得最近人气不怎么旺呢?是不是冬天太冷了?^_^
.68

laview7.0里有一个“tone measuerment”,显示信号的Amplitude和Phase最方便不过了。
.178

我已经在6.1下做了一些工作了,不太想移植到7.0下
请问6.1有相应的vi吗?
.68

没有,这个是7.0的新功能。
但是7.0好像完全兼容6.1做的程序,移植的话因该不是问题。
.178


.178

这几天忙着找工作,都没来得及做这个事,多谢各位朋友和斑竹的关注
我用Real FFT 和 FFT Spectrum(Mag-Phase)都试过,就是频率特性不对
本来该在50Hz出现line的地方,偏偏在20Hz或者更小的地方出现
我发觉自己有个严重的错误,就是我使用这些vi的时候,都是直接对数组进行的变换
而help上输说入的应该是 time signal,那我应该怎么把 数组变为波形信号呢?
是不是用 build cluster 里面的什么东东?我从来没用过。
请大家快快出手相助吧,12月就要交东西了,这个学期事情太多,耽搁了很久了
多谢多谢!
.68

好像是要用“build waveform”加入t0和dt,组成一个波形数据,然后进行fft。
另外,数字信号在进行fft变换的时候好像都会在0HZ附近形成一个极大值——显然它是无
效的,最好剔除掉。
这样因该就没问题了。
.178

我现在用了你说的方法给加入了 t0=0,dt=1/1600(因为我每秒采集1600个点)
然后将数组连到 Y端,输出的就应该是想要的波形了吧?
然后用 FFT Spectrum(Mag-Phase)分析,发觉终于有点动静了, 但是仍然不是
我希望得到的啊?我觉得幅度谱应该是有垂直的line组成的啊,而phase谱应该是
连线组成的,正好与我设计的vi分析的结果对调,而且数值也不对,因为我分析的是
工频信号,就是50Hz,而实际上根本不是。
我输入FFT的数组是160个数组成的数组,是一路电压信号。
等会,我把vi和截屏图都上传上来吧,大家帮看看。
万分感谢!
.68

这是我做的vi,现在问题存在于顺序结构第2帧的右上角,大家帮看看
谢谢!
.68
.68

 FFTASpectrum.vi

这是FFT变换结果的截屏图,大家帮看看
.68

——缺乏其它的sbvi,程序不能运行。
程序中做fft变换的部分好像没有问题。出错的可能是其它地方。
你可以用“sine waveform”作一个简单的正旋波,来检验一下你的fft变换是否正确。
.178

非常感谢!
我现在又换了一个方案,用的是 Amplitude and Phase Spectrum.vi
幅频已经对了,在50Hz出现了220V的尖峰
现在主要是相频不能确信对不对,是一堆比较杂乱的信号,而且还是不连续,
还会动态的变化。具体的波形请看附件。但我用Saber和MATLAB都仿真试过,好
像幅频确实比较像这个样子,所以比较困惑!
.68

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top