赵哥们 发表于 2013-6-27 21:55

如何编程对一组离散数据求取三次谐波的幅值和频率!!!!!

本帖最后由 赵哥们 于 2013-6-27 21:56 编辑

如何编程对一组离散数据求取三次谐波的幅值和频率!!!!!请各位高手指点!
这组数据是我从其他的仿真软件中得到的数据,得到如下频谱分析图形!编程如下:程序如下:
clear all;
Fs=10000;
N=100;
t=;
s=xlsread('径向力频谱分析.xlsx','E4:E103');
Y=fft(s,N);
Ayy=abs(Y);
Ayy=Ayy/(N/2);
Ayy(1)=Ayy(1)/2;
F=(-1)*Fs/N;
bar(F(1:N/2),Ayy(1:N/2),0.5);
axis();title('振幅-频率曲线图');
现将得到的频谱图和数据上传;
我现在想做的是如何编程求解三次谐波的幅值和频率;

赵哥们 发表于 2013-6-28 12:37

啊,有没有人可以指点一下啊

ChaChing 发表于 2013-7-1 00:25

个人水平/时间有限, 仅感觉LZ或许需先指点一下什麼是"三次谐波"!?

赵哥们 发表于 2013-7-1 09:00

ChaChing 发表于 2013-7-1 00:25 static/image/common/back.gif
个人水平/时间有限, 仅感觉LZ或许需先指点一下什麼是"三次谐波"!?

比如一个信号是频率f=50HZ的信号,如果系统是非线性的,可能就会产生2f、3f、4f。。。等频率的分量,就是谐波,三次谐波就是频率为3f的,我是这样理解的。但是我不会编程求取各次谐波幅值,能帮我看看这个语句吗,前面编程什么采样频率啊,采样点都一样的编程,后面多出Base=max(mag);plot(f(1:N/250)*100/(Base));是什么意思啊,系统信号是f=50HZ的

impulse 发表于 2013-7-1 09:25

赵哥们 发表于 2013-7-1 09:00 static/image/common/back.gif
比如一个信号是频率f=50HZ的信号,如果系统是非线性的,可能就会产生2f、3f、4f。。。等频率的分量,就是 ...

搜一下“离散频谱校正”就可以了

赵哥们 发表于 2013-7-1 10:31

impulse 发表于 2013-7-1 09:25 static/image/common/back.gif
搜一下“离散频谱校正”就可以了

谢谢您,不过我还是没有找到,

ChaChing 发表于 2013-7-1 11:46

赵哥们 发表于 2013-7-1 09:00 static/image/common/back.gif
比如一个信号是频率f=50HZ的信号,如果系统是非线性的,可能就会产生2f、3f、4f。。。等频率的分量,就是 ...

1.实在不喜欢一帖多发的情况, 感觉版面不利个人学习
2.其实个人老到大概知晓三次谐波是什麼, 即使不懂也可google下! 只是提醒LZ注意下交代清楚, 愈容易得到协助
3.个人感觉LZ也需要学习下信号处理吧
4.针对原始读入资料, 建议一定要先看下并预处理下, 注意不是任何信号都直接fft吧!
5.有一大的DC值及jump, 可能都影响高频的判读
6.点数过少, 频率分辨率过大, 可能影响频率的準确判读clc; clear; close all
s=load('data.txt'); Fs=10000; N=100; t=/Fs;
figure; plot(t,s,'o-'); grid on
sig=s(21:end); sig=sig-mean(sig); N=length(sig); figure; plot(sig,'o-'); grid on

Y=fft(sig); Ayy=abs(Y(1:N/2))/N*2; Ayy(1)=Ayy(1)/2; F=(0:N/2-1)*Fs/N;
figure; plot(F,Ayy);title('振幅-频率曲线图'); grid on
N=1024; Y=fft(sig,1024); Ayy=abs(Y(1:N/2))/N*2; Ayy(1)=Ayy(1)/2; F=(0:N/2-1)*Fs/N;
figure; plot(F,Ayy);title('振幅-频率曲线图'); grid on

赵哥们 发表于 2013-7-1 17:07

ChaChing 发表于 2013-7-1 11:46 static/image/common/back.gif
1.实在不喜欢一帖多发的情况, 感觉版面不利个人学习
2.其实个人老到大概知晓三次谐波是什麼, 即使不懂也 ...

恩恩,不好意思,不会再一贴多发了,多谢,自己确实需要再好好看看书,谢谢!

xiaoqiuqiu 发表于 2013-7-1 18:03

不知道哦
页: [1]
查看完整版本: 如何编程对一组离散数据求取三次谐波的幅值和频率!!!!!