声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1632|回复: 4

[综合讨论] 关于相角和幅值的变化,难道真得读图手算?

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

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

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

x
信号处理还处于初级阶段,想请教各位个问题。
测出输入和输出信号,他俩的频率肯定一样。相角和幅值有变化。怎么求相角和幅值的变化?有没好方法?
下面是我现在用的方法
我求出来不对,应该是只有几个频率(含噪声)有幅值和相角变化,但我的结果,所有频率都有幅值相角。我程序如下:

fs = 40000;   %测试频率
s_F = fft(s, 16384);   % s 为测量位移
s_amplitude = abs(s_F);  % 求幅值

f_R = (0 : length(s_F)-1)'*fs / length(s_F);  %求幅频图频率

subplot(2,1,1);
plot(f_R, s_amplitude, 'b--');


s_phase = unwrap(angle(s_F)); % 求相角

subplot(2,1,2);
plot(f_R, s_phase*180/pi, 'r--');

难道真得读图手算?:'(

[ 本帖最后由 sigma665 于 2008-5-5 18:27 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-5-5 18:42 | 显示全部楼层

回复 楼主 的帖子

我看你的程序里,求的是信号的幅值和相角,并没有它们的变化啊

另外,变化的话应该有至少2个信号吧,可是你里面好像就一个
 楼主| 发表于 2008-5-5 21:25 | 显示全部楼层
原帖由 sigma665 于 2008-5-5 18:42 发表
我看你的程序里,求的是信号的幅值和相角,并没有它们的变化啊

另外,变化的话应该有至少2个信号吧,可是你里面好像就一个


谢谢你的回复。

本应该用传递函数表达幅值和相角的变化。但传递函数未知,只能测出输入和输出。我用输出除以输入看幅值、相角变化。但由于输入、输出有幅值变化,硬生生相除,得到结果不正确。只好直接求各自的幅值和相角,然后再比较,结果这个也不对。没想到更好的办法。

不知道有没什么好方法求幅值、相角变化没?
发表于 2008-5-7 08:27 | 显示全部楼层
原帖由 nick9806 于 2008-5-5 18:11 发表
信号处理还处于初级阶段,想请教各位个问题。
测出输入和输出信号,他俩的频率肯定一样。相角和幅值有变化。怎么求相角和幅值的变化?有没好方法?
下面是我现在用的方法
我求出来不对,应该是只有几个频率(含噪声)有幅值和相角变化,但我的结果,所有频率都有幅值相角。

不论楼主的信号s是实际信号还是由计算机产生的信号,在FFT后各个频率分量上都会有数值,其原因:信号中本身有噪声、FFT计算时有泄漏、计算机的有限字长计算引入了误差等等。所以所有频率都有幅值相角,这是正常的。但是只要噪声不大,很容易能从谱图上看到输入(输出)信号。在信号处理版块的话题索引中,有从FFT得幅值和初始相角的帖子,请楼主查一下。

评分

1

查看全部评分

 楼主| 发表于 2008-5-9 04:43 | 显示全部楼层
原帖由 songzy41 于 2008-5-7 08:27 发表

不论楼主的信号s是实际信号还是由计算机产生的信号,在FFT后各个频率分量上都会有数值,其原因:信号中本身有噪声、FFT计算时有泄漏、计算机的有限字长计算引入了误差等等。所以所有频率都有幅值相角,这是正常的。 ...


呵呵,谢了。这下有点概念了。原本以为完全错误呢:loveliness:
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-22 19:45 , Processed in 0.072797 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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